Ardour  9.0-pre0-582-g084a23a80d
TriggerEntry Class Reference

#include <triggerbox_ui.h>

Inheritance diagram for TriggerEntry:
[legend]

Public Types

enum  EnteredState { PlayEntered , NameEntered , FollowEntered , NoneEntered }
 
- Public Types inherited from ArdourCanvas::Rectangle
enum  What {
  NOTHING = 0x0 , LEFT = 0x1 , RIGHT = 0x2 , TOP = 0x4 ,
  BOTTOM = 0x8 , ALL = LEFT|RIGHT|TOP|BOTTOM
}
 
- Public Types inherited from ArdourCanvas::Fill
typedef std::vector< std::pair< double, Gtkmm2ext::Color > > StopList
 

Public Member Functions

 TriggerEntry (ArdourCanvas::Item *item, TriggerStrip &, ARDOUR::TriggerReference rf)
 
 ~TriggerEntry ()
 
void box_rec_enable_changed ()
 
void draw_launch_icon (Cairo::RefPtr< Cairo::Context > context, float size, float scale) const
 
void draw_follow_icon (Cairo::RefPtr< Cairo::Context > context, ARDOUR::FollowAction const &icon, float size, float scale) const
 
void render (ArdourCanvas::Rect const &area, Cairo::RefPtr< Cairo::Context > context) const
 
void _size_allocate (ArdourCanvas::Rect const &)
 
void on_trigger_changed (PBD::PropertyChange const &change)
 
void selection_change ()
 
void set_widget_colors (TriggerEntry::EnteredState es=NoneEntered)
 
bool name_button_event (GdkEvent *)
 
TriggerStripstrip () const
 
- Public Member Functions inherited from ArdourCanvas::Rectangle
 Rectangle (Canvas *)
 
 Rectangle (Canvas *, Rect const &)
 
 Rectangle (Item *)
 
 Rectangle (Item *, Rect const &)
 
void render (Rect const &, Cairo::RefPtr< Cairo::Context >) const
 
void compute_bounding_box () const
 
void _size_allocate (Rect const &)
 
Rect const & get () const
 
Coord x0 () const
 
Coord y0 () const
 
Coord x1 () const
 
Coord y1 () const
 
Distance height () const
 
Distance width () const
 
void set (Rect const &)
 
void set_x0 (Coord)
 
void set_y0 (Coord)
 
void set_x1 (Coord)
 
void set_y1 (Coord)
 
double vertical_fraction (double y) const
 
void set_corner_radius (double d)
 
void set_outline_what (What)
 
void set_outline_all ()
 
void size_request (double &w, double &h) const
 
void dump (std::ostream &) const
 
- Public Member Functions inherited from ArdourCanvas::Item
 Item (Canvas *)
 
 Item (Item *)
 
 Item (Item *, Duple const &p)
 
virtual ~Item ()
 
void redraw () const
 
virtual void prepare_for_render (Rect const &area) 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
 
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_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 ()
 
virtual void show ()
 
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 ()
 
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)
 
- Public Member Functions inherited from TriggerUI
 TriggerUI ()
 
virtual ~TriggerUI ()
 
void set_trigger (ARDOUR::TriggerReference)
 
virtual void on_trigger_set ()
 
ARDOUR::TriggerReference trigger_reference () const
 
ARDOUR::TriggerPtr trigger () const
 
ARDOUR::TriggerBoxtriggerbox () const
 
void choose_color ()
 
void choose_sample (bool allow_multiple_select)
 
void sample_chosen (int r)
 
void launch_context_menu ()
 
void follow_context_menu (GdkEventButton *)
 
void context_menu ()
 
void edit_jump_done (int r, TriggerJumpDialog *d)
 
void edit_jump (bool right_fa)
 
void set_follow_action (ARDOUR::FollowAction const &)
 
void set_launch_style (ARDOUR::Trigger::LaunchStyle)
 
void set_quantization (Temporal::BBT_Offset const &)
 
void set_from_selection ()
 
void toggle_trigger_isolated ()
 
void clear_trigger ()
 
void edit_trigger ()
 
void trigger_midi_learn ()
 
void trigger_midi_unlearn ()
 

Public Attributes

ArdourCanvas::Rectangleplay_button
 
ArdourCanvas::Rectanglename_button
 
ArdourCanvas::Rectanglefollow_button
 
ArdourCanvas::Textname_text
 
- Public Attributes inherited from ArdourCanvas::Item
sigc::signal1< bool, GdkEvent *, EventAccumulator< bool > > Event
 
bool _resize_queued
 
double _requested_width
 
