MCP: more view mode stuff
git-svn-id: svn://localhost/ardour2/branches/3.0@11913 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
f40d6b6440
commit
1ce39cfb25
|
@ -333,6 +333,9 @@ MackieControlProtocol::switch_banks (uint32_t initial, bool force)
|
|||
|
||||
// display the current start bank.
|
||||
surfaces.front()->display_bank_start (_current_initial_bank);
|
||||
|
||||
/* reset this to get the right display of view mode after the switch */
|
||||
set_view_mode (_view_mode);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1090,43 +1093,8 @@ MackieControlProtocol::set_view_mode (ViewMode m)
|
|||
{
|
||||
_view_mode = m;
|
||||
|
||||
if (surfaces.empty()) {
|
||||
return;
|
||||
for (Surfaces::iterator s = surfaces.begin(); s != surfaces.end(); ++s) {
|
||||
(*s)->update_view_mode_display ();
|
||||
}
|
||||
|
||||
boost::shared_ptr<Surface> surface = surfaces.front();
|
||||
|
||||
if (surface->type() == mcu) {
|
||||
switch (_view_mode) {
|
||||
case Global:
|
||||
surface->write (surface->two_char_display ("Gl"));
|
||||
break;
|
||||
case Dynamics:
|
||||
surface->write (surface->two_char_display ("Dy"));
|
||||
break;
|
||||
case EQ:
|
||||
surface->write (surface->two_char_display ("EQ"));
|
||||
break;
|
||||
case Loop:
|
||||
surface->write (surface->two_char_display ("LP"));
|
||||
break;
|
||||
case AudioTracks:
|
||||
surface->write (surface->two_char_display ("AT"));
|
||||
break;
|
||||
case MidiTracks:
|
||||
surface->write (surface->two_char_display ("MT"));
|
||||
break;
|
||||
case Busses:
|
||||
surface->write (surface->two_char_display ("Bs"));
|
||||
break;
|
||||
case Sends:
|
||||
surface->write (surface->two_char_display ("Sn"));
|
||||
break;
|
||||
case Plugins:
|
||||
surface->write (surface->two_char_display ("Pl"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch_banks (_current_initial_bank, true);
|
||||
|
||||
}
|
||||
|
|
|
@ -404,7 +404,6 @@ Strip::notify_property_changed (const PropertyChange& what_changed)
|
|||
}
|
||||
|
||||
_surface->write (display (0, line1));
|
||||
_surface->write (blank_display (1));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -581,6 +581,10 @@ static char translate_seven_segment (char achar)
|
|||
MidiByteArray
|
||||
Surface::two_char_display (const std::string & msg, const std::string & dots)
|
||||
{
|
||||
if (_stype != mcu) {
|
||||
return MidiByteArray();
|
||||
}
|
||||
|
||||
if (msg.length() != 2) throw MackieControlException ("MackieMidiBuilder::two_char_display: msg must be exactly 2 characters");
|
||||
if (dots.length() != 2) throw MackieControlException ("MackieMidiBuilder::two_char_display: dots must be exactly 2 characters");
|
||||
|
||||
|
@ -653,3 +657,51 @@ Surface::timecode_display (const std::string & timecode, const std::string & las
|
|||
return retval;
|
||||
}
|
||||
|
||||
void
|
||||
Surface::update_view_mode_display ()
|
||||
{
|
||||
string text;
|
||||
|
||||
switch (_mcp.view_mode()) {
|
||||
case MackieControlProtocol::Global:
|
||||
_port->write (two_char_display ("Gl"));
|
||||
text = _("Pan");
|
||||
break;
|
||||
case MackieControlProtocol::Dynamics:
|
||||
_port->write (two_char_display ("Dy"));
|
||||
text = _("");
|
||||
break;
|
||||
case MackieControlProtocol::EQ:
|
||||
_port->write (two_char_display ("EQ"));
|
||||
text = _("");
|
||||
break;
|
||||
case MackieControlProtocol::Loop:
|
||||
_port->write (two_char_display ("LP"));
|
||||
text = _("");
|
||||
break;
|
||||
case MackieControlProtocol::AudioTracks:
|
||||
_port->write (two_char_display ("AT"));
|
||||
text = _("");
|
||||
break;
|
||||
case MackieControlProtocol::MidiTracks:
|
||||
_port->write (two_char_display ("MT"));
|
||||
text = _("");
|
||||
break;
|
||||
case MackieControlProtocol::Busses:
|
||||
_port->write (two_char_display ("Bs"));
|
||||
text = _("");
|
||||
break;
|
||||
case MackieControlProtocol::Sends:
|
||||
_port->write (two_char_display ("Sn"));
|
||||
text = _("");
|
||||
break;
|
||||
case MackieControlProtocol::Plugins:
|
||||
_port->write (two_char_display ("Pl"));
|
||||
text = _("");
|
||||
break;
|
||||
}
|
||||
|
||||
for (Strips::iterator s = strips.begin(); s != strips.end(); ++s) {
|
||||
_port->write ((*s)->display (1, text));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -141,6 +141,8 @@ public:
|
|||
*/
|
||||
MidiByteArray timecode_display (const std::string & timecode, const std::string & last_timecode = "");
|
||||
|
||||
void update_view_mode_display ();
|
||||
|
||||
protected:
|
||||
void init_controls();
|
||||
void init_strips ();
|
||||
|
|
Loading…
Reference in New Issue
Block a user