diff --git a/libs/ardour/ardour/export_format_base.h b/libs/ardour/ardour/export_format_base.h index a96d1148fc..a21c977833 100644 --- a/libs/ardour/ardour/export_format_base.h +++ b/libs/ardour/ardour/export_format_base.h @@ -49,6 +49,7 @@ class ExportFormatBase { F_None = 0, F_WAV = SF_FORMAT_WAV, F_W64 = SF_FORMAT_W64, + F_CAF = SF_FORMAT_CAF, F_AIFF = SF_FORMAT_AIFF, F_AU = SF_FORMAT_AU, F_IRCAM = SF_FORMAT_IRCAM, diff --git a/libs/ardour/enums.cc b/libs/ardour/enums.cc index ab181d2956..bab0e8ed15 100644 --- a/libs/ardour/enums.cc +++ b/libs/ardour/enums.cc @@ -509,6 +509,7 @@ setup_enum_writer () REGISTER_CLASS_ENUM (ExportFormatBase, F_RAW); REGISTER_CLASS_ENUM (ExportFormatBase, F_FLAC); REGISTER_CLASS_ENUM (ExportFormatBase, F_Ogg); + REGISTER_CLASS_ENUM (ExportFormatBase, F_CAF); REGISTER (_ExportFormatBase_FormatId); REGISTER_CLASS_ENUM (ExportFormatBase, E_FileDefault); diff --git a/libs/ardour/export_format_manager.cc b/libs/ardour/export_format_manager.cc index 08238ff710..890623c114 100644 --- a/libs/ardour/export_format_manager.cc +++ b/libs/ardour/export_format_manager.cc @@ -178,6 +178,17 @@ ExportFormatManager::init_formats () fl_ptr->set_extension ("w64"); add_format (f_ptr); + f_ptr.reset (fl_ptr = new ExportFormatLinear ("CAF", ExportFormatBase::F_CAF)); + fl_ptr->add_sample_format (ExportFormatBase::SF_U8); + fl_ptr->add_sample_format (ExportFormatBase::SF_16); + fl_ptr->add_sample_format (ExportFormatBase::SF_24); + fl_ptr->add_sample_format (ExportFormatBase::SF_32); + fl_ptr->add_sample_format (ExportFormatBase::SF_Float); + fl_ptr->add_sample_format (ExportFormatBase::SF_Double); + fl_ptr->set_default_sample_format (ExportFormatBase::SF_Float); + fl_ptr->set_extension ("caf"); + add_format (f_ptr); + f_ptr.reset (fl_ptr = new ExportFormatLinear ("RAW", ExportFormatBase::F_RAW)); fl_ptr->add_sample_format (ExportFormatBase::SF_U8); fl_ptr->add_sample_format (ExportFormatBase::SF_8);