Ardour  9.0-pre0-582-g084a23a80d
ArdourSurface::FP8::FP8Strip Class Reference

#include <fp8_strip.h>

Public Types

enum  CtrlElement {
  BtnSolo , BtnMute , BtnSelect , Fader ,
  Meter , Redux , BarVal , BarMode
}
 
enum  DisplayMode { Stripables , PluginSelect , PluginParam , SendDisplay }
 
enum  CtrlMask {
  CTRL_FADER = 0x001 , CTRL_MUTE = 0x002 , CTRL_SOLO = 0x004 , CTRL_REC = 0x004 ,
  CTRL_PAN = 0x008 , CTRL_SELECT = 0x010 , CTRL_TEXT0 = 0x100 , CTRL_TEXT1 = 0x200 ,
  CTRL_TEXT2 = 0x400 , CTRL_TEXT3 = 0x800 , CTRL_TEXT01 = 0x300 , CTRL_TEXT = 0xf00 ,
  CTRL_ALL = 0xfff
}
 

Public Member Functions

 FP8Strip (FP8Base &b, uint8_t id)
 
 ~FP8Strip ()
 
FP8ButtonInterfacesolo_button ()
 
FP8ButtonInterfacemute_button ()
 
FP8ButtonInterfaceselrec_button ()
 
FP8ButtonInterfacerecarm_button ()
 
FP8ButtonInterfaceselect_button ()
 
void set_select_button_color (uint32_t color)
 
bool midi_touch (bool t)
 
bool midi_fader (float val)
 
void initialize ()
 
void set_select_cb (std::function< void()> &)
 
void set_periodic_display_mode (DisplayMode m)
 
void set_stripable (std::shared_ptr< ARDOUR::Stripable >, bool panmode)
 
void set_text_line (uint8_t, std::string const &, bool inv=false)
 
void unset_controllables (int which=CTRL_ALL)
 
void set_fader_controllable (std::shared_ptr< ARDOUR::AutomationControl >)
 
void set_mute_controllable (std::shared_ptr< ARDOUR::AutomationControl >)
 
void set_solo_controllable (std::shared_ptr< ARDOUR::AutomationControl >)
 
void set_rec_controllable (std::shared_ptr< ARDOUR::AutomationControl >)
 
void set_pan_controllable (std::shared_ptr< ARDOUR::AutomationControl >)
 
void set_select_controllable (std::shared_ptr< ARDOUR::AutomationControl >)
 

Static Public Member Functions

static uint8_t midi_ctrl_id (CtrlElement type, uint8_t id)
 

Private Member Functions

void set_x_select_controllable (std::shared_ptr< ARDOUR::AutomationControl >)
 
void drop_automation_controls ()
 
PBD::Controllable::GroupControlDisposition group_mode () const
 
void notify_fader_changed ()
 
void notify_solo_changed ()
 
void notify_mute_changed ()
 
void notify_rec_changed ()
 
void notify_pan_changed ()
 
void notify_x_select_changed ()
 
void set_mute (bool)
 
void set_solo (bool)
 
void set_select ()
 
void set_recarm ()
 
void set_strip_name ()
 
void periodic_update_fader ()
 
void periodic_update_meter ()
 
void periodic_update_timecode (uint32_t)
 
void periodic ()
 
void set_strip_mode (uint8_t, bool clear=false)
 
void set_bar_mode (uint8_t, bool force=false)
 

Private Attributes

FP8Base_base
 
uint8_t _id
 
FP8MomentaryButton _solo
 
FP8MomentaryButton _mute
 
FP8ARMSensitiveButton _selrec
 
bool _touching
 
PBD::ScopedConnection _base_connection
 
PBD::ScopedConnectionList _button_connections
 
std::string _stripable_name
 
std::shared_ptr< ARDOUR::AutomationControl_fader_ctrl
 
std::shared_ptr< ARDOUR::AutomationControl_mute_ctrl
 
std::shared_ptr< ARDOUR::AutomationControl_solo_ctrl
 
std::shared_ptr< ARDOUR::AutomationControl_rec_ctrl
 
std::shared_ptr< ARDOUR::AutomationControl_pan_ctrl
 
std::shared_ptr< ARDOUR::AutomationControl_x_select_ctrl
 
PBD::ScopedConnection _fader_connection
 
PBD::ScopedConnection _mute_connection
 
PBD::ScopedConnection _solo_connection
 
