+ 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<Gtk::TreeModel> &m, const Gtk::TreeModel::iterator &i);
+ bool route_separator (const Glib::RefPtr<Gtk::TreeModel> &m, const Gtk::TreeModel::iterator &i);
+ void maybe_update_name_template_entry ();
+
+ void reset_template_option_visibility ();
+
+ void on_show ();
+
+ struct ChannelSetup {
+ std::string name;
+ std::string template_path;
+ uint32_t channels;
+ };
+
+ typedef std::vector<ChannelSetup> ChannelSetups;
+ ChannelSetups channel_setups;
+
+ static std::vector<std::string> channel_combo_strings;
+ static std::vector<std::string> bus_mode_strings;
+
+ struct InstrumentListColumns : public Gtk::TreeModel::ColumnRecord {
+ InstrumentListColumns () {
+ add (name);
+ add (info_ptr);
+ }
+ Gtk::TreeModelColumn<std::string> name;
+ Gtk::TreeModelColumn<ARDOUR::PluginInfoPtr> info_ptr;
+ };
+
+ Glib::RefPtr<Gtk::ListStore> instrument_list;
+ InstrumentListColumns instrument_list_columns;
+
+ void build_instrument_list ();
+ uint32_t reasonable_synth_id;