+void
+FaderPort::map_auto ()
+{
+ /* Under no circumstances send a message to "enable" the LED state of
+ * the Off button, because this will disable the fader.
+ */
+
+ boost::shared_ptr<AutomationControl> control = _current_stripable->gain_control ();
+ const AutoState as = control->automation_state ();
+
+ switch (as) {
+ case ARDOUR::Play:
+ get_button (FP_Read).set_led_state (_output_port, true);
+ get_button (FP_Write).set_led_state (_output_port, false);
+ get_button (FP_Touch).set_led_state (_output_port, false);
+ break;
+ case ARDOUR::Write:
+ get_button (FP_Read).set_led_state (_output_port, false);
+ get_button (FP_Write).set_led_state (_output_port, true);
+ get_button (FP_Touch).set_led_state (_output_port, false);
+ break;
+ case ARDOUR::Touch:
+ get_button (FP_Read).set_led_state (_output_port, false);
+ get_button (FP_Write).set_led_state (_output_port, false);
+ get_button (FP_Touch).set_led_state (_output_port, true);
+ break;
+ case ARDOUR::Off:
+ get_button (FP_Read).set_led_state (_output_port, false);
+ get_button (FP_Write).set_led_state (_output_port, false);
+ get_button (FP_Touch).set_led_state (_output_port, false);
+ break;
+ }
+
+}
+
+