summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-03-18 19:10:19 +0100
committerRobin Gareus <robin@gareus.org>2017-03-18 19:10:19 +0100
commit448bc635e528f068d88a34de03622fba0e3ea180 (patch)
tree2f9ccbc545b126c158bd5ea9733407b2c62cb040 /scripts
parent6ceade76b32fe5e63901ae926b7198870c1b79a4 (diff)
Add example script to access midi-region events
Diffstat (limited to 'scripts')
-rw-r--r--scripts/_dump_midiregion.lua21
1 files changed, 21 insertions, 0 deletions
diff --git a/scripts/_dump_midiregion.lua b/scripts/_dump_midiregion.lua
new file mode 100644
index 0000000000..34ee124b14
--- /dev/null
+++ b/scripts/_dump_midiregion.lua
@@ -0,0 +1,21 @@
+ardour { ["type"] = "Snippet", name = "Dump MIDI Region" }
+
+function factory () return function ()
+ local sel = Editor:get_selection ()
+ for r in sel.regions:regionlist ():iter () do
+ local mr = r:to_midiregion ()
+ if mr:isnil () then goto next end
+
+ print (r:name (), "Pos:", r:position (), "Start:", r:start ())
+ local bfc = ARDOUR.BeatsFramesConverter (Session:tempo_map (), r:position ())
+ local nl = ARDOUR.LuaAPI.note_list (mr:model ())
+ for n in nl:iter () do
+ print (" Note @", bfc:to (n:time ()),
+ ARDOUR.ParameterDescriptor.midi_note_name (n:note ()),
+ "Vel:", n:velocity ())
+ end
+ print ("----")
+ ::next::
+ end
+end end
+