summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-06-08 21:06:49 +0000
committerCarl Hetherington <carl@carlh.net>2012-06-08 21:06:49 +0000
commit0a4b746317153c96fb4e89b6ae8c9292ca30ba11 (patch)
tree9855f9867e373094618a1c843e9fdf097aa45d8f
parentaba03a3aa6faaf95645996a26c188d3d731ffe42 (diff)
No-op; some comments, remove some unused stuff, minor tidying up.
git-svn-id: svn://localhost/ardour2/branches/3.0@12616 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/export_dialog.cc29
-rw-r--r--gtk2_ardour/export_dialog.h6
-rw-r--r--libs/ardour/ardour/export_handler.h23
-rw-r--r--libs/ardour/ardour/session.h2
-rw-r--r--libs/ardour/export_handler.cc17
-rw-r--r--libs/ardour/session_export.cc2
6 files changed, 29 insertions, 50 deletions
diff --git a/gtk2_ardour/export_dialog.cc b/gtk2_ardour/export_dialog.cc
index 9da584307b..71f71fe3b8 100644
--- a/gtk2_ardour/export_dialog.cc
+++ b/gtk2_ardour/export_dialog.cc
@@ -127,17 +127,13 @@ ExportDialog::init ()
/* Buttons */
cancel_button = add_button (Gtk::Stock::CANCEL, RESPONSE_CANCEL);
- // Realtime export is disabled for now, as it will most probably not work
- //rt_export_button = add_button (_("Realtime Export"), RESPONSE_RT);
- //fast_export_button = add_button (_("Fast Export"), RESPONSE_FAST);
- fast_export_button = add_button (_("Export"), RESPONSE_FAST);
+ export_button = add_button (_("Export"), RESPONSE_FAST);
set_default_response (RESPONSE_FAST);
list_files_button.set_name ("PaddedButton");
cancel_button->signal_clicked().connect (sigc::mem_fun (*this, &ExportDialog::close_dialog));
- //rt_export_button->signal_clicked().connect (sigc::mem_fun (*this, &ExportDialog::export_rt));
- fast_export_button->signal_clicked().connect (sigc::mem_fun (*this, &ExportDialog::export_fw));
+ export_button->signal_clicked().connect (sigc::mem_fun (*this, &ExportDialog::do_export));
/* Done! */
@@ -262,8 +258,7 @@ ExportDialog::update_warnings_and_example_filename ()
list_files_hbox.hide ();
list_files_string = "";
- fast_export_button->set_sensitive (true);
- //rt_export_button->set_sensitive (true);
+ export_button->set_sensitive (true);
/* Add new warnings */
@@ -307,18 +302,10 @@ ExportDialog::show_conflicting_files ()
}
void
-ExportDialog::export_rt ()
+ExportDialog::do_export ()
{
profile_manager->prepare_for_export ();
- handler->do_export (true);
- show_progress ();
-}
-
-void
-ExportDialog::export_fw ()
-{
- profile_manager->prepare_for_export ();
- handler->do_export (false);
+ handler->do_export ();
show_progress ();
}
@@ -328,8 +315,7 @@ ExportDialog::show_progress ()
status->running = true;
cancel_button->set_label (_("Stop Export"));
- //rt_export_button->set_sensitive (false);
- fast_export_button->set_sensitive (false);
+ export_button->set_sensitive (false);
progress_bar.set_fraction (0.0);
warning_widget.hide_all();
@@ -381,8 +367,7 @@ ExportDialog::progress_timeout ()
void
ExportDialog::add_error (string const & text)
{
- fast_export_button->set_sensitive (false);
- //rt_export_button->set_sensitive (false);
+ export_button->set_sensitive (false);
if (warn_string.empty()) {
warn_string = _("<span color=\"#ffa755\">Error: ") + text + "</span>";
diff --git a/gtk2_ardour/export_dialog.h b/gtk2_ardour/export_dialog.h
index 835c220c23..9507d8b2d9 100644
--- a/gtk2_ardour/export_dialog.h
+++ b/gtk2_ardour/export_dialog.h
@@ -102,8 +102,7 @@ class ExportDialog : public ArdourDialog {
void update_warnings_and_example_filename ();
void show_conflicting_files ();
- void export_rt ();
- void export_fw ();
+ void do_export ();
void show_progress ();
gint progress_timeout ();
@@ -143,8 +142,7 @@ class ExportDialog : public ArdourDialog {
/* Buttons */
Gtk::Button * cancel_button;
- Gtk::Button * rt_export_button;
- Gtk::Button * fast_export_button;
+ Gtk::Button * export_button;
};
diff --git a/libs/ardour/ardour/export_handler.h b/libs/ardour/ardour/export_handler.h
index eb8ffc2333..235219e2f5 100644
--- a/libs/ardour/ardour/export_handler.h
+++ b/libs/ardour/ardour/export_handler.h
@@ -81,23 +81,12 @@ class ExportHandler : public ExportElementFactory
{}
ExportChannelConfigPtr channel_config;
- ExportFormatSpecPtr format;
+ ExportFormatSpecPtr format;
ExportFilenamePtr filename;
BroadcastInfoPtr broadcast_info;
};
private:
-
- /* Stuff for export configs
- * The multimap maps timespans to file specifications
- */
-
- typedef std::pair<ExportTimespanPtr, FileSpec> ConfigPair;
- typedef std::multimap<ExportTimespanPtr, FileSpec> ConfigMap;
-
- typedef boost::shared_ptr<ExportGraphBuilder> GraphBuilderPtr;
-
- private:
/* Session::get_export_handler() should be used to obtain an export handler
* This ensures that it doesn't go out of scope before finalize_audio_export is called
*/
@@ -111,7 +100,7 @@ class ExportHandler : public ExportElementFactory
bool add_export_config (ExportTimespanPtr timespan, ExportChannelConfigPtr channel_config,
ExportFormatSpecPtr format, ExportFilenamePtr filename,
BroadcastInfoPtr broadcast_info);
- void do_export (bool rt = false);
+ void do_export ();
std::string get_cd_marker_filename(std::string filename, CDMarkerFormat format);
@@ -120,11 +109,15 @@ class ExportHandler : public ExportElementFactory
int process (framecnt_t frames);
Session & session;
- GraphBuilderPtr graph_builder;
+ boost::shared_ptr<ExportGraphBuilder> graph_builder;
ExportStatusPtr export_status;
+
+ /* The timespan and corresponding file specifications that we are exporting;
+ there can be multiple FileSpecs for each ExportTimespan.
+ */
+ typedef std::multimap<ExportTimespanPtr, FileSpec> ConfigMap;
ConfigMap config_map;
- bool realtime;
bool normalizing;
/* Timespan management */
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index d31d1f9339..36a0733a3d 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -536,7 +536,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
boost::shared_ptr<ExportHandler> get_export_handler ();
boost::shared_ptr<ExportStatus> get_export_status ();
- int start_audio_export (framepos_t position, bool realtime);
+ int start_audio_export (framepos_t position);
PBD::Signal1<int, framecnt_t> ProcessExport;
static PBD::Signal2<void,std::string, std::string> Exported;
diff --git a/libs/ardour/export_handler.cc b/libs/ardour/export_handler.cc
index fb65cebff0..327b7d8812 100644
--- a/libs/ardour/export_handler.cc
+++ b/libs/ardour/export_handler.cc
@@ -103,7 +103,6 @@ ExportHandler::ExportHandler (Session & session)
, session (session)
, graph_builder (new ExportGraphBuilder (session))
, export_status (session.get_export_status ())
- , realtime (false)
, normalizing (false)
, cue_tracknum (0)
, cue_indexnum (0)
@@ -112,23 +111,23 @@ ExportHandler::ExportHandler (Session & session)
ExportHandler::~ExportHandler ()
{
- // TODO remove files that were written but not finsihed
+ // TODO remove files that were written but not finished
}
+/** Add an export to the `to-do' list */
bool
ExportHandler::add_export_config (ExportTimespanPtr timespan, ExportChannelConfigPtr channel_config,
ExportFormatSpecPtr format, ExportFilenamePtr filename,
BroadcastInfoPtr broadcast_info)
{
FileSpec spec (channel_config, format, filename, broadcast_info);
- ConfigPair pair (timespan, spec);
- config_map.insert (pair);
+ config_map.insert (make_pair (timespan, spec));
return true;
}
void
-ExportHandler::do_export (bool rt)
+ExportHandler::do_export ()
{
/* Count timespans */
@@ -144,7 +143,6 @@ ExportHandler::do_export (bool rt)
/* Start export */
- realtime = rt;
start_timespan ();
}
@@ -159,13 +157,18 @@ ExportHandler::start_timespan ()
return;
}
+ /* finish_timespan pops the config_map entry that has been done, so
+ this is the timespan to do this time
+ */
current_timespan = config_map.begin()->first;
+
export_status->total_frames_current_timespan = current_timespan->get_length();
export_status->timespan_name = current_timespan->name();
export_status->processed_frames_current_timespan = 0;
/* Register file configurations to graph builder */
+ /* Here's the config_map entries that use this timespan */
timespan_bounds = config_map.equal_range (current_timespan);
graph_builder->reset ();
graph_builder->set_current_timespan (current_timespan);
@@ -181,7 +184,7 @@ ExportHandler::start_timespan ()
normalizing = false;
session.ProcessExport.connect_same_thread (process_connection, boost::bind (&ExportHandler::process, this, _1));
process_position = current_timespan->get_start();
- session.start_audio_export (process_position, realtime);
+ session.start_audio_export (process_position);
}
int
diff --git a/libs/ardour/session_export.cc b/libs/ardour/session_export.cc
index 1d11dccbd0..acb23aee8b 100644
--- a/libs/ardour/session_export.cc
+++ b/libs/ardour/session_export.cc
@@ -102,7 +102,7 @@ Session::pre_export ()
/** Called for each range that is being exported */
int
-Session::start_audio_export (framepos_t position, bool /* realtime */)
+Session::start_audio_export (framepos_t position)
{
if (!_exporting) {
pre_export ();