diff options
author | Sakari Bergen <sakari.bergen@beatwaves.net> | 2008-10-11 10:14:51 +0000 |
---|---|---|
committer | Sakari Bergen <sakari.bergen@beatwaves.net> | 2008-10-11 10:14:51 +0000 |
commit | 98389f7da420ee205f6827b7df4db3ea0802f751 (patch) | |
tree | 28a28cf591b3d90a7eb60f422eee95e5ebfed6dc /libs/ardour/export_profile_manager.cc | |
parent | 01b1790c98f9ee6739681f1dc8fe529c3ca7160a (diff) |
Region export dialog: Make export channel and -selector polymorphic, add the region related classes and a dialog specialization
git-svn-id: svn://localhost/ardour2/branches/3.0@3915 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/export_profile_manager.cc')
-rw-r--r-- | libs/ardour/export_profile_manager.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libs/ardour/export_profile_manager.cc b/libs/ardour/export_profile_manager.cc index dee9a9a991..86b586d8e0 100644 --- a/libs/ardour/export_profile_manager.cc +++ b/libs/ardour/export_profile_manager.cc @@ -53,6 +53,7 @@ ExportProfileManager::ExportProfileManager (Session & s) : session_range (new Location ()), ranges (new LocationList ()), + single_range_mode (false), format_list (new FormatList ()) { @@ -299,6 +300,20 @@ ExportProfileManager::set_selection_range (nframes_t start, nframes_t end) } } +std::string +ExportProfileManager::set_single_range (nframes_t start, nframes_t end, Glib::ustring name) +{ + single_range_mode = true; + + single_range.reset (new Location()); + single_range->set_name (name); + single_range->set (start, end); + + update_ranges (); + + return single_range->id().to_s(); +} + bool ExportProfileManager::init_timespans (XMLNodeList nodes) { @@ -377,6 +392,11 @@ ExportProfileManager::serialize_timespan (TimespanStatePtr state) void ExportProfileManager::update_ranges () { ranges->clear(); + + if (single_range_mode) { + ranges->push_back (single_range.get()); + return; + } /* Session */ |