diff options
-rw-r--r-- | libs/surfaces/mackie/gui.cc | 18 | ||||
-rw-r--r-- | libs/surfaces/mackie/gui.h | 3 | ||||
-rw-r--r-- | libs/surfaces/mackie/strip.cc | 2 |
3 files changed, 22 insertions, 1 deletions
diff --git a/libs/surfaces/mackie/gui.cc b/libs/surfaces/mackie/gui.cc index 14212ef81a..5cb3bf622e 100644 --- a/libs/surfaces/mackie/gui.cc +++ b/libs/surfaces/mackie/gui.cc @@ -187,6 +187,7 @@ MackieControlProtocolGUI::rebuild_function_key_editor () action_renderer->property_editable() = true; action_renderer->property_text_column() = 0; action_renderer->property_has_entry() = false; + action_renderer->signal_edited().connect (sigc::mem_fun(*this, &MackieControlProtocolGUI::action_changed)); TreeViewColumn* col; @@ -222,24 +223,41 @@ MackieControlProtocolGUI::rebuild_function_key_editor () row = *(function_key_model->append()); row[function_key_columns.name] = "F1"; + row[function_key_columns.number] = 0; row = *(function_key_model->append()); row[function_key_columns.name] = "F2"; + row[function_key_columns.number] = 1; row = *(function_key_model->append()); row[function_key_columns.name] = "F3"; + row[function_key_columns.number] = 2; row = *(function_key_model->append()); row[function_key_columns.name] = "F4"; + row[function_key_columns.number] = 3; row = *(function_key_model->append()); row[function_key_columns.name] = "F5"; + row[function_key_columns.number] = 4; row = *(function_key_model->append()); row[function_key_columns.name] = "F6"; + row[function_key_columns.number] = 5; row = *(function_key_model->append()); row[function_key_columns.name] = "F7"; + row[function_key_columns.number] = 6; row = *(function_key_model->append()); row[function_key_columns.name] = "F8"; + row[function_key_columns.number] = 7; function_key_editor.set_model (function_key_model); } +void +MackieControlProtocolGUI::action_changed (const Glib::ustring &sPath, const Glib::ustring &text) +{ + Gtk::TreePath path(sPath); + Gtk::TreeModel::iterator row = function_key_model->get_iter(path); + + cerr << sPath << " changed to " << text << endl; +} + void MackieControlProtocolGUI::surface_combo_changed () { diff --git a/libs/surfaces/mackie/gui.h b/libs/surfaces/mackie/gui.h index fd36d69cfd..b828253483 100644 --- a/libs/surfaces/mackie/gui.h +++ b/libs/surfaces/mackie/gui.h @@ -52,6 +52,7 @@ class MackieControlProtocolGUI : public Gtk::Notebook struct FunctionKeyColumns : public Gtk::TreeModel::ColumnRecord { FunctionKeyColumns() { add (name); + add (number); add (plain); add (shift); add (control); @@ -60,6 +61,7 @@ class MackieControlProtocolGUI : public Gtk::Notebook add (shiftcontrol); }; Gtk::TreeModelColumn<std::string> name; + Gtk::TreeModelColumn<uint32_t> number; Gtk::TreeModelColumn<std::string> plain; Gtk::TreeModelColumn<std::string> shift; Gtk::TreeModelColumn<std::string> control; @@ -77,5 +79,6 @@ class MackieControlProtocolGUI : public Gtk::Notebook Glib::RefPtr<Gtk::TreeStore> available_action_model; void rebuild_function_key_editor (); + void action_changed (const Glib::ustring &sPath, const Glib::ustring &text); }; diff --git a/libs/surfaces/mackie/strip.cc b/libs/surfaces/mackie/strip.cc index 3a2da7a696..0f930c17e7 100644 --- a/libs/surfaces/mackie/strip.cc +++ b/libs/surfaces/mackie/strip.cc @@ -505,7 +505,7 @@ Strip::do_parameter_display (AutomationType type, float val) case PanAzimuthAutomation: if (_route) { boost::shared_ptr<Pannable> p = _route->pannable(); - if (p) { + if (p && p->panner()) { string str = p->panner()->value_as_string (p->pan_azimuth_control); _surface->write (display (1, str)); } |