diff options
author | Robin Gareus <robin@gareus.org> | 2016-05-31 23:35:00 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-05-31 23:51:22 +0200 |
commit | a03217c27f73245281e0939d436f663091633997 (patch) | |
tree | 4e1c45d993fc6474efda77217d208acd09c154e8 /libs/ardour | |
parent | f87cd4435dbe20470b46ad9a7510da97435c0c73 (diff) |
update lua bindings for API changes
luaBridge implicit inheritance uses a single direct parent
(other parents object need casts). This motivates
Route -> Stripable -> SessionObject
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/route.h | 4 | ||||
-rw-r--r-- | libs/ardour/luabindings.cc | 22 | ||||
-rw-r--r-- | libs/ardour/route.cc | 4 |
3 files changed, 19 insertions, 11 deletions
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h index ab50403842..195421b231 100644 --- a/libs/ardour/ardour/route.h +++ b/libs/ardour/ardour/route.h @@ -84,8 +84,8 @@ class SoloIsolateControl; class PhaseControl; class MonitorControl; -class LIBARDOUR_API Route : public GraphNode, - public Stripable, +class LIBARDOUR_API Route : public Stripable, + public GraphNode, public Soloable, public Muteable, public Monitorable, diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc index aa94425489..3a1c031e9b 100644 --- a/libs/ardour/luabindings.cc +++ b/libs/ardour/luabindings.cc @@ -53,6 +53,7 @@ #include "ardour/session.h" #include "ardour/session_object.h" #include "ardour/sidechain.h" +#include "ardour/stripable.h" #include "ardour/track.h" #include "ardour/tempo.h" @@ -515,7 +516,16 @@ LuaBindings::common (lua_State* L) // stub RouteGroup* is needed for new_audio_track() .endClass () - .deriveWSPtrClass <Route, SessionObject> ("Route") + .deriveWSPtrClass <Stripable, SessionObject> ("Stripable") + .addCast<Route> ("to_route") + .addFunction ("is_auditioner", &Stripable::is_auditioner) + .addFunction ("is_master", &Stripable::is_master) + .addFunction ("is_monitor", &Stripable::is_monitor) + .addFunction ("is_hidden", &Stripable::is_hidden) + .addFunction ("is_selected", &Stripable::is_selected) + .endClass () + + .deriveWSPtrClass <Route, Stripable> ("Route") .addCast<Track> ("to_track") .addFunction ("set_name", &Route::set_name) .addFunction ("comment", &Route::comment) @@ -583,10 +593,6 @@ LuaBindings::common (lua_State* L) .addCast<MidiTrack> ("to_midi_track") .addFunction ("set_name", &Track::set_name) .addFunction ("can_record", &Track::can_record) - //.addFunction ("record_enabled", &Track::record_enabled) - //.addFunction ("record_safe", &Track::record_safe) - //.addFunction ("set_record_enabled", &Track::set_record_enabled) - //.addFunction ("set_record_safe", &Track::set_record_safe) .addFunction ("bounceable", &Track::bounceable) .addFunction ("bounce", &Track::bounce) .addFunction ("bounce_range", &Track::bounce_range) @@ -1024,7 +1030,7 @@ LuaBindings::common (lua_State* L) .addFunction ("actively_recording", &Session::actively_recording) .addFunction ("new_audio_track", &Session::new_audio_track) .addFunction ("new_audio_route", &Session::new_audio_route) - //.addFunction ("new_midi_track", &Session::new_midi_track) + .addFunction ("new_midi_track", &Session::new_midi_track) .addFunction ("new_midi_route", &Session::new_midi_route) .addFunction ("get_routes", &Session::get_routes) .addFunction ("get_tracks", &Session::get_tracks) @@ -1033,7 +1039,9 @@ LuaBindings::common (lua_State* L) .addFunction ("record_status", &Session::record_status) .addFunction ("route_by_id", &Session::route_by_id) .addFunction ("route_by_name", &Session::route_by_name) - // STRIPABLE .addFunction ("route_by_remote_id", &Session::route_by_remote_id) + .addFunction ("get_remote_nth_stripable", &Session::get_remote_nth_stripable) + .addFunction ("get_remote_nth_route", &Session::get_remote_nth_route) + .addFunction ("route_by_selected_count", &Session::route_by_selected_count) .addFunction ("track_by_diskstream_id", &Session::track_by_diskstream_id) .addFunction ("source_by_id", &Session::source_by_id) .addFunction ("controllable_by_id", &Session::controllable_by_id) diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 5335d69502..5f98fba1fe 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -84,8 +84,8 @@ PBD::Signal3<int,boost::shared_ptr<Route>, boost::shared_ptr<PluginInsert>, Rout /** Base class for all routable/mixable objects (tracks and busses) */ Route::Route (Session& sess, string name, PresentationInfo::Flag flag, DataType default_type) - : GraphNode (sess._process_graph) - , Stripable (sess, name, PresentationInfo (flag)) + : Stripable (sess, name, PresentationInfo (flag)) + , GraphNode (sess._process_graph) , Muteable (sess, name) , Automatable (sess) , _active (true) |