Ardour  9.0-pre0-582-g084a23a80d
ArdourSurface::NS_MCU::Strip Class Reference

#include <strip.h>

Inheritance diagram for ArdourSurface::NS_MCU::Strip:
[legend]

Public Member Functions

 Strip (Surface &, const std::string &name, int index, const std::map< Button::ID, StripButtonInfo > &)
 
 ~Strip ()
 
std::shared_ptr< ARDOUR::Stripablestripable () const
 
void add (Control &control)
 
int index () const
 
Surfacesurface () const
 
void set_stripable (std::shared_ptr< ARDOUR::Stripable >, bool with_messages=true)
 
void notify_all ()
 
void handle_button (Button &, ButtonState bs)
 
void handle_fader (Fader &, float position)
 
void handle_fader_touch (Fader &, bool touch_on)
 
void handle_pot (Pot &, float delta)
 
void periodic (PBD::microseconds_t now_usecs)
 
void redisplay (PBD::microseconds_t now_usecs, bool force=true)
 
MidiByteArray display (uint32_t lcd_number, uint32_t line_number, const std::string &)
 
MidiByteArray blank_display (uint32_t lcd_number, uint32_t line_number)
 
void zero ()
 
void flip_mode_changed ()
 
void subview_mode_changed ()
 
void lock_controls ()
 
void unlock_controls ()
 
bool locked () const
 
void notify_metering_state_changed ()
 
void update_selection_state ()
 
void block_screen_display_for (uint32_t msecs)
 
void block_vpot_mode_display_for (uint32_t msecs)
 
- Public Member Functions inherited from ArdourSurface::NS_MCU::Group
 Group (const std::string &name)
 
virtual ~Group ()
 
virtual bool is_strip () const
 
virtual bool is_master () const
 
const std::string & name () const
 
void set_name (const std::string &rhs)
 
const Controlscontrols () const
 

Static Public Member Functions

static std::string format_parameter_for_display (ARDOUR::ParameterDescriptor const &desc, float val, std::shared_ptr< ARDOUR::Stripable > stripable_for_non_mixbus_azimuth_automation, bool &overwrite_screen_hold)
 

Private Types

enum  VPotDisplayMode { Name , Value }
 

Private Member Functions

void notify_solo_changed ()
 
void notify_mute_changed ()
 
void notify_record_enable_changed ()
 
void notify_gain_changed (bool force_update=true)
 
void notify_property_changed (const PBD::PropertyChange &)
 
void notify_panner_azi_changed (bool force_update=true)
 
void notify_panner_width_changed (bool force_update=true)
 
void notify_stripable_deleted ()
 
void notify_processor_changed (bool force_update=true)
 
void update_automation ()
 
void update_meter ()
 
std::string vpot_mode_string ()
 
void return_to_vpot_mode_display ()
 
void next_pot_mode ()
 
void do_parameter_display (ARDOUR::ParameterDescriptor const &, float val, bool screen_hold=false)
 
void select_event (Button &, ButtonState)
 
void vselect_event (Button &, ButtonState)
 
void fader_touch_event (Button &, ButtonState)
 
void set_vpot_parameter (ARDOUR::AutomationType)
 
void show_stripable_name ()
 
void reset_saved_values ()
 
bool is_midi_track () const
 

Private Attributes

Button_solo
 
Button_recenable
 
Button_mute
 
Button_select
 
Button_vselect
 
Button_fader_touch
 
Pot_vpot
 
Fader_fader
 
Meter_meter
 
int _index
 
Surface_surface
 
bool _controls_locked
 
bool _transport_is_rolling
 
bool _metering_active
 
bool _lcd2_available
 
uint32_t _lcd2_label_pitch
 
std::string pending_display [2]
 
std::string current_display [2]
 
std::string lcd2_pending_display [2]
 
std::string lcd2_current_display [2]
 
PBD::microseconds_t _block_screen_redisplay_until
 
PBD::microseconds_t return_to_vpot_mode_display_at
 
std::shared_ptr< ARDOUR::Stripable_stripable
 
PBD::ScopedConnectionList stripable_connections
 
ARDOUR::AutomationType _pan_mode
 
float _last_gain_position_written
 
float _last_pan_azi_position_written
 
float _last_pan_width_position_written
 
float _last_trim_position_written
 
