]> Shamusworld >> Repos - ardour-manual/blobdiff - _manual/24_lua-scripting/01_brain_dump.html
text tweaks
[ardour-manual] / _manual / 24_lua-scripting / 01_brain_dump.html
index e688bac5daa19d907e02862aca9db910fa71349f..529b70f7a960d63e34e2dc38b6f2dc44c81f68d0 100644 (file)
@@ -1,10 +1,10 @@
 ---
 layout: default
-title: Lua Scripting Documentation
+title: Scripting Documentation
 ---
 
 <p class="warning">
-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.
 </p>
 
 <h2>Preface</h2>
@@ -95,9 +95,9 @@ There are is also a special mode:
 Ardour searches for Lua scripts in the <code>scripts</code> folder in <code>$ARDOUR_DATA_PATH</code>,
 Apart from scripts included directly with Ardour, this includes</p>
 <table>
-       <tr><th>GNU/Linux</th><td><code>$HOME/.config/ardour4/scripts</code></td></tr>
-       <tr><th>Mac OS X</th><td><code>$HOME/Library/Preferences/Ardour4/scripts</code></td></tr>
-       <tr><th>Windows</th><td><code>%localappdata%\ardour4\scripts</code></td></tr>
+       <tr><th>GNU/Linux</th><td><code>$HOME/.config/ardour5/scripts</code></td></tr>
+       <tr><th>Mac OS X</th><td><code>$HOME/Library/Preferences/Ardour5/scripts</code></td></tr>
+       <tr><th>Windows</th><td><code>%localappdata%\ardour5\scripts</code></td></tr>
 </table>
 
 <p>Files must end with <code>.lua</code> file extension.</p>
@@ -333,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)
@@ -341,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()
@@ -366,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)
+
 </code></pre>
 </div>