summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-04-13 20:39:59 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-04-13 20:39:59 +0000
commit565be46ea11fed1aa49a10aafca260f7f09a630c (patch)
treeec333558a52e2a37c162dd1959b9e7bff7f6c9d7
parentae09d046c1d5ac42493256dd219fe76309b53b96 (diff)
MCP: more of the same
git-svn-id: svn://localhost/ardour2/branches/3.0@11965 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--libs/surfaces/mackie/gui.cc18
-rw-r--r--libs/surfaces/mackie/gui.h3
-rw-r--r--libs/surfaces/mackie/strip.cc2
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));
}