std::shared_ptr< ARDOUR::AutomationControlmb_pan_controllable
 
std::vector< ARDOUR::AutomationTypepossible_pot_parameters
 
std::vector< ARDOUR::AutomationTypepossible_trim_parameters
 

Additional Inherited Members

- Public Types inherited from ArdourSurface::NS_MCU::Group
typedef std::vector< Control * > Controls
 
- Protected Attributes inherited from ArdourSurface::NS_MCU::Group
Controls _controls
 

Detailed Description

This is the set of controls that make up a strip.

Definition at line 67 of file mackie/strip.h.

Member Enumeration Documentation

◆ VPotDisplayMode

Enumerator
Name 
Value 

Definition at line 118 of file mackie/strip.h.

Constructor & Destructor Documentation

◆ Strip()

ArdourSurface::NS_MCU::Strip::Strip ( Surface ,
const std::string &  name,
int  index,
const std::map< Button::ID, StripButtonInfo > &   
)

◆ ~Strip()

ArdourSurface::NS_MCU::Strip::~Strip ( )

Member Function Documentation

◆ add()

void ArdourSurface::NS_MCU::Strip::add ( Control control)
virtual

Reimplemented from ArdourSurface::NS_MCU::Group.

◆ blank_display()

MidiByteArray ArdourSurface::NS_MCU::Strip::blank_display ( uint32_t  lcd_number,
uint32_t  line_number 
)

◆ block_screen_display_for()

void ArdourSurface::NS_MCU::Strip::block_screen_display_for ( uint32_t  msecs)

◆ block_vpot_mode_display_for()

void ArdourSurface::NS_MCU::Strip::block_vpot_mode_display_for ( uint32_t  msecs)

◆ display()

MidiByteArray ArdourSurface::NS_MCU::Strip::display ( uint32_t  lcd_number,
uint32_t  line_number,
const std::string &   
)

◆ do_parameter_display()

void ArdourSurface::NS_MCU::Strip::do_parameter_display ( ARDOUR::ParameterDescriptor const &  ,
float  val,
bool  screen_hold = false 
)
private

◆ fader_touch_event()

void ArdourSurface::NS_MCU::Strip::fader_touch_event ( Button ,
ButtonState   
)
private

◆ flip_mode_changed()

void ArdourSurface::NS_MCU::Strip::flip_mode_changed ( )

◆ format_parameter_for_display()

static std::string ArdourSurface::NS_MCU::Strip::format_parameter_for_display ( ARDOUR::ParameterDescriptor const &  desc,
float  val,
std::shared_ptr< ARDOUR::Stripable stripable_for_non_mixbus_azimuth_automation,
bool &  overwrite_screen_hold 
)
static

◆ handle_button()

void ArdourSurface::NS_MCU::Strip::handle_button ( Button ,
ButtonState  bs 
)

◆ handle_fader()

void ArdourSurface::NS_MCU::Strip::handle_fader ( Fader ,
float  position 
)

◆ handle_fader_touch()

void ArdourSurface::NS_MCU::Strip::handle_fader_touch ( Fader ,
bool  touch_on 
)

◆ handle_pot()

void ArdourSurface::NS_MCU::Strip::handle_pot ( Pot ,
float  delta 
)

◆ index()

int ArdourSurface::NS_MCU::Strip::index ( ) const
inline

Definition at line 76 of file mackie/strip.h.

◆ is_midi_track()

bool ArdourSurface::NS_MCU::Strip::is_midi_track ( ) const
private

◆ lock_controls()

void ArdourSurface::NS_MCU::Strip::lock_controls ( )

◆ locked()

bool ArdourSurface::NS_MCU::Strip::locked ( ) const
inline

Definition at line 108 of file mackie/strip.h.

◆ next_pot_mode()

void ArdourSurface::NS_MCU::Strip::next_pot_mode ( )
private

◆ notify_all()

void ArdourSurface::NS_MCU::Strip::notify_all ( )

◆ notify_gain_changed()

void ArdourSurface::NS_MCU::Strip::notify_gain_changed ( bool  force_update = true)
private

◆ notify_metering_state_changed()

void ArdourSurface::NS_MCU::Strip::notify_metering_state_changed ( )

◆ notify_mute_changed()

void ArdourSurface::NS_MCU::Strip::notify_mute_changed ( )
private

