X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fexport_range_markers_dialog.cc;h=1184294a6712e6f5fd6314f80ade182486650ba9;hb=a87d7bfe27e7d798bed1c52d6eb00ecbf2506e3c;hp=07ce651e628bbeff570bccf22acb598d1df5ed27;hpb=9d72c26b7353ce3bc8ee38f06de59ae68588ee20;p=ardour.git diff --git a/gtk2_ardour/export_range_markers_dialog.cc b/gtk2_ardour/export_range_markers_dialog.cc index 07ce651e62..1184294a67 100644 --- a/gtk2_ardour/export_range_markers_dialog.cc +++ b/gtk2_ardour/export_range_markers_dialog.cc @@ -25,8 +25,6 @@ #include #include -#include - #include "ardour_ui.h" #include "export_range_markers_dialog.h" @@ -34,17 +32,26 @@ using namespace Gtk; using namespace ARDOUR; +using namespace PBD; 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 () @@ -58,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); @@ -83,7 +90,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,7 +99,6 @@ ExportRangeMarkersDialog::process_range_markers_export(Locations::LocationList& } } - getSession().engine().freewheel (false); current_range_marker_index++; } } @@ -141,15 +148,14 @@ ExportRangeMarkersDialog::is_filepath_valid(string &filepath) if ( (stat (filepath.c_str(), &statbuf) != 0) || (!S_ISDIR (statbuf.st_mode)) ) { - string txt = _("Please select an existing target directory. Files\n" - "are not allowed!"); + string txt = _("Please select an existing target directory. Files are not allowed!"); MessageDialog msg (*this, txt, false, MESSAGE_ERROR, BUTTONS_OK, true); msg.run(); return false; } // directory needs to exist and be writable - string dirpath = PBD::dirname (filepath); + string dirpath = Glib::path_get_dirname (filepath); if (::access (dirpath.c_str(), W_OK) != 0) { string txt = _("Cannot write file in: ") + dirpath; MessageDialog msg (*this, txt, false, MESSAGE_ERROR, BUTTONS_OK, true); @@ -167,20 +173,18 @@ ExportRangeMarkersDialog::init_progress_computing(Locations::LocationList& locat // flush vector range_markers_durations_aggregated.resize(0); - jack_nframes_t duration_before_current_location = 0; + nframes_t duration_before_current_location = 0; Locations::LocationList::iterator locationIter; for (locationIter = locations.begin(); locationIter != locations.end(); ++locationIter) { Location *currentLocation = (*locationIter); if(currentLocation->is_range_marker()){ - range_markers_durations_aggregated.push_back( - duration_before_current_location); + range_markers_durations_aggregated.push_back (duration_before_current_location); - jack_nframes_t duration = - currentLocation->end() - currentLocation->start(); + nframes_t duration = currentLocation->end() - currentLocation->start(); - range_markers_durations.push_back(duration); + range_markers_durations.push_back (duration); duration_before_current_location += duration; } } @@ -193,14 +197,12 @@ gint ExportRangeMarkersDialog::progress_timeout () { double progress = 0.0; - - if(current_range_marker_index >= range_markers_durations.size()){ + + if (current_range_marker_index >= range_markers_durations.size()){ progress = 1.0; - } - else{ - progress = - ((double) range_markers_durations_aggregated[current_range_marker_index] + - (spec.progress * (double) range_markers_durations[current_range_marker_index])) / + } else{ + progress = ((double) range_markers_durations_aggregated[current_range_marker_index] + + (spec.progress * (double) range_markers_durations[current_range_marker_index])) / (double) total_duration; }