Ardour  9.0-pre0-582-g084a23a80d
ArdourSurface::MixLayout Class Reference

#include <mix.h>

Inheritance diagram for ArdourSurface::MixLayout:
[legend]

Classes

struct  GainMeter
 

Public Member Functions

 MixLayout (Push2 &p, ARDOUR::Session &, std::string const &)
 
 ~MixLayout ()
 
void render (ArdourCanvas::Rect const &, Cairo::RefPtr< Cairo::Context >) const
 
void show ()
 
void button_upper (uint32_t n)
 
void button_lower (uint32_t n)
 
void button_down ()
 
void button_up ()
 
void button_left ()
 
void button_right ()
 
void button_select_press ()
 
void button_select_release ()
 
void button_solo ()
 
void button_mute ()
 
void strip_vpot (int, int)
 
void strip_vpot_touch (int, bool)
 
void update_meters ()
 
- Public Member Functions inherited from ArdourSurface::Push2Layout
 Push2Layout (Push2 &p, ARDOUR::Session &s, std::string const &name)
 
virtual ~Push2Layout ()
 
int display_width () const
 
int display_height () const
 
void compute_bounding_box () const
 
virtual void button_rhs (int)
 
virtual void button_octave_up ()
 
virtual void button_octave_down ()
 
virtual void button_page_left ()
 
virtual void button_page_right ()
 
virtual void button_stop_press ()
 
virtual void button_stop_release ()
 
virtual void button_stop_long_press ()
 
virtual void pad_press (int x, int y, int velocity)
 
virtual void pad_release (int x, int y)
 
virtual void update_clocks ()
 
std::string name () const
 
- Public Member Functions inherited from ArdourCanvas::Container
 Container (Canvas *)
 
 Container (Item *)
 
 Container (Item *, Duple const &position)
 
void prepare_for_render (Rect const &area) const
 
void set_render_with_alpha (double alpha)
 
double render_with_alpha () const
 
- Public Member Functions inherited from ArdourCanvas::Item
 Item (Canvas *)
 
 Item (Item *)
 
 Item (Item *, Duple const &p)
 
virtual ~Item ()
 
void redraw () const
 
virtual void add_items_at_point (Duple point, std::vector< Item const * > &items) const
 
virtual bool covers (Duple const &point) const
 
void grab ()
 
void ungrab ()
 
void unparent ()
 
void reparent (Item *, bool already_added=false)
 
Itemparent () const
 
uint32_t depth () const
 
const Itemclosest_ancestor_with (const Item &other) const
 
bool common_ancestor_within (uint32_t, const Item &other) const
 
bool is_ancestor_of (const Item &candidate) const
 
bool is_descendant_of (const Item &candidate) const
 
void set_position (Duple)
 
void set_x_position (Coord)
 
void set_y_position (Coord)
 
void move (Duple)
 
Duple position () const
 
Duple window_origin () const
 
Duple canvas_origin () const
 
ScrollGroupscroll_parent () const
 
virtual void size_request (double &w, double &h) const
 
void set_size_request (double w, double h)
 
void set_size_request_to_display_given_text (const std::vector< std::string > &strings, gint hpadding, gint vpadding)
 
void size_allocate (Rect const &)
 
virtual void _size_allocate (Rect const &)
 
virtual void size_allocate_children (Rect const &r)
 
Rect allocation () const
 
void set_layout_sensitive (bool)
 
bool layout_sensitive () const
 
Rect bounding_box () const
 
Coord height () const
 
Coord width () const
 
Duple item_to_parent (Duple const &) const
 
Rect item_to_parent (Rect const &) const
 
Duple parent_to_item (Duple const &) const
 
Rect parent_to_item (Rect const &) const
 
void canvas_to_item (Coord &, Coord &) const
 
void item_to_canvas (Coord &, Coord &) const
 
Duple canvas_to_item (Duple const &) const
 
Rect item_to_canvas (Rect const &) const
 
Duple item_to_canvas (Duple const &) const
 
Rect canvas_to_item (Rect const &) const
 
Duple item_to_window (Duple const &, bool rounded=true) const
 
Duple window_to_item (Duple const &) const
 
Rect item_to_window (Rect const &, bool rounded=true) const
 
Rect window_to_item (Rect const &) const
 
