+void
+Control::set_control (boost::shared_ptr<AutomationControl> ac)
+{
+ normal_ac = ac;
+}
+
+void
+Control::set_value (float val)
+{
+ if (normal_ac) {
+ normal_ac->set_value (normal_ac->interface_to_internal (val));
+ }
+}
+
+float
+Control::get_value ()
+{
+ if (!normal_ac) {
+ return 0.0f;
+ }
+ return normal_ac->internal_to_interface (normal_ac->get_value());
+}
+
+void
+Control::start_touch (double when)
+{
+ if (normal_ac) {
+ return normal_ac->start_touch (when);
+ }
+}
+
+void
+Control::stop_touch (bool mark, double when)
+{
+ if (normal_ac) {
+ return normal_ac->stop_touch (mark, when);
+ }
+}
+
+ostream & operator << (ostream & os, const ArdourSurface::Mackie::Control & control)