|
Ardour
9.0-pre0-1950-g391fe97693
|
#include <automation_line.h>
Classes | |
| class | ContiguousControlPoints |
Public Types | |
| enum | VisibleAspects { Line = 0x1 , ControlPoints = 0x2 , SelectedControlPoints = 0x4 } |
Public Member Functions | |
| AutomationLine (const std::string &name, EditingContext &ec, ArdourCanvas::Item &parent, ArdourCanvas::Rectangle *drag_base, std::shared_ptr< ARDOUR::AutomationList > al, const ARDOUR::ParameterDescriptor &desc) | |
| virtual | ~AutomationLine () |
| void | set_atv (AutomationTimeAxisView &) |
| virtual Temporal::timepos_t | get_origin () const |
| ArdourCanvas::Rectangle * | drag_base () const |
| void | set_sensitive (bool) |
| bool | sensitive () const |
| void | queue_reset () |
| void | reset () |
| void | clear () |
| void | set_fill (bool f) |
| void | set_selected_points (PointSelection const &) |
| void | _get_selectables (Temporal::timepos_t const &, Temporal::timepos_t const &, double, double, std::list< Selectable * > &, bool within) |
| void | get_inverted_selectables (Selection &, std::list< Selectable * > &results) |
| virtual void | remove_point (ControlPoint &) |
| bool | control_points_adjacent (double xval, uint32_t &before, uint32_t &after) |
| virtual void | start_drag_single (ControlPoint *, double, float) |
| virtual void | start_drag_line (uint32_t, uint32_t, float) |
| virtual void | start_drag_multiple (std::list< ControlPoint * >, float, XMLNode *) |
| virtual std::pair< float, float > | drag_motion (Temporal::timecnt_t const &, float, bool, bool with_push, uint32_t &final_index) |
| virtual void | end_drag (bool with_push, uint32_t final_index) |
| virtual void | end_draw_merge () |
| ControlPoint * | nth (uint32_t) |
| ControlPoint const * | nth (uint32_t) const |
| uint32_t | npoints () const |
| std::string | name () const |
| bool | visible () const |
| guint32 | height () const |
| void | set_line_color (std::string const &color, std::string color_mode=std::string()) |
| void | set_insensitive_line_color (uint32_t color) |
| uint32_t | get_line_color () const |
| uint32_t | get_line_fill_color () const |
| uint32_t | get_line_selected_color () const |
| bool | control_points_inherit_color () const |
| void | set_control_points_inherit_color (bool) |
| void | set_visibility (VisibleAspects) |
| void | add_visibility (VisibleAspects) |
| void | remove_visibility (VisibleAspects) |
| void | hide () |
| void | hide_all () |
| void | show () |
| void | set_height (guint32) |
| bool | get_uses_gain_mapping () const |
| void | tempo_map_changed () |
| ArdourCanvas::Container & | canvas_group () const |
| ArdourCanvas::Item & | parent_group () const |
| ArdourCanvas::Item & | grab_item () const |
| virtual std::string | get_verbose_cursor_string (double) const |
| std::string | get_verbose_cursor_relative_string (double, double) const |
| std::string | fraction_to_string (double) const |
| std::string | delta_to_string (double) const |
| double | string_to_fraction (std::string const &) const |
| void | view_to_model_coord_y (double &) const |
| double | model_to_view_coord_y (double) const |
| Temporal::timecnt_t | model_to_view_coord_x (Temporal::timepos_t const &) const |
| double | compute_delta (double from, double to) const |
| void | apply_delta (double &val, double delta) const |
| void | set_list (std::shared_ptr< ARDOUR::AutomationList > list) |
| std::shared_ptr< ARDOUR::AutomationList > | the_list () const |
| void | track_entered () |
| void | track_exited () |
| bool | is_last_point (ControlPoint &) |
| bool | is_first_point (ControlPoint &) |
| XMLNode & | get_state () const |
| int | set_state (const XMLNode &, int version) |
| void | set_colors () |
| void | modify_points_y (std::vector< ControlPoint * > const &, double) |
| virtual MementoCommandBinder< ARDOUR::AutomationList > * | memento_command_binder () |
| std::pair< Temporal::timepos_t, Temporal::timepos_t > | get_point_x_range () const |
| void | set_maximum_time (Temporal::timepos_t const &) |
| Temporal::timepos_t | maximum_time () const |
| void | set_offset (Temporal::timepos_t const &) |
| Temporal::timepos_t | offset () |
| void | set_width (Temporal::timecnt_t const &) |
| Temporal::timepos_t | session_position (Temporal::timepos_t const &) const |
| void | dump (std::ostream &) const |
| double | dt_to_dx (Temporal::timepos_t const &, Temporal::timecnt_t const &) |
| ARDOUR::ParameterDescriptor const & | param () const |
| EditingContext & | editing_context () const |
| void | add (std::shared_ptr< ARDOUR::AutomationControl >, GdkEvent *, Temporal::timepos_t const &, double y, bool with_guard_points, bool from_kbd=false) |
| void | end_edit () |
| void | begin_edit () |
Public Member Functions inherited from PBD::Stateful | |
| Stateful () | |
| virtual | ~Stateful () |
| virtual bool | apply_change (PropertyBase const &) |
| PropertyChange | apply_changes (PropertyList const &) |
| const OwnedPropertyList & | properties () const |
| void | add_property (PropertyBase &s) |
| void | add_extra_xml (XMLNode &) |
| XMLNode * | extra_xml (const std::string &str, bool add_if_missing=false) |
| void | save_extra_xml (const XMLNode &) |
| const PBD::ID & | id () const |
| bool | set_id (const XMLNode &) |
| void | set_id (const std::string &) |
| void | reset_id () |
| void | clear_changes () |
| virtual void | clear_owned_changes () |
| PropertyList * | get_changes_as_properties (PBD::Command *) const |
| virtual void | rdiff (std::vector< PBD::Command * > &) const |
| bool | changed () const |
| virtual PropertyList * | property_factory (const XMLNode &) const |
| virtual void | suspend_property_changes () |
| virtual void | resume_property_changes () |
| bool | property_changes_suspended () const |
Public Member Functions inherited from PBD::Destructible | |
| virtual | ~Destructible () |
| virtual void | drop_references () |
Public Member Functions inherited from SelectableOwner | |
| SelectableOwner () | |
| virtual | ~SelectableOwner () |
| void | get_selectables (Temporal::timepos_t const &start, Temporal::timepos_t const &end, double x, double y, std::list< Selectable * > &sl, bool within=false) |
Protected Types | |
| typedef std::shared_ptr< ContiguousControlPoints > | CCP |
Protected Member Functions | |
| bool | sync_model_with_view_point (ControlPoint &) |
| bool | sync_model_with_view_points (std::list< ControlPoint * >) |
| void | start_drag_common (double, float) |
| void | reset_callback (const Evoral::ControlList &) |
| void | list_changed () |
| virtual bool | event_handler (GdkEvent *)=0 |
Protected Member Functions inherited from PBD::Stateful | |
| void | add_instant_xml (XMLNode &, const std::string &directory_path) |
| XMLNode * | instant_xml (const std::string &str, const std::string &directory_path) |
| void | add_properties (XMLNode &) const |
| PropertyChange | set_values (XMLNode const &) |
| virtual void | post_set (const PropertyChange &) |
| virtual void | send_change (const PropertyChange &) |
| virtual void | mid_thaw (const PropertyChange &) |
| bool | regenerate_xml_or_string_ids () const |
Protected Attributes | |
| std::string | _name |
| guint32 | _height |
| std::string | _line_color_name |
| std::string | _line_color_mod |
| uint32_t | _insensitive_line_color |
| uint32_t | _view_index_offset |
| std::shared_ptr< ARDOUR::AutomationList > | alist |
| VisibleAspects | _visible |
| bool | terminal_points_can_slide |
| bool | update_pending |
| bool | have_reset_timeout |
| bool | no_draw |
| bool | _is_boolean |
| bool | did_push |
| EditingContext & | _editing_context |
| ArdourCanvas::Item & | _parent_group |
| ArdourCanvas::Rectangle * | _drag_base |
| ArdourCanvas::Container * | group |
| ArdourCanvas::PolyLine * | line |
| ArdourCanvas::Points | line_points |
| std::vector< ControlPoint * > | control_points |
| std::vector< CCP > | contiguous_points |
Protected Attributes inherited from PBD::Stateful | |
| XMLNode * | _extra_xml |
| XMLNode * | _instant_xml |
| PBD::PropertyChange | _pending_changed |
| Glib::Threads::Mutex | _lock |
| std::string | _xml_node_name |
| name of node to use for this object in XML More... | |
| OwnedPropertyList * | _properties |
Private Member Functions | |
| bool | is_stepped () const |
| void | update_visibility () |
| void | reset_line_coords (ControlPoint &) |
| void | add_visible_control_point (uint32_t, uint32_t, double, double, ARDOUR::AutomationList::iterator, uint32_t) |
| double | control_point_box_size () |
| void | connect_to_list () |
| void | interpolation_changed (ARDOUR::AutomationList::InterpolationStyle) |
| void | value_edited (std::string, int, ControlPoint *) |
| void | automation_text_deleted (AutomationTextEntry *) |
| void | text_edit_control_point (ControlPoint &cp, bool grab_focus) |
Private Attributes | |
| std::list< ControlPoint * > | _drag_points |
| points we are dragging More... | |
| std::list< ControlPoint * > | _push_points |
| additional points we are dragging if "push" is enabled More... | |
| bool | _drag_had_movement |
| true if the drag has seen movement, otherwise false More... | |
| double | _last_drag_fraction |
| last y position of the drag, as a fraction More... | |
| Temporal::timepos_t | _offset |
| PBD::ScopedConnectionList | _list_connections |
| Temporal::timepos_t | _maximum_time |
| bool | _fill |
| const ARDOUR::ParameterDescriptor | _desc |
| bool | _control_points_inherit_color |
| bool | _sensitive |
| AutomationTimeAxisView * | atv |
| bool | entry_required_post_add |
| AutomationTextEntry * | automation_entry |
Friends | |
| class | ContiguousControlPoints |
| class | AudioRegionGainLine |
| class | RegionFxLine |
Additional Inherited Members | |
Public Attributes inherited from PBD::Stateful | |
| PBD::Signal< void(const PropertyChange &)> | PropertyChanged |
Public Attributes inherited from PBD::Destructible | |
| PBD::Signal< void()> | Destroyed |
| PBD::Signal< void()> | DropReferences |
Static Public Attributes inherited from PBD::Stateful | |
| static int | current_state_version |
| static int | loading_state_version |
A GUI representation of an ARDOUR::AutomationList
Definition at line 64 of file automation_line.h.
|
protected |
Definition at line 240 of file automation_line.h.
| Enumerator | |
|---|---|
| Line | |
| ControlPoints | |
| SelectedControlPoints | |
Definition at line 67 of file automation_line.h.
| AutomationLine::AutomationLine | ( | const std::string & | name, |
| EditingContext & | ec, | ||
| ArdourCanvas::Item & | parent, | ||
| ArdourCanvas::Rectangle * | drag_base, | ||
| std::shared_ptr< ARDOUR::AutomationList > | al, | ||
| const ARDOUR::ParameterDescriptor & | desc | ||
| ) |
|
virtual |
|
virtual |
Implements SelectableOwner.
| void AutomationLine::add | ( | std::shared_ptr< ARDOUR::AutomationControl > | , |
| GdkEvent * | , | ||
| Temporal::timepos_t const & | , | ||
| double | y, | ||
| bool | with_guard_points, | ||
| bool | from_kbd = false |
||
| ) |
| void AutomationLine::add_visibility | ( | VisibleAspects | ) |
|
private |
| void AutomationLine::apply_delta | ( | double & | val, |
| double | delta | ||
| ) | const |
|
private |
| void AutomationLine::begin_edit | ( | ) |
|
inline |
Definition at line 140 of file automation_line.h.
| void AutomationLine::clear | ( | ) |
| double AutomationLine::compute_delta | ( | double | from, |
| double | to | ||
| ) | const |
|
private |
|
private |
| bool AutomationLine::control_points_adjacent | ( | double | xval, |
| uint32_t & | before, | ||
| uint32_t & | after | ||
| ) |
| bool AutomationLine::control_points_inherit_color | ( | ) | const |
| std::string AutomationLine::delta_to_string | ( | double | ) | const |
|
inline |
Definition at line 87 of file automation_line.h.
|
virtual |
| double AutomationLine::dt_to_dx | ( | Temporal::timepos_t const & | , |
| Temporal::timecnt_t const & | |||
| ) |
| void AutomationLine::dump | ( | std::ostream & | ) | const |
|
inline |
Definition at line 192 of file automation_line.h.
|
virtual |
Reimplemented in AudioRegionGainLine, and RegionFxLine.
|
inlinevirtual |
Reimplemented in AudioRegionGainLine, and RegionFxLine.
Definition at line 110 of file automation_line.h.
| void AutomationLine::end_edit | ( | ) |
|
protectedpure virtual |
Implemented in PianorollAutomationLine, and EditorAutomationLine.
| std::string AutomationLine::fraction_to_string | ( | double | ) | const |
|
virtual |
Implements SelectableOwner.
| uint32_t AutomationLine::get_line_color | ( | ) | const |
| uint32_t AutomationLine::get_line_fill_color | ( | ) | const |
| uint32_t AutomationLine::get_line_selected_color | ( | ) | const |
|
virtual |
Reimplemented in RegionFxLine, and MidiAutomationLine.
| std::pair<Temporal::timepos_t, Temporal::timepos_t> AutomationLine::get_point_x_range | ( | ) | const |
|
virtual |
Implements PBD::Stateful.
| bool AutomationLine::get_uses_gain_mapping | ( | ) | const |
| std::string AutomationLine::get_verbose_cursor_relative_string | ( | double | , |
| double | |||
| ) | const |
|
virtual |
Reimplemented in MidiAutomationLine.
|
inline |
Definition at line 142 of file automation_line.h.
|
inline |
Definition at line 118 of file automation_line.h.
| void AutomationLine::hide | ( | ) |
| void AutomationLine::hide_all | ( | ) |
|
private |
| bool AutomationLine::is_first_point | ( | ControlPoint & | ) |
| bool AutomationLine::is_last_point | ( | ControlPoint & | ) |
|
private |
|
protected |
|
inline |
Definition at line 178 of file automation_line.h.
|
virtual |
Reimplemented in MidiAutomationLine.
| Temporal::timecnt_t AutomationLine::model_to_view_coord_x | ( | Temporal::timepos_t const & | ) | const |
| double AutomationLine::model_to_view_coord_y | ( | double | ) | const |
| void AutomationLine::modify_points_y | ( | std::vector< ControlPoint * > const & | , |
| double | |||
| ) |
|
inline |
Definition at line 116 of file automation_line.h.
|
inline |
Definition at line 114 of file automation_line.h.
| ControlPoint* AutomationLine::nth | ( | uint32_t | ) |
| ControlPoint const* AutomationLine::nth | ( | uint32_t | ) | const |
|
inline |
Definition at line 183 of file automation_line.h.
|
inline |
Definition at line 191 of file automation_line.h.
|
inline |
Definition at line 141 of file automation_line.h.
| void AutomationLine::queue_reset | ( | ) |
|
virtual |
Reimplemented in AudioRegionGainLine.
| void AutomationLine::remove_visibility | ( | VisibleAspects | ) |
| void AutomationLine::reset | ( | ) |
|
protected |
|
private |
|
inline |
Definition at line 90 of file automation_line.h.
| Temporal::timepos_t AutomationLine::session_position | ( | Temporal::timepos_t const & | ) | const |
| void AutomationLine::set_atv | ( | AutomationTimeAxisView & | ) |
| void AutomationLine::set_colors | ( | ) |
| void AutomationLine::set_control_points_inherit_color | ( | bool | ) |
|
inline |
Definition at line 95 of file automation_line.h.
| void AutomationLine::set_height | ( | guint32 | ) |
| void AutomationLine::set_insensitive_line_color | ( | uint32_t | color | ) |
| void AutomationLine::set_line_color | ( | std::string const & | color, |
| std::string | color_mode = std::string() |
||
| ) |
| void AutomationLine::set_list | ( | std::shared_ptr< ARDOUR::AutomationList > | list | ) |
| void AutomationLine::set_maximum_time | ( | Temporal::timepos_t const & | ) |
| void AutomationLine::set_offset | ( | Temporal::timepos_t const & | ) |
| void AutomationLine::set_selected_points | ( | PointSelection const & | ) |
| void AutomationLine::set_sensitive | ( | bool | ) |
|
virtual |
Implements PBD::Stateful.
| void AutomationLine::set_visibility | ( | VisibleAspects | ) |
| void AutomationLine::set_width | ( | Temporal::timecnt_t const & | ) |
| void AutomationLine::show | ( | ) |
|
protected |
|
virtual |
Reimplemented in AudioRegionGainLine.
|
virtual |
Reimplemented in AudioRegionGainLine.
|
virtual |
Reimplemented in AudioRegionGainLine.
| double AutomationLine::string_to_fraction | ( | std::string const & | ) | const |
|
protected |
|
protected |
| void AutomationLine::tempo_map_changed | ( | ) |
|
private |
|
inline |
Definition at line 159 of file automation_line.h.
| void AutomationLine::track_entered | ( | ) |
| void AutomationLine::track_exited | ( | ) |
|
private |
|
private |
| void AutomationLine::view_to_model_coord_y | ( | double & | ) | const |
|
inline |
Definition at line 117 of file automation_line.h.
|
friend |
Definition at line 288 of file automation_line.h.
|
friend |
Definition at line 238 of file automation_line.h.
|
friend |
Definition at line 289 of file automation_line.h.
|
private |
Definition at line 278 of file automation_line.h.
|
private |
Definition at line 277 of file automation_line.h.
|
protected |
Definition at line 220 of file automation_line.h.
|
private |
true if the drag has seen movement, otherwise false
Definition at line 255 of file automation_line.h.
|
private |
points we are dragging
Definition at line 253 of file automation_line.h.
|
protected |
Definition at line 218 of file automation_line.h.
|
private |
Definition at line 275 of file automation_line.h.
|
protected |
Definition at line 201 of file automation_line.h.
|
protected |
Definition at line 204 of file automation_line.h.
|
protected |
Definition at line 214 of file automation_line.h.
|
private |
last y position of the drag, as a fraction
Definition at line 256 of file automation_line.h.
|
protected |
Definition at line 203 of file automation_line.h.
|
protected |
Definition at line 202 of file automation_line.h.
|
private |
Definition at line 270 of file automation_line.h.
|
private |
maximum time that a point on this line can be at, relative to the position of its region or start of its track
Definition at line 273 of file automation_line.h.
|
protected |
Definition at line 200 of file automation_line.h.
|
private |
offset from the start of the automation list to the start of the line, so that a +ve offset means that the 0 on the line is at _offset in the list
Definition at line 260 of file automation_line.h.
|
protected |
Definition at line 219 of file automation_line.h.
|
private |
additional points we are dragging if "push" is enabled
Definition at line 254 of file automation_line.h.
|
private |
Definition at line 279 of file automation_line.h.
|
protected |
Definition at line 205 of file automation_line.h.
|
protected |
Definition at line 208 of file automation_line.h.
|
protected |
Definition at line 206 of file automation_line.h.
|
private |
Definition at line 280 of file automation_line.h.
|
private |
Definition at line 282 of file automation_line.h.
|
protected |
Definition at line 241 of file automation_line.h.
|
protected |
Definition at line 224 of file automation_line.h.
|
protected |
true if we did a push at any point during the current drag
Definition at line 216 of file automation_line.h.
|
private |
Definition at line 281 of file automation_line.h.
|
protected |
Definition at line 221 of file automation_line.h.
|
protected |
Definition at line 212 of file automation_line.h.
|
protected |
Definition at line 222 of file automation_line.h.
|
protected |
Definition at line 223 of file automation_line.h.
|
protected |
Definition at line 213 of file automation_line.h.
|
protected |
Definition at line 210 of file automation_line.h.
|
protected |
Definition at line 211 of file automation_line.h.