X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=_manual%2F24_lua-scripting%2F01_brain_dump.html;h=529b70f7a960d63e34e2dc38b6f2dc44c81f68d0;hb=34e37256d144dd89dfba32cc9489465966293492;hp=c73fa4de9b8411814d618803d08c6e799fe0275f;hpb=ef07095586ef14e1d61ef5e1e56b1f3b9b88cb75;p=ardour-manual diff --git a/_manual/24_lua-scripting/01_brain_dump.html b/_manual/24_lua-scripting/01_brain_dump.html index c73fa4d..529b70f 100644 --- a/_manual/24_lua-scripting/01_brain_dump.html +++ b/_manual/24_lua-scripting/01_brain_dump.html @@ -1,10 +1,10 @@ --- layout: default -title: Lua Scripting Documentation +title: Scripting Documentation ---

-This Documention is Work in Progress and far from complete. Also the documented API may be subject to change. +This Documentation is Work in Progress and far from complete. Also the documented API may be subject to change.

Preface

@@ -95,9 +95,9 @@ There are is also a special mode: Ardour searches for Lua scripts in the scripts folder in $ARDOUR_DATA_PATH, Apart from scripts included directly with Ardour, this includes

- - - + + +
GNU/Linux$HOME/.config/ardour4/scripts
Mac OS X$HOME/Library/Preferences/Ardour4/scripts
Windows%localappdata%\ardour4\scripts
GNU/Linux$HOME/.config/ardour5/scripts
Mac OS X$HOME/Library/Preferences/Ardour5/scripts
Windows%localappdata%\ardour5\scripts

Files must end with .lua file extension.

@@ -307,6 +307,7 @@ Fully functional, yet still in a prototyping stage:
  • convenience methods (wrap more complex Ardour actions into a library). e.g set plugin parameters, write automation lists from a lua table
  • Add some useful scripts and more examples
  • Documentation (Ardour API), also usable for tab-exansion, syntax highlighting
  • +
  • bindings for GUI Widgets (plugin UIs, message boxes, etc)
  • @@ -332,7 +333,7 @@ for t in Session:get_tracks():iter() do print(t:name()) end for r in Session:get_routes():iter() do print(r:name()) end -Session:tempo_map():add_tempo(ARDOUR.Tempo(100,4), ARDOUR.BBT_TIME(4,1,0)) +Session:tempo_map():add_tempo(ARDOUR.Tempo(100,4), Timecode.BBT_TIME(4,1,0)) Editor:set_zoom_focus(Editing.ZoomFocusRight) @@ -340,18 +341,19 @@ print(Editing.ZoomFocusRight); Editor:set_zoom_focus(1) -files = ARDOUR.StringVector(); +files = C.StringVector(); files:push_back("/home/rgareus/data/coding/ltc-tools/smpte.wav") pos = -1 Editor:do_import(files, Editing.ImportDistinctFiles, Editing.ImportAsTrack, ARDOUR.SrcQuality.SrcBest, pos, ARDOUR.PluginInfo()) #or in one line: -Editor:do_import(ARDOUR.StringVector():add({"/path/to/file.wav"}), Editing.ImportDistinctFiles, Editing.ImportAsTrack, ARDOUR.SrcQuality.SrcBest, -1, ARDOUR.PluginInfo()) +Editor:do_import(C.StringVector():add({"/path/to/file.wav"}), Editing.ImportDistinctFiles, Editing.ImportAsTrack, ARDOUR.SrcQuality.SrcBest, -1, ARDOUR.PluginInfo()) # called when a new session is loaded: function new_session (name) print("NEW SESSION:", name) end +# read/set/describe a plugin parameter route = Session:route_by_remote_id(1) processor = route:nth_plugin(0) plugininsert = processor:to_insert() @@ -365,10 +367,16 @@ _, t = plugin:get_parameter_descriptor(2, x) -- port #2 paramdesc = t[2] print (paramdesc.lower) -ctrl = ARDOUR.EvoralParameter(ARDOUR.AutomationType.PluginAutomation, 0, 2) +ctrl = Evoral.Parameter(ARDOUR.AutomationType.PluginAutomation, 0, 2) ac = plugininsert:automation_control(ctrl, false) print (ac:get_value ()) ac:set_value(1.0, PBD.GroupControlDisposition.NoGroup) + +# the same using a convenience wrapper: +route = Session:route_by_remote_id(1) +proc = t:nth_plugin (i) +ARDOUR.LuaAPI.set_processor_param (proc, 2, 1.0) +