Add Lua bindings for SessionPlaylists

This commit is contained in:
Robin Gareus 2019-03-19 05:14:54 +01:00
parent 1f7db60389
commit 1172ff4948
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -78,6 +78,7 @@
#include "ardour/send.h"
#include "ardour/session.h"
#include "ardour/session_object.h"
#include "ardour/session_playlists.h"
#include "ardour/sidechain.h"
#include "ardour/solo_isolate_control.h"
#include "ardour/solo_safe_control.h"
@ -261,6 +262,7 @@ CLASSKEYS(boost::shared_ptr<ARDOUR::PluginInfo>);
CLASSKEYS(boost::shared_ptr<ARDOUR::Processor>);
CLASSKEYS(boost::shared_ptr<ARDOUR::Readable>);
CLASSKEYS(boost::shared_ptr<ARDOUR::Region>);
CLASSKEYS(boost::shared_ptr<ARDOUR::SessionPlaylists>);
CLASSKEYS(boost::shared_ptr<Evoral::ControlList>);
CLASSKEYS(boost::shared_ptr<Evoral::Note<Temporal::Beats> >);
CLASSKEYS(boost::shared_ptr<Evoral::Sequence<Temporal::Beats> >);
@ -1127,6 +1129,7 @@ LuaBindings::common (lua_State* L)
.addFunction ("combine", &Playlist::combine)
.addFunction ("uncombine", &Playlist::uncombine)
.addFunction ("split_region", &Playlist::split_region)
.addFunction ("get_orig_track_id", &Playlist::get_orig_track_id)
//.addFunction ("split", &Playlist::split) // XXX needs MusicSample
.addFunction ("cut", (boost::shared_ptr<Playlist> (Playlist::*)(std::list<AudioRange>&, bool))&Playlist::cut)
#if 0
@ -1143,6 +1146,17 @@ LuaBindings::common (lua_State* L)
.addFunction ("set_note_mode", &MidiPlaylist::set_note_mode)
.endClass ()
.beginWSPtrClass <SessionPlaylists> ("SessionPlaylists")
.addFunction ("by_name", &SessionPlaylists::by_name)
.addFunction ("by_id", &SessionPlaylists::by_id)
.addFunction ("source_use_count", &SessionPlaylists::source_use_count)
.addFunction ("region_use_count", &SessionPlaylists::region_use_count)
.addFunction ("playlists_for_track", &SessionPlaylists::playlists_for_track)
.addFunction ("get_used", &SessionPlaylists::get_used)
.addFunction ("get_unused", &SessionPlaylists::get_unused)
.addFunction ("n_playlists", &SessionPlaylists::n_playlists)
.endClass ()
.deriveWSPtrClass <Track, Route> ("Track")
.addCast<AudioTrack> ("to_audio_track")
.addCast<MidiTrack> ("to_midi_track")
@ -1636,6 +1650,10 @@ LuaBindings::common (lua_State* L)
.beginStdVector <boost::shared_ptr<Source> > ("SourceList")
.endClass ()
// from SessionPlaylists
.beginStdVector <boost::shared_ptr<Playlist> > ("PlaylistList")
.endClass ()
// std::list< boost::weak_ptr <AudioSource> >
.beginConstStdList <boost::weak_ptr<AudioSource> > ("WeakAudioSourceList")
.endClass ()
@ -2279,6 +2297,7 @@ LuaBindings::common (lua_State* L)
.addFunction ("abort_reversible_command", &Session::abort_reversible_command)
.addFunction ("add_command", &Session::add_command)
.addFunction ("add_stateful_diff_command", &Session::add_stateful_diff_command)
.addFunction ("playlists", &Session::playlists)
.addFunction ("engine", (AudioEngine& (Session::*)())&Session::engine)
.addFunction ("get_block_size", &Session::get_block_size)
.addFunction ("worst_output_latency", &Session::worst_output_latency)