====== Ardour Lua Scripting ====== moved to http://manual.ardour.org/lua-scripting/ ===== Console Examples ===== print (Session:route_by_remote_id(1):name()) a = Session:route_by_remote_id(1); print (a:name()); print(Session:get_tracks():size()) for i, v in ipairs(Session:unknown_processors():table()) do print(v) end for i, v in ipairs(Session:get_tracks():table()) do print(v:name()) end 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)) Editor:set_zoom_focus(Editing.ZoomFocusRight) print(Editing.ZoomFocusRight); Editor:set_zoom_focus(1) files = ARDOUR.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()) # called when a new session is loaded: function new_session (name) print("NEW SESSION:", name) end route = Session:route_by_remote_id(1) processor = route:nth_plugin(0) plugininsert = processor:to_insert() plugin = plugininsert:plugin(0) print (plugin:label()) print (plugin:parameter_count()) x = ARDOUR.ParameterDescriptor () _, t = plugin:get_parameter_descriptor(2, x) -- port #2 paramdesc = t[2] print (paramdesc.lower) ctrl = ARDOUR.EvoralParameter(ARDOUR.AutomationType.PluginAutomation, 0, 2) ac = plugininsert:automation_control(ctrl, false) print (ac:get_value ()) ac:set_value(1.0, PBD.GroupControlDisposition.NoGroup) ===== LuaSession ===== for i,_ in AudioEngine:available_backends():iter() do print (i.name) end backend = AudioEngine:set_backend("ALSA", "", "") print (AudioEngine:current_backend_name()) for i,_ in backend:enumerate_devices():iter() do print (i.name) end backend:set_input_device_name("HDA Intel PCH") backend:set_output_device_name("HDA Intel PCH") print (backend:buffer_size()) print (AudioEngine:get_last_backend_error()) s = load_session ("/home/rgareus/Documents/ArdourSessions/lua2/", "lua2") s:request_transport_speed (1.0) print (s:transport_rolling()) s:goto_start() close_session()