duplicate_routes_dialog = new DuplicateRouteDialog;
}
- if (duplicate_routes_dialog->restart ()) {
- duplicate_routes_dialog->present ();
+ if (duplicate_routes_dialog->restart (_session)) {
+ return;
}
+
+ duplicate_routes_dialog->present ();
}
void
}
int
-DuplicateRouteDialog::restart ()
+DuplicateRouteDialog::restart (Session* s)
{
+ if (!s) {
+ return -1;
+ }
+
+ set_session (s);
+
TrackSelection& tracks (PublicEditor::instance().get_selection().tracks);
uint32_t ntracks = 0;
uint32_t nbusses = 0;
which is what we really want to happen here.
*/
- if (ntracks == 0) {
+ if (playlist_button_box.get_parent()) {
get_vbox()->remove (playlist_button_box);
- } else {
+ }
+
+ if (ntracks > 0) {
get_vbox()->pack_end (playlist_button_box, false, false);
}
#include "ardour_dialog.h"
+namespace ARDOUR {
+class Session;
+}
+
class Editor;
class DuplicateRouteDialog : public ArdourDialog
public:
DuplicateRouteDialog ();
- int restart ();
+ int restart (ARDOUR::Session*);
private:
Gtk::Entry name_template_entry;