summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/ardour/route.h4
-rw-r--r--libs/ardour/luabindings.cc22
-rw-r--r--libs/ardour/route.cc4
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)