void raise_to_top ()
 
void raise (int)
 
void lower_to_bottom ()
 
virtual void hide ()
 
void block_change_notifications ()
 
void unblock_change_notifications ()
 
bool self_visible () const
 
bool visible () const
 
Canvascanvas () const
 
void set_ignore_events (bool)
 
bool ignore_events () const
 
void set_data (std::string const &, void *)
 
void * get_data (std::string const &) const
 
virtual void add (Item *)
 
virtual void add_front (Item *)
 
virtual void remove (Item *)
 
void clear (bool with_delete=false)
 
std::list< Item * > const & items () const
 
void raise_child_to_top (Item *)
 
void raise_child (Item *, int)
 
void lower_child_to_bottom (Item *)
 
virtual void child_changed (bool bbox_changed)
 
PackOptions pack_options () const
 
void set_pack_options (PackOptions)
 
std::string whoami () const
 
const std::string & tooltip () const
 
void set_tooltip (const std::string &)
 
void start_tooltip_timeout ()
 
void stop_tooltip_timeout ()
 
virtual void dump (std::ostream &) const
 
std::string whatami () const
 
bool resize_queued () const
 
void queue_resize ()
 
bool scroll_translation () const
 
void disable_scroll_translation ()
 
virtual void layout ()
 
Duple position_offset () const
 
- Public Member Functions inherited from ArdourCanvas::Fill
 Fill (Item &self)
 
 Fill (const Fill &)=delete
 
Filloperator= (const Fill &)=delete
 
virtual ~Fill ()
 
virtual void set_fill_color (Gtkmm2ext::Color)
 
virtual void set_fill (bool)
 
Gtkmm2ext::Color fill_color () const
 
bool fill () const
 
void set_gradient (StopList const &stops, bool is_vertical)
 
void set_pattern (Cairo::RefPtr< Cairo::Pattern >)
 
- Public Member Functions inherited from ArdourCanvas::Outline
 Outline (Item &self)
 
 Outline (const Outline &)=delete
 
Outlineoperator= (const Outline &)=delete
 
virtual ~Outline ()
 
Gtkmm2ext::Color outline_color () const
 
virtual void set_outline_color (Gtkmm2ext::Color)
 
Distance outline_width () const
 
virtual void set_outline_width (Distance)
 
bool outline () const
 
virtual void set_outline (bool)
 

Private Types

enum  VPotMode {
  Volume , PanAzimuth , PanWidth , Send1 ,
  Send2 , Send3 , Send4 , Send5
}
 

Private Member Functions

void stripables_added ()
 
void stripable_property_change (PBD::PropertyChange const &what_changed, uint32_t which)
 
void switch_bank (uint32_t base)
 
void show_vpot_mode ()
 
void solo_changed (uint32_t n)
 
void mute_changed (uint32_t n)
 
void solo_mute_changed (uint32_t n)
 
void show_selection (uint32_t n)
 
void hide_selection (uint32_t n)
 

Private Attributes

ArdourCanvas::Rectangle_bg
 
ArdourCanvas::Line_upper_line
 
std::vector< ArdourCanvas::Text * > _upper_text
 
std::vector< ArdourCanvas::Text * > _lower_text
 
std::vector< ArdourCanvas::Rectangle * > _upper_backgrounds
 
std::vector< ArdourCanvas::Rectangle * > _lower_backgrounds
 
GainMetergain_meter [8]
 
int32_t _bank_start
 
PBD::ScopedConnectionList _stripable_connections
 
std::shared_ptr< ARDOUR::Stripable_stripable [8]
 
PBD::ScopedConnectionList _session_connections
 
std::shared_ptr< Push2::Button_mode_button
 
VPotMode _vpot_mode
 

Additional Inherited Members

- Public Types inherited from ArdourCanvas::Fill
typedef std::vector< std::pair< double, Gtkmm2ext::Color > > StopList
 
- Public Attributes inherited from ArdourCanvas::Item
sigc::signal1< bool, GdkEvent *, EventAccumulator< bool > > Event
 
bool _resize_queued
 
double _requested_width
 
double _requested_height
 
- Static Public Attributes inherited from ArdourCanvas::Item
static int default_items_per_cell
 
