+ 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 ();
+
+ struct TrackTemplateColumns : public Gtk::TreeModel::ColumnRecord {
+ TrackTemplateColumns () {
+ add (name);
+ add (path);
+ add (description);
+ add (created_with);
+ }
+
+ Gtk::TreeModelColumn<std::string> name;
+ Gtk::TreeModelColumn<std::string> path;
+ Gtk::TreeModelColumn<std::string> description;
+ Gtk::TreeModelColumn<std::string> created_with;
+ };
+
+ TrackTemplateColumns track_template_columns;
+
+ Glib::RefPtr<Gtk::TreeStore> trk_template_model;
+ Gtk::TreeView trk_template_chooser;
+
+ void trk_template_row_selected ();
+
+ Gtk::TextView trk_template_desc;
+ Gtk::Frame trk_template_outer_frame;
+ Gtk::Frame trk_template_desc_frame;