Unify the canvases by moving groups around rather than using set_scrolling_region...
[ardour.git] / gtk2_ardour / export_range_markers_dialog.cc
index 2a1e2a9af4e7d99441332bac6196b9b451d8aa84..329493e195ea447bbf718b7f455a9897044761eb 100644 (file)
@@ -38,12 +38,20 @@ using namespace std;
 ExportRangeMarkersDialog::ExportRangeMarkersDialog (PublicEditor& editor) 
        : ExportDialog(editor)
 { 
+       set_title (_("ardour: export ranges"));
+       file_frame.set_label (_("Export to Directory"));
+
        do_not_allow_export_cd_markers();
        
        total_duration = 0;
        current_range_marker_index = 0;
 }
-       
+
+Gtk::FileChooserAction
+ExportRangeMarkersDialog::browse_action () const
+{
+       return Gtk::FILE_CHOOSER_ACTION_CREATE_FOLDER;
+}
        
 void 
 ExportRangeMarkersDialog::export_audio_data ()
@@ -57,7 +65,7 @@ ExportRangeMarkersDialog::process_range_markers_export(Locations::LocationList&
        Locations::LocationList::iterator locationIter;
        current_range_marker_index = 0;
        init_progress_computing(locations);
-       
+
        for (locationIter = locations.begin(); locationIter != locations.end(); ++locationIter) {
                Location *currentLocation = (*locationIter);
 
@@ -73,8 +81,6 @@ ExportRangeMarkersDialog::process_range_markers_export(Locations::LocationList&
                        spec.start_frame = currentLocation->start();
                        spec.end_frame = currentLocation->end();
 
-                       getSession().request_locate(spec.start_frame, false);
-
                        if (getSession().start_audio_export(spec)){
                                // if export fails                      
                                return;
@@ -82,7 +88,8 @@ ExportRangeMarkersDialog::process_range_markers_export(Locations::LocationList&
 
                        // wait until export of this range finished
                        gtk_main_iteration();
-                       while(spec.running){
+
+                       while (spec.running){
                                if(gtk_events_pending()){
                                        gtk_main_iteration();
                                }else {
@@ -91,6 +98,8 @@ ExportRangeMarkersDialog::process_range_markers_export(Locations::LocationList&
                        }
                        
                        current_range_marker_index++;
+                       
+                       getSession().stop_audio_export (spec);
                }
        }
        
@@ -189,12 +198,6 @@ ExportRangeMarkersDialog::progress_timeout ()
 {
        double progress = 0.0;
 
-       cerr << "Progress timeout, total = " << total_duration << " index = " << current_range_marker_index
-            << " current = " << range_markers_durations[current_range_marker_index]
-            << " agg = " << range_markers_durations_aggregated[current_range_marker_index]
-            << " prog = " << spec.progress
-            << endl;
-       
        if (current_range_marker_index >= range_markers_durations.size()){
                progress = 1.0;
        } else{