- Protected Member Functions inherited from ArdourCanvas::Item
void begin_change ()
 
void end_change ()
 
void begin_visual_change ()
 
void end_visual_change ()
 
void set_bbox_clean () const
 
void set_bbox_dirty () const
 
bool bbox_dirty () const
 
void invalidate_lut () const
 
void clear_items (bool with_delete)
 
void ensure_lut () const
 
void add_child_bounding_boxes (bool include_hidden=false) const
 
void render_children (Rect const &area, Cairo::RefPtr< Cairo::Context > context) const
 
void prepare_for_render_children (Rect const &area) const
 
Duple scroll_offset () const
 
- Protected Member Functions inherited from ArdourCanvas::Fill
void setup_fill_context (Cairo::RefPtr< Cairo::Context >) const
 
void setup_gradient_context (Cairo::RefPtr< Cairo::Context >, Rect const &, Duple const &) const
 
- Protected Member Functions inherited from ArdourCanvas::Outline
void setup_outline_context (Cairo::RefPtr< Cairo::Context >) const
 
- Protected Attributes inherited from ArdourSurface::Push2Layout
Push2_p2
 
ARDOUR::Session_session
 
std::string _name
 
- Protected Attributes inherited from ArdourCanvas::Item
Canvas_canvas
 
Item_parent
 
ScrollGroup_scroll_parent
 
Duple _position
 
bool _visible
 
Rect _pre_change_bounding_box
 
Rect _bounding_box
 
PackOptions _pack_options
 
Rect _allocation
 
bool _layout_sensitive
 
std::map< std::string, void * > _data
 
LookupTable_lut
 
std::list< Item * > _items
 
- Protected Attributes inherited from ArdourCanvas::Fill
Item_self
 
Gtkmm2ext::Color _fill_color
 
bool _fill
 
bool _transparent
 
StopList _stops
 
bool _vertical_gradient
 
Cairo::RefPtr< Cairo::Pattern > _pattern
 
- Protected Attributes inherited from ArdourCanvas::Outline
Item_self
 
Gtkmm2ext::Color _outline_color
 
Distance _outline_width
 
bool _outline
 

Detailed Description

Definition at line 40 of file surfaces/push2/mix.h.

Member Enumeration Documentation

◆ VPotMode

Enumerator
Volume 
PanAzimuth 
PanWidth 
Send1 
Send2 
Send3 
Send4 
Send5 

Definition at line 94 of file surfaces/push2/mix.h.

Constructor & Destructor Documentation

◆ MixLayout()

ArdourSurface::MixLayout::MixLayout ( Push2 p,
ARDOUR::Session ,
std::string const &   
)

◆ ~MixLayout()

ArdourSurface::MixLayout::~MixLayout ( )

Member Function Documentation

◆ button_down()

void ArdourSurface::MixLayout::button_down ( )
virtual

Reimplemented from ArdourSurface::Push2Layout.

◆ button_left()

void ArdourSurface::MixLayout::button_left ( )
virtual

Reimplemented from ArdourSurface::Push2Layout.

◆ button_lower()

void ArdourSurface::MixLayout::button_lower ( uint32_t  n)
virtual

Reimplemented from ArdourSurface::Push2Layout.

◆ button_mute()

void ArdourSurface::MixLayout::button_mute ( )
virtual

Reimplemented from ArdourSurface::Push2Layout.

◆ button_right()

void ArdourSurface::MixLayout::button_right ( )
virtual

Reimplemented from ArdourSurface::Push2Layout.

◆ button_select_press()

void ArdourSurface::MixLayout::button_select_press ( )
virtual

Reimplemented from ArdourSurface::Push2Layout.

◆ button_select_release()

void ArdourSurface::MixLayout::button_select_release ( )
virtual

Reimplemented from ArdourSurface::Push2Layout.

◆ button_solo()

void ArdourSurface::MixLayout::button_solo ( )
virtual

Reimplemented from ArdourSurface::Push2Layout.

◆ button_up()

void ArdourSurface::MixLayout::button_up ( )
virtual

Reimplemented from ArdourSurface::Push2Layout.

◆ button_upper()

void ArdourSurface::MixLayout::button_upper ( uint32_t  n)
virtual

Reimplemented from ArdourSurface::Push2Layout.

