summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorSakari Bergen <sakari.bergen@beatwaves.net>2008-09-20 22:06:02 +0000
committerSakari Bergen <sakari.bergen@beatwaves.net>2008-09-20 22:06:02 +0000
commiteec19ca7afde0da57b2a4d9abc6ef847e6924975 (patch)
treeab5d5f7ef73b01cd3b24405859c51b0678ea580c /libs/ardour/ardour
parent79f59951e3dbcf655d5284830f125d6e1962d46c (diff)
* Added filename extension definitions for export presets and format profiles
* Export Preset widget doesn't allow overwriting existing presets * Some error detection for export preset loading * Moved some serialization code away from ExportProfileManager to respective classes git-svn-id: svn://localhost/ardour2/branches/3.0@3778 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/export_channel_configuration.h13
-rw-r--r--libs/ardour/ardour/export_profile_manager.h23
-rw-r--r--libs/ardour/ardour/filename_extensions.h2
3 files changed, 18 insertions, 20 deletions
diff --git a/libs/ardour/ardour/export_channel_configuration.h b/libs/ardour/ardour/export_channel_configuration.h
index 8f2fcdbd28..234cd5d127 100644
--- a/libs/ardour/ardour/export_channel_configuration.h
+++ b/libs/ardour/ardour/export_channel_configuration.h
@@ -30,6 +30,8 @@
#include <ardour/export_status.h>
#include <ardour/ardour.h>
+#include <pbd/xml++.h>
+
using Glib::ustring;
namespace ARDOUR
@@ -42,13 +44,11 @@ class ExportFormatSpecification;
class ExportFilename;
class ExportProcessor;
class ExportTimespan;
+class Session;
class ExportChannel : public std::set<AudioPort *>
{
public:
- ExportChannel ();
- ~ExportChannel ();
-
void add_port (AudioPort * port) { if (port) { insert (port); } }
void read_ports (float * data, nframes_t frames) const;
};
@@ -80,10 +80,11 @@ class ExportChannelConfiguration
private:
friend class ExportElementFactory;
- ExportChannelConfiguration (ExportStatus & status);
+ ExportChannelConfiguration (ExportStatus & status, Session & session);
public:
- ~ExportChannelConfiguration ();
+ XMLNode & get_state ();
+ int set_state (const XMLNode &);
typedef boost::shared_ptr<ExportChannel const> ChannelPtr;
typedef std::list<ChannelPtr> ChannelList;
@@ -114,6 +115,8 @@ class ExportChannelConfiguration
private:
+ Session & session;
+
// processor has to be prepared before doing this.
void write_file ();
diff --git a/libs/ardour/ardour/export_profile_manager.h b/libs/ardour/ardour/export_profile_manager.h
index 84a5251aa8..d63549e185 100644
--- a/libs/ardour/ardour/export_profile_manager.h
+++ b/libs/ardour/ardour/export_profile_manager.h
@@ -70,7 +70,7 @@ class ExportProfileManager
typedef std::list<PresetPtr> PresetList;
PresetList const & get_presets () { return preset_list; }
- void load_preset (PresetPtr preset);
+ bool load_preset (PresetPtr preset);
PresetPtr save_preset (string const & name);
void remove_preset ();
@@ -86,9 +86,9 @@ class ExportProfileManager
void load_presets ();
void load_preset_from_disk (PBD::sys::path const & path);
- void set_state (XMLNode const & root);
- void set_global_state (XMLNode const & root);
- void set_local_state (XMLNode const & root);
+ bool set_state (XMLNode const & root);
+ bool set_global_state (XMLNode const & root);
+ bool set_local_state (XMLNode const & root);
void serialize_profile (XMLNode & root);
void serialize_global_profile (XMLNode & root);
@@ -149,7 +149,7 @@ class ExportProfileManager
TimespanStateList timespans;
- void init_timespans (XMLNodeList nodes);
+ bool init_timespans (XMLNodeList nodes);
TimespanStatePtr deserialize_timespan (XMLNode & root);
XMLNode & serialize_timespan (TimespanStatePtr state);
@@ -181,10 +181,7 @@ class ExportProfileManager
ChannelConfigStateList channel_configs;
- void init_channel_configs (XMLNodeList nodes);
-
- ChannelConfigStatePtr deserialize_channel_config (XMLNode & root);
- XMLNode & serialize_channel_config (ChannelConfigStatePtr state);
+ bool init_channel_configs (XMLNodeList nodes);
/* Formats */
public:
@@ -216,7 +213,7 @@ class ExportProfileManager
FormatStateList formats;
- void init_formats (XMLNodeList nodes);
+ bool init_formats (XMLNodeList nodes);
FormatStatePtr deserialize_format (XMLNode & root);
XMLNode & serialize_format (FormatStatePtr state);
@@ -249,11 +246,7 @@ class ExportProfileManager
FilenameStateList filenames;
- void init_filenames (XMLNodeList nodes);
-
- FilenameStatePtr deserialize_filename (XMLNode & root);
- XMLNode & serialize_filename (FilenameStatePtr state);
-
+ bool init_filenames (XMLNodeList nodes);
FilenamePtr load_filename (XMLNode & node);
/* Warnings */
diff --git a/libs/ardour/ardour/filename_extensions.h b/libs/ardour/ardour/filename_extensions.h
index 3e280d6326..24d75c4a18 100644
--- a/libs/ardour/ardour/filename_extensions.h
+++ b/libs/ardour/ardour/filename_extensions.h
@@ -11,6 +11,8 @@ extern const char* const peakfile_suffix;
extern const char* const backup_suffix;
extern const char* const temp_suffix;
extern const char* const history_suffix;
+extern const char* const export_preset_suffix;
+extern const char* const export_format_suffix;
}