if(($ACT == 'edit' || $ACT == 'preview') && $INFO['editable']){ ?> } else { ?> } ?>
This is an old revision of the document!
Lua is a lightweight programming language which lends itself nicely to embedded into other applications.
In Ardour's case Lua is available…
small, lean, rt-safe.
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
A = ARDOUR.AudioEngine.create() for i,j in A:available_backends():iter() do print (i.name) end print (A:current_backend_name()) backend = A:set_backend("ALSA", "", "")
for i,_ in backend:enumerate_devices():iter() do print (i.name) end
s = load_session ("/home/rgareus/Documents/ArdourSessions/lua2/", "lua2") s:request_transport_speed (1.0) print (s:transport_rolling())
A = ARDOUR.AudioEngine.create() backend = A:set_backend("ALSA", "", "") backend:set_input_device_name("HDA Intel PCH") backend:set_output_device_name("HDA Intel PCH") s = load_session ("/home/rgareus/Documents/ArdourSessions/theCat/", "theCat") s:request_transport_speed (1.0)
print (backend:buffer_size()) print (A:start()) print (A:get_last_backend_error())