◆ hide_selection()

void ArdourSurface::MixLayout::hide_selection ( uint32_t  n)
private

◆ mute_changed()

void ArdourSurface::MixLayout::mute_changed ( uint32_t  n)
private

◆ render()

void ArdourSurface::MixLayout::render ( ArdourCanvas::Rect const &  area,
Cairo::RefPtr< Cairo::Context >  context 
) const
virtual

The render() method is likely to be identical in all containers (just call Item::render_children()). It can be overridden as necessary.

Reimplemented from ArdourCanvas::Container.

◆ show()

void ArdourSurface::MixLayout::show ( )
virtual

Reimplemented from ArdourCanvas::Item.

◆ show_selection()

void ArdourSurface::MixLayout::show_selection ( uint32_t  n)
private

◆ show_vpot_mode()

void ArdourSurface::MixLayout::show_vpot_mode ( )
private

◆ solo_changed()

void ArdourSurface::MixLayout::solo_changed ( uint32_t  n)
private

◆ solo_mute_changed()

void ArdourSurface::MixLayout::solo_mute_changed ( uint32_t  n)
private

◆ strip_vpot()

void ArdourSurface::MixLayout::strip_vpot ( int  ,
int   
)
virtual

◆ strip_vpot_touch()

void ArdourSurface::MixLayout::strip_vpot_touch ( int  ,
bool   
)
virtual

◆ stripable_property_change()

void ArdourSurface::MixLayout::stripable_property_change ( PBD::PropertyChange const &  what_changed,
uint32_t  which 
)
private

◆ stripables_added()

void ArdourSurface::MixLayout::stripables_added ( )
private

◆ switch_bank()

void ArdourSurface::MixLayout::switch_bank ( uint32_t  base)
private

◆ update_meters()

void ArdourSurface::MixLayout::update_meters ( )
virtual

Reimplemented from ArdourSurface::Push2Layout.

Member Data Documentation

◆ _bank_start

int32_t ArdourSurface::MixLayout::_bank_start
private

Definition at line 84 of file surfaces/push2/mix.h.

◆ _bg

ArdourCanvas::Rectangle* ArdourSurface::MixLayout::_bg
private

Definition at line 66 of file surfaces/push2/mix.h.

◆ _lower_backgrounds

std::vector<ArdourCanvas::Rectangle*> ArdourSurface::MixLayout::_lower_backgrounds
private

Definition at line 71 of file surfaces/push2/mix.h.

◆ _lower_text

std::vector<ArdourCanvas::Text*> ArdourSurface::MixLayout::_lower_text
private

Definition at line 69 of file surfaces/push2/mix.h.

◆ _mode_button

std::shared_ptr<Push2::Button> ArdourSurface::MixLayout::_mode_button
private

Definition at line 101 of file surfaces/push2/mix.h.

◆ _session_connections

PBD::ScopedConnectionList ArdourSurface::MixLayout::_session_connections
private

Definition at line 87 of file surfaces/push2/mix.h.

◆ _stripable

std::shared_ptr<ARDOUR::Stripable> ArdourSurface::MixLayout::_stripable[8]
private

Definition at line 86 of file surfaces/push2/mix.h.

◆ _stripable_connections

PBD::ScopedConnectionList ArdourSurface::MixLayout::_stripable_connections
private

Definition at line 85 of file surfaces/push2/mix.h.

◆ _upper_backgrounds

std::vector<ArdourCanvas::Rectangle*> ArdourSurface::MixLayout::_upper_backgrounds
private

Definition at line 70 of file surfaces/push2/mix.h.

◆ _upper_line

ArdourCanvas::Line* ArdourSurface::MixLayout::_upper_line
private

Definition at line 67 of file surfaces/push2/mix.h.

◆ _upper_text

std::vector<ArdourCanvas::Text*> ArdourSurface::MixLayout::_upper_text
private

Definition at line 68 of file surfaces/push2/mix.h.

◆ _vpot_mode

VPotMode ArdourSurface::MixLayout::_vpot_mode
private

Definition at line 102 of file surfaces/push2/mix.h.

◆ gain_meter

GainMeter* ArdourSurface::MixLayout::gain_meter[8]
private

Definition at line 80 of file surfaces/push2/mix.h.


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