◆ notify_panner_azi_changed()

void ArdourSurface::NS_MCU::Strip::notify_panner_azi_changed ( bool  force_update = true)
private

◆ notify_panner_width_changed()

void ArdourSurface::NS_MCU::Strip::notify_panner_width_changed ( bool  force_update = true)
private

◆ notify_processor_changed()

void ArdourSurface::NS_MCU::Strip::notify_processor_changed ( bool  force_update = true)
private

◆ notify_property_changed()

void ArdourSurface::NS_MCU::Strip::notify_property_changed ( const PBD::PropertyChange )
private

◆ notify_record_enable_changed()

void ArdourSurface::NS_MCU::Strip::notify_record_enable_changed ( )
private

◆ notify_solo_changed()

void ArdourSurface::NS_MCU::Strip::notify_solo_changed ( )
private

◆ notify_stripable_deleted()

void ArdourSurface::NS_MCU::Strip::notify_stripable_deleted ( )
private

◆ periodic()

void ArdourSurface::NS_MCU::Strip::periodic ( PBD::microseconds_t  now_usecs)

◆ redisplay()

void ArdourSurface::NS_MCU::Strip::redisplay ( PBD::microseconds_t  now_usecs,
bool  force = true 
)

◆ reset_saved_values()

void ArdourSurface::NS_MCU::Strip::reset_saved_values ( )
private

◆ return_to_vpot_mode_display()

void ArdourSurface::NS_MCU::Strip::return_to_vpot_mode_display ( )
private

◆ select_event()

void ArdourSurface::NS_MCU::Strip::select_event ( Button ,
ButtonState   
)
private

◆ set_stripable()

void ArdourSurface::NS_MCU::Strip::set_stripable ( std::shared_ptr< ARDOUR::Stripable ,
bool  with_messages = true 
)

◆ set_vpot_parameter()

void ArdourSurface::NS_MCU::Strip::set_vpot_parameter ( ARDOUR::AutomationType  )
private

◆ show_stripable_name()

void ArdourSurface::NS_MCU::Strip::show_stripable_name ( )
private

◆ stripable()

std::shared_ptr<ARDOUR::Stripable> ArdourSurface::NS_MCU::Strip::stripable ( ) const
inline

Definition at line 73 of file mackie/strip.h.

◆ subview_mode_changed()

void ArdourSurface::NS_MCU::Strip::subview_mode_changed ( )

◆ surface()

Surface* ArdourSurface::NS_MCU::Strip::surface ( ) const
inline

Definition at line 77 of file mackie/strip.h.

◆ unlock_controls()

void ArdourSurface::NS_MCU::Strip::unlock_controls ( )

◆ update_automation()

void ArdourSurface::NS_MCU::Strip::update_automation ( )
private

◆ update_meter()

void ArdourSurface::NS_MCU::Strip::update_meter ( )
private

◆ update_selection_state()

void ArdourSurface::NS_MCU::Strip::update_selection_state ( )

◆ vpot_mode_string()

std::string ArdourSurface::NS_MCU::Strip::vpot_mode_string ( )
private

◆ vselect_event()

void ArdourSurface::NS_MCU::Strip::vselect_event ( Button ,
ButtonState   
)
private

◆ zero()

void ArdourSurface::NS_MCU::Strip::zero ( )

Member Data Documentation

◆ _block_screen_redisplay_until

PBD::microseconds_t ArdourSurface::NS_MCU::Strip::_block_screen_redisplay_until
private

Definition at line 143 of file mackie/strip.h.

◆ _controls_locked

bool ArdourSurface::NS_MCU::Strip::_controls_locked
private

Definition at line 134 of file mackie/strip.h.

◆ _fader

Fader* ArdourSurface::NS_MCU::Strip::_fader
private

Definition at line 130 of file mackie/strip.h.

◆ _fader_touch

Button* ArdourSurface::NS_MCU::Strip::_fader_touch
private

Definition at line 128 of file mackie/strip.h.

◆ _index

int ArdourSurface::NS_MCU::Strip::_index
private

Definition at line 132 of file mackie/strip.h.

◆ _last_gain_position_written

float ArdourSurface::NS_MCU::Strip::_last_gain_position_written
private

Definition at line 150 of file mackie/strip.h.

◆ _last_pan_azi_position_written

