summaryrefslogtreecommitdiff
path: root/share/scripts/create_drum_tracks.lua
diff options
context:
space:
mode:
Diffstat (limited to 'share/scripts/create_drum_tracks.lua')
-rw-r--r--share/scripts/create_drum_tracks.lua73
1 files changed, 73 insertions, 0 deletions
diff --git a/share/scripts/create_drum_tracks.lua b/share/scripts/create_drum_tracks.lua
new file mode 100644
index 0000000000..0f16f87a70
--- /dev/null
+++ b/share/scripts/create_drum_tracks.lua
@@ -0,0 +1,73 @@
+ardour {
+ ["type"] = "EditorAction",
+ name = "Create Drum Tracks",
+ author = "PSmith",
+ description = [[Creates 8 new tracks with representative names and colors.]]
+}
+
+function factory () return function ()
+ local names = {
+ "Kick",
+ "Snare",
+ "Hat",
+ "Fl Tom",
+ "OH L",
+ "OH R",
+ "Room 1",
+ "Room 2"
+ }
+
+ local color = 0xff8800ff --orange
+
+ local i = 1
+ while names[i] do
+ local tl = Session:new_audio_track (1, 2, nil, 1, names[i],
+ ARDOUR.PresentationInfo.max_order,
+ ARDOUR.TrackMode.Normal)
+
+ for track in tl:iter () do
+ track:presentation_info_ptr ():set_color (color)
+ end
+
+ i = i + 1
+ end --foreach track
+
+end end -- function factory
+
+
+function icon (params) return function (ctx, width, height)
+ local x = width * .5
+ local y = height * .5
+ local r = math.min (x, y) * .7
+ ctx:save ()
+ ctx:translate (x, y)
+ ctx:scale (1, .5)
+ ctx:translate (-x, -y)
+ ctx:arc (x, y, r, 0, 2 * math.pi)
+ ctx:set_source_rgba (.9, .9, 1, 1)
+ ctx:fill ()
+ ctx:arc (x, y, r, 0, math.pi)
+ ctx:arc_negative (x, y * 1.6, r, math.pi, 0)
+ ctx:set_source_rgba (.7, .7, .7, 1)
+ ctx:fill ()
+ ctx:restore ()
+
+ ctx:set_source_rgba (.6, .4, .2, 1)
+ ctx:translate (x, y)
+ ctx:scale (.7, 1)
+ ctx:translate (-x, -y)
+ ctx:set_line_cap (Cairo.LineCap.Round)
+
+ function drumstick (xp, lr)
+ ctx:set_line_width (r * .3)
+ ctx:move_to (x * xp, y)
+ ctx:close_path ()
+ ctx:stroke ()
+ ctx:set_line_width (r * .2)
+ ctx:move_to (x * xp, y)
+ ctx:rel_line_to (lr * x, y)
+ ctx:stroke ()
+ end
+ drumstick (1.2, 1.2)
+ drumstick (0.7, -.5)
+end end