diff options
author | Sakari Bergen <sakari.bergen@beatwaves.net> | 2008-09-20 22:06:02 +0000 |
---|---|---|
committer | Sakari Bergen <sakari.bergen@beatwaves.net> | 2008-09-20 22:06:02 +0000 |
commit | eec19ca7afde0da57b2a4d9abc6ef847e6924975 (patch) | |
tree | ab5d5f7ef73b01cd3b24405859c51b0678ea580c /libs/ardour/ardour | |
parent | 79f59951e3dbcf655d5284830f125d6e1962d46c (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.h | 13 | ||||
-rw-r--r-- | libs/ardour/ardour/export_profile_manager.h | 23 | ||||
-rw-r--r-- | libs/ardour/ardour/filename_extensions.h | 2 |
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; } |