double _requested_height
 

Private Member Functions

bool event (GdkEvent *)
 
void drag_begin (Glib::RefPtr< Gdk::DragContext > const &)
 
void drag_end (Glib::RefPtr< Gdk::DragContext > const &)
 
void drag_data_get (Glib::RefPtr< Gdk::DragContext > const &, Gtk::SelectionData &, guint, guint)
 
void ui_parameter_changed (std::string const &p)
 
bool play_button_event (GdkEvent *)
 
bool follow_button_event (GdkEvent *)
 
void owner_prop_change (PBD::PropertyChange const &)
 
void owner_color_changed ()
 
void rec_enable_change ()
 
void set_play_button_tooltip ()
 
Gtkmm2ext::Color bg_color () const
 
void blink_rec_enable (bool)
 

Private Attributes

TriggerStrip_strip
 
bool _grabbed
 
int _drag_start_x
 
int _drag_start_y
 
bool _drag_active
 
bool rec_blink_on
 
sigc::connection rec_blink_connection
 
PBD::ScopedConnection _owner_prop_connection
 
PBD::ScopedConnectionList _rec_enable_connections
 

Additional Inherited Members

- Static Public Member Functions inherited from TriggerUI
static std::string follow_action_to_string (ARDOUR::FollowAction const &, bool with_targets=false)
 
static std::string quantize_length_to_string (Temporal::BBT_Offset const &)
 
static std::string launch_style_to_string (ARDOUR::Trigger::LaunchStyle)
 
static std::string stretch_mode_to_string (ARDOUR::Trigger::StretchMode)
 
static void setup_actions_and_bindings ()
 
- Static Public Attributes inherited from ArdourCanvas::Item
static int default_items_per_cell
 
- Static Public Attributes inherited from TriggerUI
static std::vector< std::string > follow_strings
 
static std::string longest_follow
 
static std::vector< std::string > quantize_strings
 
static std::string longest_quantize
 
static std::vector< std::string > launch_strings
 
static std::string longest_launch
 
static std::vector< std::string > stretch_mode_strings
 
static std::string longest_stretch_mode
 
- 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 Member Functions inherited from TriggerUI
bool namebox_button_press (GdkEventButton *)
 
bool start_rename ()
 
void end_rename (bool)
 
void entry_changed ()
 
void entry_activated ()
 
bool entry_focus_in (GdkEventFocus *)
 
bool entry_focus_out (GdkEventFocus *)
 
bool entry_key_press (GdkEventKey *)
 
bool entry_key_release (GdkEventKey *)
 
bool entry_button_press (GdkEventButton *)
 
void disconnect_entry_signals ()
 
void trigger_swap (uint32_t)
 
- Protected Attributes inherited from ArdourCanvas::Rectangle
Rect _rect
 
- 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
 
- Protected Attributes inherited from TriggerUI
std::list< sigc::connection > _entry_connections
 
bool _renaming
 
Gtk::Entry _nameentry
 
Gtk::Label _name_label
 
Gtk::EventBox _namebox
 
ArdourWidgets::Frame _name_frame
 
Gtk::FileChooserDialog_file_chooser
 
sigc::connection _file_chooser_connection
 
Gtk::Menu_launch_context_menu
 
Gtk::Menu_follow_context_menu
 
Gtk::Menu_context_menu
 
bool _ignore_menu_action
 
Gtk::ColorSelectionDialog_color_dialog
 
PBD::ScopedConnection trigger_swap_connection
 
ARDOUR::TriggerReference tref
 
PBD::ScopedConnectionList trigger_connections
 

Detailed Description

Definition at line 50 of file triggerbox_ui.h.

Member Enumeration Documentation

◆ EnteredState

Enumerator
PlayEntered 
NameEntered 
FollowEntered 
NoneEntered 

Definition at line 74 of file triggerbox_ui.h.

Constructor & Destructor Documentation

◆ TriggerEntry()

TriggerEntry::TriggerEntry ( ArdourCanvas::Item item,
TriggerStrip ,
ARDOUR::TriggerReference  rf 
)

◆ ~TriggerEntry()

TriggerEntry::~TriggerEntry ( )

Member Function Documentation

◆ _size_allocate()

void TriggerEntry::_size_allocate ( ArdourCanvas::Rect const &  )
virtual

Reimplemented from ArdourCanvas::Item.

◆ bg_color()

Gtkmm2ext::Color TriggerEntry::bg_color ( ) const
private

◆ blink_rec_enable()

void TriggerEntry::blink_rec_enable ( bool  )
private

◆ box_rec_enable_changed()