PBD::ScopedConnection _rec_connection
 
PBD::ScopedConnection _pan_connection
 
PBD::ScopedConnection _x_select_connection
 
std::shared_ptr< ARDOUR::PeakMeter_peak_meter
 
std::shared_ptr< ARDOUR::ReadOnlyControl_redux_ctrl
 
std::function< void()> _select_plugin_functor
 
unsigned short _last_fader
 
uint8_t _last_meter
 
uint8_t _last_redux
 
uint8_t _last_barpos
 
uint8_t _strip_mode
 
uint8_t _bar_mode
 
DisplayMode _displaymode
 
std::string _last_line [4]
 

Detailed Description

Definition at line 48 of file fp8_strip.h.

Member Enumeration Documentation

◆ CtrlElement

Enumerator
BtnSolo 
BtnMute 
BtnSelect 
Fader 
Meter 
Redux 
BarVal 
BarMode 

Definition at line 54 of file fp8_strip.h.

◆ CtrlMask

Enumerator
CTRL_FADER 
CTRL_MUTE 
CTRL_SOLO 
CTRL_REC 
CTRL_PAN 
CTRL_SELECT 
CTRL_TEXT0 
CTRL_TEXT1 
CTRL_TEXT2 
CTRL_TEXT3 
CTRL_TEXT01 
CTRL_TEXT 
CTRL_ALL 

Definition at line 101 of file fp8_strip.h.

◆ DisplayMode

Enumerator
Stripables 
PluginSelect 
PluginParam 
SendDisplay 

Definition at line 88 of file fp8_strip.h.

Constructor & Destructor Documentation

◆ FP8Strip()

ArdourSurface::FP8::FP8Strip::FP8Strip ( FP8Base b,
uint8_t  id 
)

◆ ~FP8Strip()

ArdourSurface::FP8::FP8Strip::~FP8Strip ( )

Member Function Documentation

◆ drop_automation_controls()

void ArdourSurface::FP8::FP8Strip::drop_automation_controls ( )
private

◆ group_mode()

PBD::Controllable::GroupControlDisposition ArdourSurface::FP8::FP8Strip::group_mode ( ) const
private

◆ initialize()

void ArdourSurface::FP8::FP8Strip::initialize ( )

◆ midi_ctrl_id()

static uint8_t ArdourSurface::FP8::FP8Strip::midi_ctrl_id ( CtrlElement  type,
uint8_t  id 
)
static

◆ midi_fader()

bool ArdourSurface::FP8::FP8Strip::midi_fader ( float  val)

◆ midi_touch()

bool ArdourSurface::FP8::FP8Strip::midi_touch ( bool  t)

◆ mute_button()

FP8ButtonInterface& ArdourSurface::FP8::FP8Strip::mute_button ( )
inline

Definition at line 68 of file fp8_strip.h.

◆ notify_fader_changed()

void ArdourSurface::FP8::FP8Strip::notify_fader_changed ( )
private

◆ notify_mute_changed()

void ArdourSurface::FP8::FP8Strip::notify_mute_changed ( )
private

◆ notify_pan_changed()

void ArdourSurface::FP8::FP8Strip::notify_pan_changed ( )
private

◆ notify_rec_changed()

void ArdourSurface::FP8::FP8Strip::notify_rec_changed ( )
private

◆ notify_solo_changed()

void ArdourSurface::FP8::FP8Strip::notify_solo_changed ( )
private

◆ notify_x_select_changed()

void ArdourSurface::FP8::FP8Strip::notify_x_select_changed ( )
private

◆ periodic()

void ArdourSurface::FP8::FP8Strip::periodic ( )
private

◆ periodic_update_fader()

void ArdourSurface::FP8::FP8Strip::periodic_update_fader ( )
private

◆ periodic_update_meter()

void ArdourSurface::FP8::FP8Strip::periodic_update_meter ( )
private

◆ periodic_update_timecode()

void ArdourSurface::FP8::FP8Strip::periodic_update_timecode ( uint32_t  )
private

◆ recarm_button()

FP8ButtonInterface& ArdourSurface::FP8::FP8Strip::recarm_button ( )
inline

Definition at line 70 of file fp8_strip.h.

◆ select_button()

FP8ButtonInterface& ArdourSurface::FP8::FP8Strip::select_button ( )
inline

Definition at line 71 of file fp8_strip.h.

◆ selrec_button()

FP8ButtonInterface& ArdourSurface::FP8::FP8Strip::selrec_button ( )
inline

