X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftransport_masters_dialog.h;h=0030493f4757c0378de62260b7d7c75239948e35;hb=41827a546a3fd8c8fb4095845f6b80f1f36ce048;hp=f90854b1eb36e5b539b35b3bbe4a3b9858e3aa26;hpb=58e9bb0a14ccda3242ac849067b27660383681f8;p=ardour.git diff --git a/gtk2_ardour/transport_masters_dialog.h b/gtk2_ardour/transport_masters_dialog.h index f90854b1eb..0030493f47 100644 --- a/gtk2_ardour/transport_masters_dialog.h +++ b/gtk2_ardour/transport_masters_dialog.h @@ -28,6 +28,7 @@ #include #include #include +#include #include #include "ardour_window.h" @@ -57,6 +58,21 @@ class TransportMastersWidget : public Gtk::VBox, public ARDOUR::SessionHandlePtr private: + struct AddTransportMasterDialog : public ArdourDialog { + public: + AddTransportMasterDialog (); + std::string get_name () const; + ARDOUR::SyncSource get_type () const; + + private: + Gtk::Label name_label; + Gtk::Label type_label; + Gtk::HBox name_hbox; + Gtk::HBox type_hbox; + Gtk::Entry name_entry; + Gtk::ComboBoxText type_combo; + }; + struct Row : sigc::trackable, PBD::ScopedConnectionList { TransportMastersWidget& parent; Gtk::EventBox label_box; @@ -125,10 +141,15 @@ class TransportMastersWidget : public Gtk::VBox, public ARDOUR::SessionHandlePtr sigc::connection update_connection; PBD::ScopedConnection current_connection; + PBD::ScopedConnection add_connection; + PBD::ScopedConnection remove_connection; void rebuild (); void current_changed (boost::shared_ptr old_master, boost::shared_ptr new_master); void add_master (); + + public: + bool idle_remove (Row*); }; class TransportMastersWindow : public ArdourWindow