Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ardour {
- ["type"] = "EditorAction",
- name = "Track Stain",
- author = "Nikolaus Gullotta",
- license = "MIT",
- description = [[
- Color codes all tracks according to a categorical scheme. This is my personal scheme, but it is very easy to change the color codes below.
- ]]
- }
- function factory (unused_params)
- return function ()
- local track_table = {}
- local kick_track = {}
- local snare_track = {}
- local hat_track = {}
- local tom_track = {}
- local room_track = {}
- local overhead_track = {}
- local vocal_track = {}
- local bass_track = {}
- local key_track = {}
- local guitar_track = {}
- local string_track = {}
- local track_count = 0
- local kick_count = 0
- local snare_count = 0
- local hat_count = 0
- local tom_count = 0
- local room_count = 0
- local overhead_count = 0
- local vocal_count = 0
- local bass_count = 0
- local key_count = 0
- local guitar_count = 0
- local string_count = 0
- --if you wanted only what tracks you've selected:
- --local selection = Editor:get_selection()
- --for a_track in selection.tracks:routelist():iter() do
- for a_track in Session:get_tracks():iter() do
- track_table[track_count] = a_track --if you wanted to color every track
- if (track_table[track_count]) then
- track_count = track_count + 1
- end
- if string.find (string.lower(a_track:name()), "kick") then
- kick_track[kick_count] = a_track
- end
- if (kick_track[kick_count]) then --if something has been indexed, increment our counter to avoid duplicates
- kick_count = kick_count + 1
- end
- if string.find (string.lower(a_track:name()), "snare") then
- snare_track[snare_count] = a_track
- end
- if (snare_track[snare_count]) then
- snare_count = snare_count + 1
- end
- if string.find (string.lower(a_track:name()), "hat") then
- hat_track[hat_count] = a_track
- end
- if (hat_track[hat_count]) then
- hat_count = hat_count + 1
- end
- if string.find (string.lower(a_track:name()), "tom") then
- tom_track[tom_count] = a_track
- end
- if (tom_track[tom_count]) then
- tom_count = tom_count + 1
- end
- if string.find (string.lower(a_track:name()), "oh") then
- overhead_track[overhead_count] = a_track
- end
- if (overhead_track[overhead_count]) then
- overhead_count = overhead_count + 1
- end
- if string.find (string.lower(a_track:name()), "room") then
- room_track[room_count] = a_track
- end
- if (room_track[room_count]) then
- room_count = room_count + 1
- end
- if string.find (string.lower(a_track:name()), "vocal") then
- vocal_track[vocal_count] = a_track
- end
- if string.find (string.lower(a_track:name()), "vox") then
- vocal_track[vocal_count] = a_track
- end
- if (vocal_track[vocal_count]) then
- vocal_count = vocal_count + 1
- end
- if string.find (string.lower(a_track:name()), "bass") then
- bass_track[bass_count] = a_track
- end
- if (bass_track[bass_count]) then
- bass_count = bass_count + 1
- end
- if string.find (string.lower(a_track:name()), "keys") then
- key_track[key_count] = a_track
- end
- if string.find (string.lower(a_track:name()), "piano") then
- key_track[key_count] = a_track
- end
- if (key_track[key_count]) then
- key_count = key_count + 1
- end
- if string.find (string.lower(a_track:name()), "guitar") then
- guitar_track[guitar_count] = a_track
- end
- if string.find (string.lower(a_track:name()), "gtr") then
- guitar_track[guitar_count] = a_track
- end
- if (guitar_track[guitar_count]) then
- guitar_count = guitar_count + 1
- end
- if string.find (string.lower(a_track:name()), "strings") then
- string_track[string_count] = a_track
- end
- if (string_track[string_count]) then
- string_count = string_count + 1
- end
- end
- -- color codes are in hex
- -- the last hex '00-ff' (0-255) is for alpha transparency
- -- e.g ff = 255 = fully opaque
- local blue = 0x368cf2ff
- local green = 0x46d83aff
- local purple = 0x866de3ff
- local red = 0xfb1d4dff
- local white = 0xffffffff
- local orange = 0xff8800ff
- for t = 0, kick_count-1 do
- kick_track[t]:presentation_info_ptr ():set_color (blue)
- print(kick_track[t]:name())
- end
- for t = 0, snare_count-1 do
- snare_track[t]:presentation_info_ptr ():set_color (blue)
- print(snare_track[t]:name())
- end
- for t = 0, hat_count-1 do
- hat_track[t]:presentation_info_ptr ():set_color (blue)
- print(hat_track[t]:name())
- end
- for t = 0, tom_count-1 do
- tom_track[t]:presentation_info_ptr ():set_color (blue)
- print(tom_track[t]:name())
- end
- for t = 0, overhead_count-1 do
- overhead_track[t]:presentation_info_ptr ():set_color (blue)
- print(overhead_track[t]:name())
- end
- for t = 0, room_count-1 do
- room_track[t]:presentation_info_ptr ():set_color (white)
- print(room_track[t]:name())
- end
- for t = 0, bass_count-1 do
- bass_track[t]:presentation_info_ptr ():set_color (green)
- print(bass_track[t]:name())
- end
- for t = 0, guitar_count-1 do
- guitar_track[t]:presentation_info_ptr ():set_color (purple)
- print(guitar_track[t]:name())
- end
- for t = 0, key_count-1 do
- key_track[t]:presentation_info_ptr ():set_color (purple)
- print(key_track[t]:name())
- end
- for t = 0, vocal_count-1 do
- vocal_track[t]:presentation_info_ptr ():set_color (red)
- print(vocal_track[t]:name())
- end
- for t = 0, string_count-1 do
- string_track[t]:presentation_info_ptr ():set_color (purple)
- print(string_track[t]:name())
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement