|
Ardour
9.0-pre0-1950-g391fe97693
|
#include <surface.h>
Public Types | |
| enum | XTouchColors { Off , Red , Green , Yellow , Blue , Purple , Cyan , White } |
| typedef std::vector< Control * > | Controls |
| typedef std::vector< Strip * > | Strips |
| The collection of all numbered strips. More... | |
| typedef std::map< std::string, Group * > | Groups |
| This collection owns the groups. More... | |
Public Member Functions | |
| Surface (MackieControlProtocol &, const std::string &name, uint32_t number, surface_type_t stype) | |
| virtual | ~Surface () |
| surface_type_t | type () const |
| uint32_t | number () const |
| const std::string & | name () |
| void | connected () |
| bool | active () const |
| NS_MCU ::JogWheel * | jog_wheel () const |
| Fader * | master_fader () const |
| uint32_t | n_strips (bool with_locked_strips=true) const |
| Strip * | nth_strip (uint32_t n) const |
| bool | stripable_is_locked_to_strip (std::shared_ptr< ARDOUR::Stripable >) const |
| bool | stripable_is_mapped (std::shared_ptr< ARDOUR::Stripable >) const |
| SurfacePort & | port () const |
| void | map_stripables (const std::vector< std::shared_ptr< ARDOUR::Stripable > > &) |
| void | update_strip_selection () |
| const MidiByteArray & | sysex_hdr () const |
| void | periodic (PBD::microseconds_t now_usecs) |
| void | redisplay (PBD::microseconds_t now_usecs, bool force) |
| void | hui_heartbeat () |
| void | handle_midi_pitchbend_message (MIDI::Parser &, MIDI::pitchbend_t, uint32_t channel_id) |
| void | handle_midi_controller_message (MIDI::Parser &, MIDI::EventTwoBytes *) |
| void | handle_midi_note_on_message (MIDI::Parser &, MIDI::EventTwoBytes *) |
| void | connect_to_signals () |
| void | write_sysex (const MidiByteArray &mba) |
| write a sysex message More... | |
| void | write_sysex (MIDI::byte msg) |
| void | write (const MidiByteArray &) |
| proxy write for port More... | |
| void | display_bank_start (uint32_t) |
| display an indicator of the first switched-in Route. Do nothing by default. More... | |
| void | zero_all () |
| called from MackieControlProtocol::zero_all to turn things off More... | |
| void | zero_controls () |
| void | blank_jog_ring () |
| void | display_timecode (const std::string &, const std::string &) |
| void | reset () |
| sends MCP "reset" message to surface More... | |
| void | recalibrate_faders () |
| void | toggle_backlight () |
| void | set_touch_sensitivity (int) |
| float | scrub_scaling_factor () const |
| float | scaled_delta (float delta, float current_speed) |
| void | show_two_char_display (const std::string &msg, const std::string &dots=" ") |
| void | show_two_char_display (unsigned int value, const std::string &dots=" ") |
| void | update_view_mode_display (bool with_helpful_text) |
| void | update_flip_mode_display () |
| void | subview_mode_changed () |
| MackieControlProtocol & | mcp () const |
| void | next_jog_mode () |
| void | set_jog_mode (NS_MCU ::JogWheel::Mode) |
| void | notify_metering_state_changed () |
| void | turn_it_on () |
| void | display_message_for (std::string const &msg, uint64_t msecs) |
| bool | connection_handler (std::weak_ptr< ARDOUR::Port >, std::string name1, std::weak_ptr< ARDOUR::Port >, std::string name2, bool) |
| void | master_monitor_may_have_changed () |
| XMLNode & | get_state () const |
| int | set_state (const XMLNode &, int version) |
| bool | get_qcon_flag () |
| void | toggle_master_monitor () |
| bool | master_stripable_is_master_monitor () |
Public Member Functions inherited from PBD::ScopedConnectionList | |
| ScopedConnectionList () | |
| ScopedConnectionList (const ScopedConnectionList &)=delete | |
| ScopedConnectionList & | operator= (const ScopedConnectionList &)=delete |
| virtual | ~ScopedConnectionList () |
| void | add_connection (const UnscopedConnection &c) |
| void | drop_connections () |
| std::list< ScopedConnectionList * >::size_type | size () const |
Public Attributes | |
| Controls | controls |
| std::map< int, Fader * > | faders |
| std::map< int, Pot * > | pots |
| std::map< int, Button * > | buttons |
| std::map< int, Led * > | leds |
| std::map< int, Meter * > | meters |
| std::map< int, Control * > | controls_by_device_independent_id |
| Strips | strips |
| Groups | groups |
| GSource * | input_source |
Private Types | |
| enum | ConnectionState { InputConnected = 0x1 , OutputConnected = 0x2 } |
Private Member Functions | |
| void | handle_midi_sysex (MIDI::Parser &, MIDI::byte *, size_t count) |
| MidiByteArray | host_connection_query (MidiByteArray &bytes) |
| MidiByteArray | host_connection_confirmation (const MidiByteArray &bytes) |
| void | say_hello () |
| void | init_controls () |
| void | init_strips (uint32_t n) |
| void | setup_master () |
| void | master_gain_changed () |
| void | master_property_changed (const PBD::PropertyChange &) |
| void | master_meter_changed () |
| void | show_master_name () |
| MidiByteArray | master_display (uint32_t line_number, const std::string &) |
| MidiByteArray | blank_master_display (uint32_t line_number) |
| MidiByteArray | display_line (std::string const &msg, int line_num) |
| MidiByteArray | display_colors_on_xtouch (const XTouchColors color_values[]) const |
| uint8_t | convert_color_to_xtouch_value (uint32_t color) const |
Private Attributes | |
| MackieControlProtocol & | _mcp |
| SurfacePort * | _port |
| surface_type_t | _stype |
| uint32_t | _number |
| std::string | _name |
| bool | _active |
| bool | _connected |
| NS_MCU ::JogWheel * | _jog_wheel |
| Fader * | _master_fader |
| float | _last_master_gain_written |
| PBD::ScopedConnection | master_connection |
| bool | _has_master_display |
| bool | _has_master_meter |
| std::shared_ptr< ARDOUR::Stripable > | _master_stripable |
| std::string | pending_display [2] |
| std::string | current_display [2] |
| int | connection_state |
| bool | is_qcon |
Definition at line 64 of file mackie/surface.h.
| typedef std::vector<Control*> ArdourSurface::NS_MCU::Surface::Controls |
Definition at line 89 of file mackie/surface.h.
| typedef std::map<std::string,Group*> ArdourSurface::NS_MCU::Surface::Groups |
This collection owns the groups.
Definition at line 113 of file mackie/surface.h.
| typedef std::vector<Strip*> ArdourSurface::NS_MCU::Surface::Strips |
The collection of all numbered strips.
Definition at line 103 of file mackie/surface.h.
|
private |
| Enumerator | |
|---|---|
| InputConnected | |
| OutputConnected | |
Definition at line 245 of file mackie/surface.h.
| Enumerator | |
|---|---|
| Off | |
| Red | |
| Green | |
| Yellow | |
| Blue | |
| Purple | |
| Cyan | |
| White | |
Definition at line 67 of file mackie/surface.h.
| ArdourSurface::NS_MCU::Surface::Surface | ( | MackieControlProtocol & | , |
| const std::string & | name, | ||
| uint32_t | number, | ||
| surface_type_t | stype | ||
| ) |
|
virtual |
|
inline |
Definition at line 87 of file mackie/surface.h.
| void ArdourSurface::NS_MCU::Surface::blank_jog_ring | ( | ) |
turn off leds around the jog wheel. This is for surfaces that use a pot pretending to be a jog wheel.
|
private |
| void ArdourSurface::NS_MCU::Surface::connect_to_signals | ( | ) |
Connect the any signal from the parser to handle_midi_any unless it's already connected
| void ArdourSurface::NS_MCU::Surface::connected | ( | ) |
| bool ArdourSurface::NS_MCU::Surface::connection_handler | ( | std::weak_ptr< ARDOUR::Port > | , |
| std::string | name1, | ||
| std::weak_ptr< ARDOUR::Port > | , | ||
| std::string | name2, | ||
| bool | |||
| ) |
|
private |
| void ArdourSurface::NS_MCU::Surface::display_bank_start | ( | uint32_t | ) |
display an indicator of the first switched-in Route. Do nothing by default.
|
private |
|
private |
| void ArdourSurface::NS_MCU::Surface::display_message_for | ( | std::string const & | msg, |
| uint64_t | msecs | ||
| ) |
| void ArdourSurface::NS_MCU::Surface::display_timecode | ( | const std::string & | , |
| const std::string & | |||
| ) |
|
inline |
Definition at line 206 of file mackie/surface.h.
| XMLNode& ArdourSurface::NS_MCU::Surface::get_state | ( | ) | const |
| void ArdourSurface::NS_MCU::Surface::handle_midi_controller_message | ( | MIDI::Parser & | , |
| MIDI::EventTwoBytes * | |||
| ) |
| void ArdourSurface::NS_MCU::Surface::handle_midi_note_on_message | ( | MIDI::Parser & | , |
| MIDI::EventTwoBytes * | |||
| ) |
| void ArdourSurface::NS_MCU::Surface::handle_midi_pitchbend_message | ( | MIDI::Parser & | , |
| MIDI::pitchbend_t | , | ||
| uint32_t | channel_id | ||
| ) |
|
private |
|
private |
|
private |
| void ArdourSurface::NS_MCU::Surface::hui_heartbeat | ( | ) |
|
private |
|
private |
|
inline |
Definition at line 99 of file mackie/surface.h.
| void ArdourSurface::NS_MCU::Surface::map_stripables | ( | const std::vector< std::shared_ptr< ARDOUR::Stripable > > & | ) |
|
private |
|
inline |
Definition at line 100 of file mackie/surface.h.
|
private |
|
private |
| void ArdourSurface::NS_MCU::Surface::master_monitor_may_have_changed | ( | ) |
|
private |
| bool ArdourSurface::NS_MCU::Surface::master_stripable_is_master_monitor | ( | ) |
|
inline |
Definition at line 189 of file mackie/surface.h.
| uint32_t ArdourSurface::NS_MCU::Surface::n_strips | ( | bool | with_locked_strips = true | ) | const |
|
inline |
Definition at line 83 of file mackie/surface.h.
| void ArdourSurface::NS_MCU::Surface::next_jog_mode | ( | ) |
| void ArdourSurface::NS_MCU::Surface::notify_metering_state_changed | ( | ) |
| Strip* ArdourSurface::NS_MCU::Surface::nth_strip | ( | uint32_t | n | ) | const |
|
inline |
Definition at line 82 of file mackie/surface.h.
| void ArdourSurface::NS_MCU::Surface::periodic | ( | PBD::microseconds_t | now_usecs | ) |
|
inline |
Definition at line 116 of file mackie/surface.h.
| void ArdourSurface::NS_MCU::Surface::recalibrate_faders | ( | ) |
| void ArdourSurface::NS_MCU::Surface::redisplay | ( | PBD::microseconds_t | now_usecs, |
| bool | force | ||
| ) |
| void ArdourSurface::NS_MCU::Surface::reset | ( | ) |
sends MCP "reset" message to surface
|
private |
| float ArdourSurface::NS_MCU::Surface::scaled_delta | ( | float | delta, |
| float | current_speed | ||
| ) |
The scaling factor function for speed increase and decrease. At low transport speeds this should return a small value, for high transport speeds, this should return an exponentially larger value. This provides high definition control at low speeds and quick speed changes to/from higher speeds.
| float ArdourSurface::NS_MCU::Surface::scrub_scaling_factor | ( | ) | const |
This is used to calculate the clicks per second that define a transport speed of 1.0 for the jog wheel. 100.0 is 10 clicks per second, 50.5 is 5 clicks per second.
| void ArdourSurface::NS_MCU::Surface::set_jog_mode | ( | NS_MCU ::JogWheel::Mode | ) |
| int ArdourSurface::NS_MCU::Surface::set_state | ( | const XMLNode & | , |
| int | version | ||
| ) |
| void ArdourSurface::NS_MCU::Surface::set_touch_sensitivity | ( | int | ) |
|
private |
|
private |
| void ArdourSurface::NS_MCU::Surface::show_two_char_display | ( | const std::string & | msg, |
| const std::string & | dots = " " |
||
| ) |
| void ArdourSurface::NS_MCU::Surface::show_two_char_display | ( | unsigned int | value, |
| const std::string & | dots = " " |
||
| ) |
| bool ArdourSurface::NS_MCU::Surface::stripable_is_locked_to_strip | ( | std::shared_ptr< ARDOUR::Stripable > | ) | const |
| bool ArdourSurface::NS_MCU::Surface::stripable_is_mapped | ( | std::shared_ptr< ARDOUR::Stripable > | ) | const |
| void ArdourSurface::NS_MCU::Surface::subview_mode_changed | ( | ) |
| const MidiByteArray& ArdourSurface::NS_MCU::Surface::sysex_hdr | ( | ) | const |
| void ArdourSurface::NS_MCU::Surface::toggle_backlight | ( | ) |
| void ArdourSurface::NS_MCU::Surface::toggle_master_monitor | ( | ) |
| void ArdourSurface::NS_MCU::Surface::turn_it_on | ( | ) |
|
inline |
Definition at line 81 of file mackie/surface.h.
| void ArdourSurface::NS_MCU::Surface::update_flip_mode_display | ( | ) |
| void ArdourSurface::NS_MCU::Surface::update_strip_selection | ( | ) |
| void ArdourSurface::NS_MCU::Surface::update_view_mode_display | ( | bool | with_helpful_text | ) |
| void ArdourSurface::NS_MCU::Surface::write | ( | const MidiByteArray & | ) |
proxy write for port
| void ArdourSurface::NS_MCU::Surface::write_sysex | ( | const MidiByteArray & | mba | ) |
write a sysex message
| void ArdourSurface::NS_MCU::Surface::write_sysex | ( | MIDI::byte | msg | ) |
| void ArdourSurface::NS_MCU::Surface::zero_all | ( | ) |
called from MackieControlProtocol::zero_all to turn things off
| void ArdourSurface::NS_MCU::Surface::zero_controls | ( | ) |
|
private |
Definition at line 217 of file mackie/surface.h.
|
private |
Definition at line 218 of file mackie/surface.h.
|
private |
Definition at line 223 of file mackie/surface.h.
|
private |
Definition at line 224 of file mackie/surface.h.
|
private |
Definition at line 219 of file mackie/surface.h.
|
private |
Definition at line 221 of file mackie/surface.h.
|
private |
Definition at line 220 of file mackie/surface.h.
|
private |
Definition at line 225 of file mackie/surface.h.
|
private |
Definition at line 212 of file mackie/surface.h.
|
private |
Definition at line 216 of file mackie/surface.h.
|
private |
Definition at line 215 of file mackie/surface.h.
|
private |
Definition at line 213 of file mackie/surface.h.
|
private |
Definition at line 214 of file mackie/surface.h.
| std::map<int,Button*> ArdourSurface::NS_MCU::Surface::buttons |
Definition at line 94 of file mackie/surface.h.
|
private |
Definition at line 250 of file mackie/surface.h.
| Controls ArdourSurface::NS_MCU::Surface::controls |
Definition at line 90 of file mackie/surface.h.
| std::map<int,Control*> ArdourSurface::NS_MCU::Surface::controls_by_device_independent_id |
Definition at line 97 of file mackie/surface.h.
|
private |
Definition at line 228 of file mackie/surface.h.
| std::map<int,Fader*> ArdourSurface::NS_MCU::Surface::faders |
Definition at line 92 of file mackie/surface.h.
| Groups ArdourSurface::NS_MCU::Surface::groups |
Definition at line 114 of file mackie/surface.h.
| GSource* ArdourSurface::NS_MCU::Surface::input_source |
Definition at line 261 of file mackie/surface.h.
|
private |
Definition at line 253 of file mackie/surface.h.
| std::map<int,Led*> ArdourSurface::NS_MCU::Surface::leds |
Definition at line 95 of file mackie/surface.h.
|
private |
Definition at line 222 of file mackie/surface.h.
| std::map<int,Meter*> ArdourSurface::NS_MCU::Surface::meters |
Definition at line 96 of file mackie/surface.h.
|
private |
Definition at line 227 of file mackie/surface.h.
| std::map<int,Pot*> ArdourSurface::NS_MCU::Surface::pots |
Definition at line 93 of file mackie/surface.h.
| Strips ArdourSurface::NS_MCU::Surface::strips |
Definition at line 104 of file mackie/surface.h.