summaryrefslogtreecommitdiff
path: root/libs/ardour/export_formats.cc
diff options
context:
space:
mode:
authorSakari Bergen <sakari.bergen@beatwaves.net>2008-09-28 11:11:38 +0000
committerSakari Bergen <sakari.bergen@beatwaves.net>2008-09-28 11:11:38 +0000
commit6b50ba341da426805ce3c92609c0fa12c52b67ac (patch)
tree4ed20d3699613da5a952b09b7e9ef47ceb6b8610 /libs/ardour/export_formats.cc
parent909995338c970e9f8f7a51886502640527f2061e (diff)
* Improved export error handling, streamlined ExportFailed
* Cleaned out export related visibility in Session, and simpified Session <--> export component communication in general * Removed export_status.h header dependency from session.h * Added check for libsndfile FLAC and Ogg Vorbis compatibility * Added ExportFileFactory, leading in cleaner code in ExportProcessor, and better extensibility for possible future non-libsndfile formats git-svn-id: svn://localhost/ardour2/branches/3.0@3818 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/export_formats.cc')
-rw-r--r--libs/ardour/export_formats.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/libs/ardour/export_formats.cc b/libs/ardour/export_formats.cc
index 7df54bad1c..f3c8f7197c 100644
--- a/libs/ardour/export_formats.cc
+++ b/libs/ardour/export_formats.cc
@@ -252,6 +252,17 @@ ExportFormatOggVorbis::ExportFormatOggVorbis ()
}
bool
+ExportFormatOggVorbis::check_system_compatibility ()
+{
+ SF_INFO sf_info;
+ sf_info.channels = 2;
+ sf_info.samplerate = SR_44_1;
+ sf_info.format = F_Ogg | SF_Vorbis;
+
+ return (sf_format_check (&sf_info) == SF_TRUE ? true : false);
+}
+
+bool
ExportFormatOggVorbis::set_compatibility_state (ExportFormatCompatibility const & compatibility)
{
bool compatible = compatibility.has_format (F_Ogg);
@@ -285,6 +296,17 @@ ExportFormatFLAC::ExportFormatFLAC () :
}
bool
+ExportFormatFLAC::check_system_compatibility ()
+{
+ SF_INFO sf_info;
+ sf_info.channels = 2;
+ sf_info.samplerate = SR_44_1;
+ sf_info.format = F_FLAC | SF_16;
+
+ return (sf_format_check (&sf_info) == SF_TRUE ? true : false);
+}
+
+bool
ExportFormatFLAC::set_compatibility_state (ExportFormatCompatibility const & compatibility)
{
bool compatible = compatibility.has_format (F_FLAC);