fix invalid mapping detection
[ardour.git] / libs / ardour / export_formats.cc
index b7637f3c07f5f9432788eb238225d3076d20dcab..47f68fe4646b0161a5517c0a00d943854df610f2 100644 (file)
@@ -59,21 +59,25 @@ 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
-HasSampleFormat::add_dither_type (ExportFormatBase::DitherType type, Glib::ustring name)
+HasSampleFormat::add_dither_type (ExportFormatBase::DitherType type, string name)
 {
        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
@@ -152,19 +156,19 @@ HasSampleFormat::get_sample_format_name (ExportFormatBase::SampleFormat format)
 {
        switch (format) {
          case ExportFormatBase::SF_8:
-               return _("8bit");
+               return _("8-bit");
          case ExportFormatBase::SF_16:
-               return _("16bit");
+               return _("16-bit");
          case ExportFormatBase::SF_24:
-               return _("24bit");
+               return _("24-bit");
          case ExportFormatBase::SF_32:
-               return _("32bit");
+               return _("32-bit");
          case ExportFormatBase::SF_Float:
                return _("float");
          case ExportFormatBase::SF_Double:
                return _("double");
          case ExportFormatBase::SF_U8:
-               return _("8bit unsigned");
+               return _("8-bit unsigned");
          case ExportFormatBase::SF_Vorbis:
                return _("Vorbis sample format");
          case ExportFormatBase::SF_None:
@@ -175,19 +179,21 @@ HasSampleFormat::get_sample_format_name (ExportFormatBase::SampleFormat format)
 
 /*** Linear ***/
 
-ExportFormatLinear::ExportFormatLinear (Glib::ustring name, FormatId format_id) :
+ExportFormatLinear::ExportFormatLinear (string name, FormatId format_id) :
   HasSampleFormat (sample_formats),
   _default_sample_format (SF_None)
 {
        set_name (name);
        set_format_id (format_id);
 
+       add_sample_rate (SR_8);
        add_sample_rate (SR_22_05);
        add_sample_rate (SR_44_1);
        add_sample_rate (SR_48);
        add_sample_rate (SR_88_2);
        add_sample_rate (SR_96);
        add_sample_rate (SR_192);
+       add_sample_rate (SR_Session);
 
        add_endianness (E_FileDefault);
 
@@ -258,6 +264,7 @@ ExportFormatOggVorbis::ExportFormatOggVorbis ()
        add_sample_rate (SR_88_2);
        add_sample_rate (SR_96);
        add_sample_rate (SR_192);
+       add_sample_rate (SR_Session);
 
        add_endianness (E_FileDefault);
 
@@ -297,6 +304,7 @@ ExportFormatFLAC::ExportFormatFLAC () :
        add_sample_rate (SR_88_2);
        add_sample_rate (SR_96);
        add_sample_rate (SR_192);
+       add_sample_rate (SR_Session);
 
        add_sample_format (SF_8);
        add_sample_format (SF_16);
@@ -330,6 +338,7 @@ ExportFormatBWF::ExportFormatBWF () :
        add_sample_rate (SR_88_2);
        add_sample_rate (SR_96);
        add_sample_rate (SR_192);
+       add_sample_rate (SR_Session);
 
        add_sample_format (SF_U8);
        add_sample_format (SF_16);