X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fadd_route_dialog.h;h=eb38338f1f73d8ab8721a56484ddf85567a884ce;hb=6a52dc321954b3d65ee9840bef08fe3c047d8850;hp=9d4d89906a630926cc3a4faf8c5b717ede752d28;hpb=7590b859fd0f836c624394c674aac09f812b3cfb;p=ardour.git diff --git a/gtk2_ardour/add_route_dialog.h b/gtk2_ardour/add_route_dialog.h index 9d4d89906a..eb38338f1f 100644 --- a/gtk2_ardour/add_route_dialog.h +++ b/gtk2_ardour/add_route_dialog.h @@ -29,32 +29,51 @@ #include #include #include +#include #include #include +#include +#include "ardour/plugin.h" #include "ardour/types.h" #include "ardour/template_utils.h" #include "ardour_dialog.h" +#include "instrument_selector.h" class Editor; class AddRouteDialog : public ArdourDialog { public: - AddRouteDialog (ARDOUR::Session*); + AddRouteDialog (); ~AddRouteDialog (); - bool track (); - int channels (); + enum TypeWanted { + AudioTrack, + MidiTrack, + MixedTrack, + AudioBus + }; + TypeWanted type_wanted() const; + + ARDOUR::ChanCount channels (); int count (); - std::string name_template (); + std::string name_template () const; + bool name_template_is_default () const; std::string track_template (); + ARDOUR::PluginInfoPtr requested_instrument (); - ARDOUR::DataType type(); ARDOUR::TrackMode mode(); ARDOUR::RouteGroup* route_group (); + enum InsertAt { + BeforeSelection, + AfterSelection, + First, + Last + }; + InsertAt insert_at(); private: Gtk::Entry name_template_entry; @@ -62,17 +81,24 @@ class AddRouteDialog : public ArdourDialog Gtk::Adjustment routes_adjustment; Gtk::SpinButton routes_spinner; Gtk::ComboBoxText channel_combo; + Gtk::Label configuration_label; Gtk::Label mode_label; + Gtk::Label instrument_label; Gtk::ComboBoxText mode_combo; Gtk::ComboBoxText route_group_combo; + InstrumentSelector instrument_combo; + Gtk::Label insert_at_label; + Gtk::ComboBoxText insert_at_combo; std::vector route_templates; void track_type_chosen (); void refill_channel_setups (); void refill_route_groups (); + void refill_track_modes (); void add_route_group (ARDOUR::RouteGroup *); void group_changed (); + void channel_combo_changed (); bool channel_separator (const Glib::RefPtr &m, const Gtk::TreeModel::iterator &i); bool route_separator (const Glib::RefPtr &m, const Gtk::TreeModel::iterator &i); void maybe_update_name_template_entry (); @@ -91,7 +117,6 @@ class AddRouteDialog : public ArdourDialog ChannelSetups channel_setups; static std::vector channel_combo_strings; - static std::vector track_mode_strings; static std::vector bus_mode_strings; };