float ArdourSurface::NS_MCU::Strip::_last_pan_azi_position_written
private

Definition at line 151 of file mackie/strip.h.

◆ _last_pan_width_position_written

float ArdourSurface::NS_MCU::Strip::_last_pan_width_position_written
private

Definition at line 152 of file mackie/strip.h.

◆ _last_trim_position_written

float ArdourSurface::NS_MCU::Strip::_last_trim_position_written
private

Definition at line 153 of file mackie/strip.h.

◆ _lcd2_available

bool ArdourSurface::NS_MCU::Strip::_lcd2_available
private

Definition at line 137 of file mackie/strip.h.

◆ _lcd2_label_pitch

uint32_t ArdourSurface::NS_MCU::Strip::_lcd2_label_pitch
private

Definition at line 138 of file mackie/strip.h.

◆ _meter

Meter* ArdourSurface::NS_MCU::Strip::_meter
private

Definition at line 131 of file mackie/strip.h.

◆ _metering_active

bool ArdourSurface::NS_MCU::Strip::_metering_active
private

Definition at line 136 of file mackie/strip.h.

◆ _mute

Button* ArdourSurface::NS_MCU::Strip::_mute
private

Definition at line 125 of file mackie/strip.h.

◆ _pan_mode

ARDOUR::AutomationType ArdourSurface::NS_MCU::Strip::_pan_mode
private

Definition at line 148 of file mackie/strip.h.

◆ _recenable

Button* ArdourSurface::NS_MCU::Strip::_recenable
private

Definition at line 124 of file mackie/strip.h.

◆ _select

Button* ArdourSurface::NS_MCU::Strip::_select
private

Definition at line 126 of file mackie/strip.h.

◆ _solo

Button* ArdourSurface::NS_MCU::Strip::_solo
private

Definition at line 123 of file mackie/strip.h.

◆ _stripable

std::shared_ptr<ARDOUR::Stripable> ArdourSurface::NS_MCU::Strip::_stripable
private

Definition at line 145 of file mackie/strip.h.

◆ _surface

Surface* ArdourSurface::NS_MCU::Strip::_surface
private

Definition at line 133 of file mackie/strip.h.

◆ _transport_is_rolling

bool ArdourSurface::NS_MCU::Strip::_transport_is_rolling
private

Definition at line 135 of file mackie/strip.h.

◆ _vpot

Pot* ArdourSurface::NS_MCU::Strip::_vpot
private

Definition at line 129 of file mackie/strip.h.

◆ _vselect

Button* ArdourSurface::NS_MCU::Strip::_vselect
private

Definition at line 127 of file mackie/strip.h.

◆ current_display

std::string ArdourSurface::NS_MCU::Strip::current_display[2]
private

Definition at line 140 of file mackie/strip.h.

◆ lcd2_current_display

std::string ArdourSurface::NS_MCU::Strip::lcd2_current_display[2]
private

Definition at line 142 of file mackie/strip.h.

◆ lcd2_pending_display

std::string ArdourSurface::NS_MCU::Strip::lcd2_pending_display[2]
private

Definition at line 141 of file mackie/strip.h.

◆ mb_pan_controllable

std::shared_ptr<ARDOUR::AutomationControl> ArdourSurface::NS_MCU::Strip::mb_pan_controllable
private

Definition at line 168 of file mackie/strip.h.

◆ pending_display

std::string ArdourSurface::NS_MCU::Strip::pending_display[2]
private

Definition at line 139 of file mackie/strip.h.

◆ possible_pot_parameters

std::vector<ARDOUR::AutomationType> ArdourSurface::NS_MCU::Strip::possible_pot_parameters
private

Definition at line 178 of file mackie/strip.h.

◆ possible_trim_parameters

std::vector<ARDOUR::AutomationType> ArdourSurface::NS_MCU::Strip::possible_trim_parameters
private

Definition at line 179 of file mackie/strip.h.

◆ return_to_vpot_mode_display_at

PBD::microseconds_t ArdourSurface::NS_MCU::Strip::return_to_vpot_mode_display_at
private

Definition at line 144 of file mackie/strip.h.

◆ stripable_connections

PBD::ScopedConnectionList ArdourSurface::NS_MCU::Strip::stripable_connections
private

Definition at line 146 of file mackie/strip.h.


The documentation for this class was generated from the following file: