diff options
author | nick_m <mainsbridge@gmail.com> | 2016-09-25 03:25:49 +1000 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-09-29 01:27:42 +1000 |
commit | 8c6e9e15d4acdbf9b6fa8e7411b75650fd6421fc (patch) | |
tree | a46d2053693a599f98001e642b00edb3b6f2e039 /libs/ardour/midi_region.cc | |
parent | cf8cc1944928132c99e382918b3c7c03b2298b80 (diff) |
Add headless-chicken session utility.
- provides an upgrade path for sessions affected by a nasty bug
present in some 5.0 - 5.3 MIDI sessions.
If testing from source, it can be run from the session_utils directory
using ./run ardour5-headless-chicken -h
Diffstat (limited to 'libs/ardour/midi_region.cc')
-rw-r--r-- | libs/ardour/midi_region.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/ardour/midi_region.cc b/libs/ardour/midi_region.cc index ff5ec02433..8868b7c681 100644 --- a/libs/ardour/midi_region.cc +++ b/libs/ardour/midi_region.cc @@ -500,6 +500,23 @@ MidiRegion::midi_source (uint32_t n) const return boost::dynamic_pointer_cast<MidiSource>(source(n)); } +/* don't use this. hopefully it will go away. + currently used by headless-chicken session utility. +*/ +void +MidiRegion::clobber_sources (boost::shared_ptr<MidiSource> s) +{ + drop_sources(); + + _sources.push_back (s); + s->inc_use_count (); + _master_sources.push_back (s); + s->inc_use_count (); + + s->DropReferences.connect_same_thread (*this, boost::bind (&Region::source_deleted, this, boost::weak_ptr<Source>(s))); + +} + void MidiRegion::model_changed () { |