Ardour  9.0-pre0-582-g084a23a80d
ArdourSurface::MACKIE_NAMESPACE::Subview Class Referenceabstract

#include <subview.h>

Inheritance diagram for ArdourSurface::MACKIE_NAMESPACE::Subview:
[legend]

Public Types

enum  Mode {
  None , EQ , Dynamics , Sends ,
  TrackView , Plugin
}
 

Public Member Functions

 Subview (MackieControlProtocol &mcp, std::shared_ptr< ARDOUR::Stripable > subview_stripable)
 
virtual ~Subview ()
 
virtual Mode subview_mode () const =0
 
virtual void update_global_buttons ()=0
 
virtual bool permit_flipping_faders_and_pots ()
 
virtual void setup_vpot (Strip *strip, Pot *vpot, std::string pending_display[2])=0
 
virtual void handle_vselect_event (uint32_t global_strip_position)
 
virtual bool handle_cursor_right_press ()
 
virtual bool handle_cursor_left_press ()
 
std::shared_ptr< ARDOUR::Stripablesubview_stripable () const
 
void notify_subview_stripable_deleted ()
 
MackieControlProtocol & mcp ()
 
PBD::ScopedConnectionListsubview_stripable_connections ()
 
PBD::ScopedConnectionListsubview_connections ()
 
void do_parameter_display (std::string &display, const ARDOUR::ParameterDescriptor &pd, float param_val, Strip *strip, bool screen_hold)
 

Static Public Member Functions

static bool subview_mode_would_be_ok (Subview::Mode, std::shared_ptr< ARDOUR::Stripable >, std::string &reason_why_not)
 

Protected Member Functions

void init_strip_vectors ()
 
void store_pointers (Strip *strip, Pot *vpot, std::string *pending_display, uint32_t global_strip_position)
 
bool retrieve_pointers (Strip **strip, Pot **vpot, std::string **pending_display, uint32_t global_strip_position)
 

Protected Attributes

MackieControlProtocol & _mcp
 
std::shared_ptr< ARDOUR::Stripable_subview_stripable
 
PBD::ScopedConnectionList _subview_stripable_connections
 
std::vector< Strip * > _strips_over_all_surfaces
 
std::vector< Pot * > _strip_vpots_over_all_surfaces
 
std::vector< std::string * > _strip_pending_displays_over_all_surfaces
 
PBD::ScopedConnectionList _subview_connections
 

Private Member Functions

void reset_all_vpot_controls ()
 

Detailed Description

This implements the subviews of the Mackie control in a Strategy pattern

Definition at line 45 of file subview.h.

Member Enumeration Documentation

◆ Mode

Enumerator
None 
EQ 
Dynamics 
Sends 
TrackView 
Plugin 

Definition at line 48 of file subview.h.

Constructor & Destructor Documentation

◆ Subview()

ArdourSurface::MACKIE_NAMESPACE::Subview::Subview ( MackieControlProtocol &  mcp,
std::shared_ptr< ARDOUR::Stripable subview_stripable 
)

◆ ~Subview()

virtual ArdourSurface::MACKIE_NAMESPACE::Subview::~Subview ( )
virtual

Member Function Documentation

◆ do_parameter_display()

void ArdourSurface::MACKIE_NAMESPACE::Subview::do_parameter_display ( std::string &  display,
const ARDOUR::ParameterDescriptor pd,
float  param_val,
Strip *  strip,
bool  screen_hold 
)

◆ handle_cursor_left_press()

virtual bool ArdourSurface::MACKIE_NAMESPACE::Subview::handle_cursor_left_press ( )
inlinevirtual

◆ handle_cursor_right_press()

virtual bool ArdourSurface::MACKIE_NAMESPACE::Subview::handle_cursor_right_press ( )
inlinevirtual

◆ handle_vselect_event()