Definition at line 69 of file fp8_strip.h.

◆ set_bar_mode()

void ArdourSurface::FP8::FP8Strip::set_bar_mode ( uint8_t  ,
bool  force = false 
)
private

◆ set_fader_controllable()

void ArdourSurface::FP8::FP8Strip::set_fader_controllable ( std::shared_ptr< ARDOUR::AutomationControl )

◆ set_mute()

void ArdourSurface::FP8::FP8Strip::set_mute ( bool  )
private

◆ set_mute_controllable()

void ArdourSurface::FP8::FP8Strip::set_mute_controllable ( std::shared_ptr< ARDOUR::AutomationControl )

◆ set_pan_controllable()

void ArdourSurface::FP8::FP8Strip::set_pan_controllable ( std::shared_ptr< ARDOUR::AutomationControl )

◆ set_periodic_display_mode()

void ArdourSurface::FP8::FP8Strip::set_periodic_display_mode ( DisplayMode  m)

◆ set_rec_controllable()

void ArdourSurface::FP8::FP8Strip::set_rec_controllable ( std::shared_ptr< ARDOUR::AutomationControl )

◆ set_recarm()

void ArdourSurface::FP8::FP8Strip::set_recarm ( )
private

◆ set_select()

void ArdourSurface::FP8::FP8Strip::set_select ( )
private

◆ set_select_button_color()

void ArdourSurface::FP8::FP8Strip::set_select_button_color ( uint32_t  color)
inline

Definition at line 73 of file fp8_strip.h.

◆ set_select_cb()

void ArdourSurface::FP8::FP8Strip::set_select_cb ( std::function< void()> &  )

◆ set_select_controllable()

void ArdourSurface::FP8::FP8Strip::set_select_controllable ( std::shared_ptr< ARDOUR::AutomationControl )

◆ set_solo()

void ArdourSurface::FP8::FP8Strip::set_solo ( bool  )
private

◆ set_solo_controllable()

void ArdourSurface::FP8::FP8Strip::set_solo_controllable ( std::shared_ptr< ARDOUR::AutomationControl )

◆ set_strip_mode()

void ArdourSurface::FP8::FP8Strip::set_strip_mode ( uint8_t  ,
bool  clear = false 
)
private

◆ set_strip_name()

void ArdourSurface::FP8::FP8Strip::set_strip_name ( )
private

◆ set_stripable()

void ArdourSurface::FP8::FP8Strip::set_stripable ( std::shared_ptr< ARDOUR::Stripable ,
bool  panmode 
)

◆ set_text_line()

void ArdourSurface::FP8::FP8Strip::set_text_line ( uint8_t  ,
std::string const &  ,
bool  inv = false 
)

◆ set_x_select_controllable()

void ArdourSurface::FP8::FP8Strip::set_x_select_controllable ( std::shared_ptr< ARDOUR::AutomationControl )
private

◆ solo_button()

FP8ButtonInterface& ArdourSurface::FP8::FP8Strip::solo_button ( )
inline

Definition at line 67 of file fp8_strip.h.

◆ unset_controllables()

void ArdourSurface::FP8::FP8Strip::unset_controllables ( int  which = CTRL_ALL)

Member Data Documentation

◆ _bar_mode

uint8_t ArdourSurface::FP8::FP8Strip::_bar_mode
private

Definition at line 197 of file fp8_strip.h.

◆ _base

FP8Base& ArdourSurface::FP8::FP8Strip::_base
private

Definition at line 128 of file fp8_strip.h.

◆ _base_connection

PBD::ScopedConnection ArdourSurface::FP8::FP8Strip::_base_connection
private

Definition at line 136 of file fp8_strip.h.

◆ _button_connections

PBD::ScopedConnectionList ArdourSurface::FP8::FP8Strip::_button_connections
private

Definition at line 137 of file fp8_strip.h.

◆ _displaymode

DisplayMode ArdourSurface::FP8::FP8Strip::_displaymode
private

Definition at line 198 of file fp8_strip.h.

◆ _fader_connection

PBD::ScopedConnection ArdourSurface::FP8::FP8Strip::_fader_connection
private

Definition at line 148 of file fp8_strip.h.

◆ _fader_ctrl

std::shared_ptr<ARDOUR::AutomationControl> ArdourSurface::FP8::FP8Strip::_fader_ctrl
private

Definition at line 141 of file fp8_strip.h.

