summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_region.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2016-09-25 03:25:49 +1000
committernick_m <mainsbridge@gmail.com>2016-09-29 01:27:42 +1000
commit8c6e9e15d4acdbf9b6fa8e7411b75650fd6421fc (patch)
treea46d2053693a599f98001e642b00edb3b6f2e039 /libs/ardour/midi_region.cc
parentcf8cc1944928132c99e382918b3c7c03b2298b80 (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.cc17
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 ()
{