virtual void ArdourSurface::MACKIE_NAMESPACE::Subview::handle_vselect_event ( uint32_t  global_strip_position)
virtual

◆ init_strip_vectors()

void ArdourSurface::MACKIE_NAMESPACE::Subview::init_strip_vectors ( )
protected

◆ mcp()

MackieControlProtocol& ArdourSurface::MACKIE_NAMESPACE::Subview::mcp ( )
inline

Definition at line 78 of file subview.h.

◆ notify_subview_stripable_deleted()

void ArdourSurface::MACKIE_NAMESPACE::Subview::notify_subview_stripable_deleted ( )

◆ permit_flipping_faders_and_pots()

virtual bool ArdourSurface::MACKIE_NAMESPACE::Subview::permit_flipping_faders_and_pots ( )
inlinevirtual

◆ reset_all_vpot_controls()

void ArdourSurface::MACKIE_NAMESPACE::Subview::reset_all_vpot_controls ( )
private

◆ retrieve_pointers()

bool ArdourSurface::MACKIE_NAMESPACE::Subview::retrieve_pointers ( Strip **  strip,
Pot **  vpot,
std::string **  pending_display,
uint32_t  global_strip_position 
)
protected

◆ setup_vpot()

◆ store_pointers()

void ArdourSurface::MACKIE_NAMESPACE::Subview::store_pointers ( Strip *  strip,
Pot *  vpot,
std::string *  pending_display,
uint32_t  global_strip_position 
)
protected

◆ subview_connections()

PBD::ScopedConnectionList& ArdourSurface::MACKIE_NAMESPACE::Subview::subview_connections ( )
inline

Definition at line 81 of file subview.h.

◆ subview_mode()

◆ subview_mode_would_be_ok()

static bool ArdourSurface::MACKIE_NAMESPACE::Subview::subview_mode_would_be_ok ( Subview::Mode  ,
std::shared_ptr< ARDOUR::Stripable ,
std::string &  reason_why_not 
)
static

◆ subview_stripable()

std::shared_ptr<ARDOUR::Stripable> ArdourSurface::MACKIE_NAMESPACE::Subview::subview_stripable ( ) const
inline

Definition at line 75 of file subview.h.

◆ subview_stripable_connections()

PBD::ScopedConnectionList& ArdourSurface::MACKIE_NAMESPACE::Subview::subview_stripable_connections ( )
inline

Definition at line 80 of file subview.h.

◆ update_global_buttons()

Member Data Documentation

◆ _mcp

MackieControlProtocol& ArdourSurface::MACKIE_NAMESPACE::Subview::_mcp
protected

Definition at line 90 of file subview.h.

◆ _strip_pending_displays_over_all_surfaces

std::vector<std::string*> ArdourSurface::MACKIE_NAMESPACE::Subview::_strip_pending_displays_over_all_surfaces
protected

Definition at line 96 of file subview.h.

◆ _strip_vpots_over_all_surfaces

std::vector<Pot*> ArdourSurface::MACKIE_NAMESPACE::Subview::_strip_vpots_over_all_surfaces
protected

Definition at line 95 of file subview.h.

◆ _strips_over_all_surfaces

std::vector<Strip*> ArdourSurface::MACKIE_NAMESPACE::Subview::_strips_over_all_surfaces
protected

Definition at line 94 of file subview.h.

◆ _subview_connections

PBD::ScopedConnectionList ArdourSurface::MACKIE_NAMESPACE::Subview::_subview_connections
protected

Definition at line 97 of file subview.h.

◆ _subview_stripable

std::shared_ptr<ARDOUR::Stripable> ArdourSurface::MACKIE_NAMESPACE::Subview::_subview_stripable
protected

Definition at line 91 of file subview.h.

◆ _subview_stripable_connections

PBD::ScopedConnectionList ArdourSurface::MACKIE_NAMESPACE::Subview::_subview_stripable_connections
protected

Definition at line 92 of file subview.h.


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