a few more if (_mmc) tests
[ardour.git] / libs / ardour / export_formats.cc
index b7637f3c07f5f9432788eb238225d3076d20dcab..ef6bbe35bc614fc8fcd3ccd664baac522046a8e1 100644 (file)
@@ -59,10 +59,12 @@ HasSampleFormat::add_sample_format (ExportFormatBase::SampleFormat format)
 
        SampleFormatPtr ptr (new SampleFormatState (format, get_sample_format_name (format)));
        sample_format_states.push_back (ptr);
-       scoped_connect (ptr->SelectChanged, boost::bind (&HasSampleFormat::update_sample_format_selection, this, _1));
-       // BOOST SIGNALS how to connect one signal to another
-       // scoped_connect (ptr->SelectChanged, boost::bind (SampleFormatSelectChanged, _1, WeakSampleFormatPtr (ptr));
-       // scoped_connect (ptr->CompatibleChanged, boost::bind (SampleFormatCompatibleChanged, _1, WeakSampleFormatPtr (ptr));
+       ptr->SelectChanged.connect_same_thread (*this, boost::bind (&HasSampleFormat::update_sample_format_selection, this, _1));
+       // BOOST SIGNALS Could this be made any uglier?
+       ptr->SelectChanged.connect_same_thread (*this,
+               boost::bind (boost::type<void> (), boost::ref (SampleFormatSelectChanged), _1, WeakSampleFormatPtr (ptr)));
+       ptr->CompatibleChanged.connect_same_thread (*this,
+               boost::bind (boost::type<void> (), boost::ref (SampleFormatCompatibleChanged), _1, WeakSampleFormatPtr (ptr)));
 }
 
 void
@@ -70,10 +72,12 @@ HasSampleFormat::add_dither_type (ExportFormatBase::DitherType type, Glib::ustri
 {
        DitherTypePtr ptr (new DitherTypeState (type, name));
        dither_type_states.push_back (ptr);
-       scoped_connect (ptr->SelectChanged, boost::bind (&HasSampleFormat::update_dither_type_selection, this, _1));
-       // BOOST SIGNALS how to connect one signal to another
-       // scoped_connect (ptr->SelectChanged, boost::bind (DitherTypeSelectChanged, _1, WeakDitherTypePtr (ptr));
-       // scoped_connect (ptr->CompatibleChanged, boost::bind (DitherTypeCompatibleChanged, _1, WeakDitherTypePtr (ptr));
+       ptr->SelectChanged.connect_same_thread (*this, boost::bind (&HasSampleFormat::update_dither_type_selection, this, _1));
+       // BOOST SIGNALS Could this be made any uglier?
+       ptr->SelectChanged.connect_same_thread (*this,
+               boost::bind (boost::type<void> (), boost::ref (DitherTypeSelectChanged), _1, WeakDitherTypePtr (ptr)));
+       ptr->CompatibleChanged.connect_same_thread (*this,
+               boost::bind (boost::type<void> (),boost::ref ( DitherTypeCompatibleChanged), _1, WeakDitherTypePtr (ptr)));
 }
 
 HasSampleFormat::SampleFormatPtr