void TriggerEntry::box_rec_enable_changed ( )

◆ drag_begin()

void TriggerEntry::drag_begin ( Glib::RefPtr< Gdk::DragContext > const &  )
private

◆ drag_data_get()

void TriggerEntry::drag_data_get ( Glib::RefPtr< Gdk::DragContext > const &  ,
Gtk::SelectionData ,
guint  ,
guint   
)
private

◆ drag_end()

void TriggerEntry::drag_end ( Glib::RefPtr< Gdk::DragContext > const &  )
private

◆ draw_follow_icon()

void TriggerEntry::draw_follow_icon ( Cairo::RefPtr< Cairo::Context >  context,
ARDOUR::FollowAction const &  icon,
float  size,
float  scale 
) const

◆ draw_launch_icon()

void TriggerEntry::draw_launch_icon ( Cairo::RefPtr< Cairo::Context >  context,
float  size,
float  scale 
) const

◆ event()

bool TriggerEntry::event ( GdkEvent )
private

◆ follow_button_event()

bool TriggerEntry::follow_button_event ( GdkEvent )
private

◆ name_button_event()

bool TriggerEntry::name_button_event ( GdkEvent )

◆ on_trigger_changed()

void TriggerEntry::on_trigger_changed ( PBD::PropertyChange const &  change)
virtual

Implements TriggerUI.

◆ owner_color_changed()

void TriggerEntry::owner_color_changed ( )
private

◆ owner_prop_change()

void TriggerEntry::owner_prop_change ( PBD::PropertyChange const &  )
private

◆ play_button_event()

bool TriggerEntry::play_button_event ( GdkEvent )
private

◆ rec_enable_change()

void TriggerEntry::rec_enable_change ( )
private

◆ render()

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

Render this item to a Cairo context.

Parameters
areaArea to draw, in window coordinates

Items must convert their own coordinates into window coordinates because Cairo is limited to a fixed point coordinate space that does not extend as far as the Ardour timeline. All rendering must be done using coordinates that do not exceed the (rough) limits of the canvas' window, to avoid odd errors within Cairo as it converts doubles into its fixed point format and then tesselates the results.

Implements ArdourCanvas::Item.

◆ selection_change()

void TriggerEntry::selection_change ( )

◆ set_play_button_tooltip()

void TriggerEntry::set_play_button_tooltip ( )
private

◆ set_widget_colors()

void TriggerEntry::set_widget_colors ( TriggerEntry::EnteredState  es = NoneEntered)

◆ strip()

TriggerStrip& TriggerEntry::strip ( ) const
inline

Definition at line 85 of file triggerbox_ui.h.

◆ ui_parameter_changed()

void TriggerEntry::ui_parameter_changed ( std::string const &  p)
private

Member Data Documentation

◆ _drag_active

bool TriggerEntry::_drag_active
private

Definition at line 93 of file triggerbox_ui.h.

◆ _drag_start_x

int TriggerEntry::_drag_start_x
private

Definition at line 91 of file triggerbox_ui.h.

◆ _drag_start_y

int TriggerEntry::_drag_start_y
private

Definition at line 92 of file triggerbox_ui.h.

◆ _grabbed

bool TriggerEntry::_grabbed
private

Definition at line 89 of file triggerbox_ui.h.

◆ _owner_prop_connection

PBD::ScopedConnection TriggerEntry::_owner_prop_connection
private

Definition at line 114 of file triggerbox_ui.h.

◆ _rec_enable_connections

PBD::ScopedConnectionList TriggerEntry::_rec_enable_connections
private

Definition at line 115 of file triggerbox_ui.h.

◆ _strip

TriggerStrip& TriggerEntry::_strip
private

Definition at line 88 of file triggerbox_ui.h.

◆ follow_button

ArdourCanvas::Rectangle* TriggerEntry::follow_button

Definition at line 58 of file triggerbox_ui.h.

◆ name_button

ArdourCanvas::Rectangle* TriggerEntry::name_button

Definition at line 57 of file triggerbox_ui.h.

◆ name_text

ArdourCanvas::Text* TriggerEntry::name_text

Definition at line 59 of file triggerbox_ui.h.

◆ play_button

ArdourCanvas::Rectangle* TriggerEntry::play_button

Definition at line 56 of file triggerbox_ui.h.

◆ rec_blink_connection

sigc::connection TriggerEntry::rec_blink_connection
private

Definition at line 112 of file triggerbox_ui.h.

◆ rec_blink_on

bool TriggerEntry::rec_blink_on
private

Definition at line 94 of file triggerbox_ui.h.


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