Merge branch 'ardour'
This commit is contained in:
commit
af42cac8d3
@ -261,6 +261,7 @@ public:
|
||||
bool cannot_save () const { return _state_of_the_state & CannotSave; }
|
||||
bool in_cleanup () const { return _state_of_the_state & InCleanup; }
|
||||
bool inital_connect_or_deletion_in_progress () const { return _state_of_the_state & (InitialConnecting | Deletion); }
|
||||
bool have_external_connections_for_current_backend (bool tracks_only = true) const;
|
||||
bool unnamed() const;
|
||||
|
||||
void end_unnamed_status () const;
|
||||
|
@ -1375,7 +1375,7 @@ DiskReader::playlist_ranges_moved (list<Temporal::RangeMove> const& movements, b
|
||||
return;
|
||||
}
|
||||
|
||||
/* move panner automation */
|
||||
/* move panner automation (route owned control) */
|
||||
std::shared_ptr<Pannable> pannable = _track.pannable ();
|
||||
Evoral::ControlSet::Controls& c (pannable->controls ());
|
||||
|
||||
@ -1395,6 +1395,18 @@ DiskReader::playlist_ranges_moved (list<Temporal::RangeMove> const& movements, b
|
||||
*alist.get (), &before, &alist->get_state ()));
|
||||
}
|
||||
}
|
||||
|
||||
/* move mute automation (route owned control) */
|
||||
std::shared_ptr<AutomationList> alist = _track.mute_control ()->alist ();
|
||||
if (alist->size ()) {
|
||||
XMLNode& before = alist->get_state ();
|
||||
bool const things_moved = alist->move_ranges (movements);
|
||||
if (things_moved) {
|
||||
_session.add_command (new MementoCommand<AutomationList> (
|
||||
*alist.get (), &before, &alist->get_state ()));
|
||||
}
|
||||
}
|
||||
|
||||
/* move processor automation */
|
||||
_track.foreach_processor (boost::bind (&DiskReader::move_processor_automation, this, _1, movements));
|
||||
}
|
||||
|
@ -3442,6 +3442,9 @@ LuaBindings::session (lua_State* L)
|
||||
.addFunction ("unknown_processors", &Session::unknown_processors)
|
||||
.addFunction ("export_track_state", &Session::export_track_state)
|
||||
.addFunction ("selection", &Session::selection)
|
||||
.addFunction ("have_external_connections_for_current_backend", &Session::have_external_connections_for_current_backend)
|
||||
.addFunction ("unnamed", &Session::unnamed)
|
||||
.addFunction ("writable", &Session::writable)
|
||||
|
||||
.addFunction<RouteList (Session::*)(uint32_t, PresentationInfo::order_t, const std::string&, const std::string&, PlaylistDisposition)> ("new_route_from_template", &Session::new_route_from_template)
|
||||
// TODO session_add_audio_track session_add_midi_track session_add_mixed_track
|
||||
|
@ -8413,6 +8413,31 @@ Session::foreach_route (void (Route::*method)())
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
Session::have_external_connections_for_current_backend (bool tracks_only) const
|
||||
{
|
||||
std::shared_ptr<RouteList const> rl = routes.reader();
|
||||
for (auto const& r : *rl) {
|
||||
if (tracks_only && !std::dynamic_pointer_cast<Track> (r)) {
|
||||
continue;
|
||||
}
|
||||
if (r->is_singleton ()) {
|
||||
continue;
|
||||
}
|
||||
for (auto const& p : *r->input()->ports()) {
|
||||
if (p->has_ext_connection ()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
for (auto const& p : *r->output()->ports()) {
|
||||
if (p->has_ext_connection ()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
Session::enable_virtual_soundcheck ()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user