summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_pt_import.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/editor_pt_import.cc')
-rw-r--r--gtk2_ardour/editor_pt_import.cc37
1 files changed, 5 insertions, 32 deletions
diff --git a/gtk2_ardour/editor_pt_import.cc b/gtk2_ardour/editor_pt_import.cc
index a98b0bec17..12b6484b78 100644
--- a/gtk2_ardour/editor_pt_import.cc
+++ b/gtk2_ardour/editor_pt_import.cc
@@ -58,6 +58,7 @@
#include "interthread_progress_window.h"
#include "mouse_cursors.h"
#include "editor_cursors.h"
+#include "pt_import_selector.h"
#include "pbd/i18n.h"
@@ -82,39 +83,13 @@ Editor::external_pt_dialog ()
return;
}
- Gtk::FileChooserDialog dialog (_("Import PT Session"), FILE_CHOOSER_ACTION_OPEN);
- dialog.add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
- dialog.add_button (Gtk::Stock::OK, Gtk::RESPONSE_OK);
+ PTImportSelector dialog (import_ptf);
+ dialog.set_session (_session);
while (true) {
int result = dialog.run ();
- if (result == Gtk::RESPONSE_OK) {
- ptpath = dialog.get_filename ();
-
- if (!Glib::file_test (ptpath, Glib::FILE_TEST_IS_DIR|Glib::FILE_TEST_EXISTS)) {
- Gtk::MessageDialog msg (string_compose (_("%1: this is only the directory/folder name, not the filename.\n"), ptpath));
- msg.run ();
- continue;
- }
- }
-
- if (ptpath.length ()) {
- uint32_t srate = _session->sample_rate ();
-
- if (import_ptf.load (ptpath, srate) == -1) {
- MessageDialog msg (_("Doesn't seem to be a valid PT session file"));
- msg.run ();
- return;
- } else {
- MessageDialog msg (string_compose (_("PT v%1 Session @ %2Hz\n\n%3 audio files\n%4 audio regions\n%5 active audio regions\n%6 midi regions\n%7 active midi regions\n\nContinue..."), (int)import_ptf.version, import_ptf.sessionrate, import_ptf.audiofiles.size (), import_ptf.regions.size (), import_ptf.tracks.size (), import_ptf.midiregions.size (), import_ptf.miditracks.size ()));
- msg.add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
-
- int result = msg.run ();
- if (result != Gtk::RESPONSE_OK) {
- return;
- }
- }
+ if (result == Gtk::RESPONSE_ACCEPT) {
import_pt_status.all_done = false;
@@ -141,9 +116,7 @@ Editor::external_pt_dialog ()
msg.run ();
}
break;
- }
-
- if (result == Gtk::RESPONSE_CANCEL) {
+ } else if (result == Gtk::RESPONSE_CANCEL) {
break;
}
}