[patch] export to caf

tim <[email protected]>
Newsgroups gmane.comp.audio.ardour.devel
Message-ID <[email protected]>
this patch adds support for caf, via libsndfile. it seems to be the only
pcm file format, that plays well with large files (high sampling rates,
many channels etc), so it would be great to support it.

thanks, tim

_______________________________________________
ardour-dev mailing list
[email protected]
http://lists.ardour.org/listinfo.cgi/ardour-dev-ardour.org
0001-export-add-support-for-CAF.patch (text/x-patch, 2.4 KB)
From e1d0ed7a002a47e8f1e68472561c796d3a580637 Mon Sep 17 00:00:00 2001
Message-Id: <e1d0ed7a002a47e8f1e68472561c796d3a580637.1377345852.git.tim@klingt.org>
From: Tim Blechmann <[email protected]>
Date: Sat, 24 Aug 2013 13:59:14 +0200
Subject: [PATCH] export: add support for CAF

Signed-off-by: Tim Blechmann <[email protected]>
---
 libs/ardour/ardour/export_format_base.h |  1 +
 libs/ardour/enums.cc                    |  1 +
 libs/ardour/export_format_manager.cc    | 11 +++++++++++
 3 files changed, 13 insertions(+)

diff --git a/libs/ardour/ardour/export_format_base.h b/libs/ardour/ardour/export_format_base.h
index a96d114..a21c977 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 ab181d2..bab0e8e 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 08238ff..890623c 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);
-- 
1.8.1.5
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.