#include "ardour/debug.h"
#include "ardour/location.h"
#include "ardour/meter.h"
+#include "ardour/midi_track.h"
#include "ardour/panner.h"
#include "ardour/panner_shell.h"
#include "ardour/route.h"
switch (_view_mode) {
case Mixer:
+ sorted.push_back (*it);
+ remote_ids.insert (route->remote_control_id());
break;
case AudioTracks:
break;
case Busses:
break;
case MidiTracks:
+ if (is_midi_track(*it)) {
+ sorted.push_back (*it);
+ remote_ids.insert (route->remote_control_id());
+ }
break;
case Plugins:
break;
break;
}
- sorted.push_back (*it);
- remote_ids.insert (route->remote_control_id());
}
sort (sorted.begin(), sorted.end(), RouteByRemoteId());
}
}
}
+
+bool
+MackieControlProtocol::is_midi_track (boost::shared_ptr<Route> r) const
+{
+ return boost::dynamic_pointer_cast<MidiTrack>(r) != 0;
+}
bool zoom_mode () const { return modifier_state() & MODIFIER_ZOOM; }
bool metering_active () const { return _metering_active; }
+ bool is_midi_track (boost::shared_ptr<ARDOUR::Route>) const;
+
void set_view_mode (ViewMode);
void set_flip_mode (FlipMode);
void set_pot_mode (PotMode);
MackieControlProtocol::miditracks_release (Mackie::Button&)
{
set_view_mode (MidiTracks);
+ refresh_current_bank();
return none;
}
Mackie::LedState
MackieControlProtocol::audiotracks_release (Mackie::Button&)
{
set_view_mode (AudioTracks);
+ refresh_current_bank();
return none;
}
Mackie::LedState
MackieControlProtocol::aux_release (Mackie::Button&)
{
set_view_mode (Auxes);
+ refresh_current_bank();
return none;
}
Mackie::LedState
MackieControlProtocol::busses_release (Mackie::Button&)
{
set_view_mode (Busses);
+ refresh_current_bank();
return none;
}
Mackie::LedState
MackieControlProtocol::view_press (Mackie::Button&)
{
set_view_mode (Mixer);
+ refresh_current_bank();
return none;
}
Mackie::LedState
void set_route (boost::shared_ptr<ARDOUR::Route>, bool with_messages = true);
// call all signal handlers manually
- void notify_all();
+ void notify_all ();
void handle_button (Button&, ButtonState bs);
void handle_fader (Fader&, float position);
void reset_saved_values ();
- bool is_midi_track() const;
+ bool is_midi_track () const;
typedef std::map<Evoral::Parameter,Control*> ControlParameterMap;
ControlParameterMap control_by_parameter;