◆ _id

uint8_t ArdourSurface::FP8::FP8Strip::_id
private

Definition at line 129 of file fp8_strip.h.

◆ _last_barpos

uint8_t ArdourSurface::FP8::FP8Strip::_last_barpos
private

Definition at line 190 of file fp8_strip.h.

◆ _last_fader

unsigned short ArdourSurface::FP8::FP8Strip::_last_fader
private

Definition at line 187 of file fp8_strip.h.

◆ _last_line

std::string ArdourSurface::FP8::FP8Strip::_last_line[4]
private

Definition at line 199 of file fp8_strip.h.

◆ _last_meter

uint8_t ArdourSurface::FP8::FP8Strip::_last_meter
private

Definition at line 188 of file fp8_strip.h.

◆ _last_redux

uint8_t ArdourSurface::FP8::FP8Strip::_last_redux
private

Definition at line 189 of file fp8_strip.h.

◆ _mute

FP8MomentaryButton ArdourSurface::FP8::FP8Strip::_mute
private

Definition at line 131 of file fp8_strip.h.

◆ _mute_connection

PBD::ScopedConnection ArdourSurface::FP8::FP8Strip::_mute_connection
private

Definition at line 149 of file fp8_strip.h.

◆ _mute_ctrl

std::shared_ptr<ARDOUR::AutomationControl> ArdourSurface::FP8::FP8Strip::_mute_ctrl
private

Definition at line 142 of file fp8_strip.h.

◆ _pan_connection

PBD::ScopedConnection ArdourSurface::FP8::FP8Strip::_pan_connection
private

Definition at line 152 of file fp8_strip.h.

◆ _pan_ctrl

std::shared_ptr<ARDOUR::AutomationControl> ArdourSurface::FP8::FP8Strip::_pan_ctrl
private

Definition at line 145 of file fp8_strip.h.

◆ _peak_meter

std::shared_ptr<ARDOUR::PeakMeter> ArdourSurface::FP8::FP8Strip::_peak_meter
private

Definition at line 155 of file fp8_strip.h.

◆ _rec_connection

PBD::ScopedConnection ArdourSurface::FP8::FP8Strip::_rec_connection
private

Definition at line 151 of file fp8_strip.h.

◆ _rec_ctrl

std::shared_ptr<ARDOUR::AutomationControl> ArdourSurface::FP8::FP8Strip::_rec_ctrl
private

Definition at line 144 of file fp8_strip.h.

◆ _redux_ctrl

std::shared_ptr<ARDOUR::ReadOnlyControl> ArdourSurface::FP8::FP8Strip::_redux_ctrl
private

Definition at line 156 of file fp8_strip.h.

◆ _select_plugin_functor

std::function<void ()> ArdourSurface::FP8::FP8Strip::_select_plugin_functor
private

Definition at line 159 of file fp8_strip.h.

◆ _selrec

FP8ARMSensitiveButton ArdourSurface::FP8::FP8Strip::_selrec
private

Definition at line 132 of file fp8_strip.h.

◆ _solo

FP8MomentaryButton ArdourSurface::FP8::FP8Strip::_solo
private

Definition at line 130 of file fp8_strip.h.

◆ _solo_connection

PBD::ScopedConnection ArdourSurface::FP8::FP8Strip::_solo_connection
private

Definition at line 150 of file fp8_strip.h.

◆ _solo_ctrl

std::shared_ptr<ARDOUR::AutomationControl> ArdourSurface::FP8::FP8Strip::_solo_ctrl
private

Definition at line 143 of file fp8_strip.h.

◆ _strip_mode

uint8_t ArdourSurface::FP8::FP8Strip::_strip_mode
private

Definition at line 196 of file fp8_strip.h.

◆ _stripable_name

std::string ArdourSurface::FP8::FP8Strip::_stripable_name
private

Definition at line 139 of file fp8_strip.h.

◆ _touching

bool ArdourSurface::FP8::FP8Strip::_touching
private

Definition at line 134 of file fp8_strip.h.

◆ _x_select_connection

PBD::ScopedConnection ArdourSurface::FP8::FP8Strip::_x_select_connection
private

Definition at line 153 of file fp8_strip.h.

◆ _x_select_ctrl

std::shared_ptr<ARDOUR::AutomationControl> ArdourSurface::FP8::FP8Strip::_x_select_ctrl
private

Definition at line 146 of file fp8_strip.h.


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