Ardour  9.0-pre0-822-g12e3bc5c20
AudioClipEditor Class Reference

#include <audio_clip_editor.h>

Inheritance diagram for AudioClipEditor:
[legend]

Classes

class  ClipBBTMetric
 
class  LineDrag
 
class  ScrollDrag
 

Public Member Functions

 AudioClipEditor ()
 
 ~AudioClipEditor ()
 
void set_region (std::shared_ptr< ARDOUR::AudioRegion >, ARDOUR::TriggerReference)
 
void on_size_allocate (Gtk::Allocation &)
 
double sample_to_pixel (ARDOUR::samplepos_t)
 
samplepos_t pixel_to_sample (double)
 
void set_spp (double)
 
double spp () const
 
bool key_press (GdkEventKey *)
 
- Public Member Functions inherited from ArdourCanvas::GtkCanvas
 GtkCanvas ()
 
 ~GtkCanvas ()
 
void use_nsglview (bool retina=true)
 
void request_redraw (Rect const &)
 
void request_size (Duple)
 
void grab (Item *)
 
void ungrab ()
 
void focus (Item *)
 
void unfocus (Item *)
 
bool have_grab () const
 
bool grab_can_translate () const
 
Rect visible_area () const
 
Coord width () const
 
Coord height () const
 
bool get_mouse_position (Duple &winpos) const
 
void set_single_exposure (bool s)
 
bool single_exposure ()
 
void re_enter ()
 
void start_tooltip_timeout (Item *)
 
void stop_tooltip_timeout ()
 
void queue_draw ()
 
void queue_draw_area (int x, int y, int width, int height)
 
void queue_resize ()
 
Glib::RefPtr< Pango::Context > get_pango_context ()
 
void render (Cairo::RefPtr< Cairo::Context > const &ctx, cairo_rectangle_t *r)
 
void prepare_for_render () const
 
uint32_t background_color ()
 
- Public Member Functions inherited from ArdourCanvas::Canvas
 Canvas ()
 
virtual ~Canvas ()
 
void render (Rect const &, Cairo::RefPtr< Cairo::Context > const &) const
 
void prepare_for_render (Rect const &) const
 
gint64 get_last_render_start_timestamp () const
 
gint64 get_microseconds_since_render_start () const
 
Itemroot ()
 
void freeze_queue_draw ()
 
void thaw_queue_draw ()
 
void set_background_color (Gtkmm2ext::Color)
 
Gtkmm2ext::Color background_color () const
 
void item_visual_property_changed (Item *)
 
void item_changed (Item *, Rect)
 
void item_moved (Item *, Rect)
 
Duple canvas_to_window (Duple const &, bool rounded=true) const
 
Duple window_to_canvas (Duple const &) const
 
void canvas_to_window (Coord cx, Coord cy, Coord &wx, Coord &wy)
 
void window_to_canvas (Coord wx, Coord wy, Coord &cx, Coord &cy)
 
void scroll_to (Coord x, Coord y)
 
void add_scroller (ScrollGroup &i)
 
Duple clamp_to_window (Duple const &winpos, Duple border=Duple())
 
void zoomed ()
 
std::string indent () const
 
std::string render_indent () const
 
void dump (std::ostream &) const
 
void use_intermediate_surface (bool yn=true)
 
void set_debug_render (bool yn)
 
bool debug_render () const
 
- Public Member Functions inherited from Gtkmm2ext::CairoCanvas
virtual ~CairoCanvas ()
 

Private Types

enum  LineType { StartLine , EndLine , LoopLine }
 

Private Member Functions

void scroll_left ()
 
void scrol_right ()
 
bool event_handler (GdkEvent *ev)
 
bool line_event_handler (GdkEvent *ev, ArdourCanvas::Line *)
 
bool scroll_event_handler (GdkEvent *ev)
 
void drop_waves ()
 
void set_wave_heights ()
 
void set_spp_from_length (ARDOUR::samplecnt_t)
 
void set_waveform_colors ()
 
void set_colors ()
 
void position_lines ()
 
void scroll_changed ()
 

Private Attributes

ArdourCanvas::Rectangleframe
 
ArdourCanvas::ScrollGroupwaves_container
 
ArdourCanvas::Containerline_container
 
ArdourCanvas::Linestart_line
 
ArdourCanvas::Lineend_line
 
ArdourCanvas::Lineloop_line
 
ArdourCanvas::Rectanglescroll_bar_trough
 
ArdourCanvas::Rectanglescroll_bar_handle
 
ArdourCanvas::Containerruler_container
 
ArdourCanvas::Rulerruler
 
ClipBBTMetricclip_metric
 
std::vector< ArdourWaveView::WaveView * > waves
 
double non_wave_height
 
samplepos_t left_origin
 
double _spp
 
double scroll_fraction
 
std::shared_ptr< ARDOUR::AudioRegionaudio_region
 
LineDragcurrent_line_drag
 
ScrollDragcurrent_scroll_drag
 

Friends

class LineDrag
 
class ScrollDrag
 

Additional Inherited Members

- Static Public Member Functions inherited from ArdourCanvas::Canvas
static void set_tooltip_timeout (uint32_t msecs)
 
- Public Attributes inherited from ArdourCanvas::Canvas
sigc::signal< void, Duple const & > MouseMotion
 
sigc::signal< void > PreRender
 
bool item_save_restore
 
- Protected Member Functions inherited from ArdourCanvas::GtkCanvas
void on_size_allocate (Gtk::Allocation &)
 
bool on_scroll_event (GdkEventScroll *)
 
bool on_expose_event (GdkEventExpose *)
 
bool on_key_press_event (GdkEventKey *)
 
bool on_key_release_event (GdkEventKey *)
 
bool on_button_press_event (GdkEventButton *)
 
bool on_button_release_event (GdkEventButton *event)
 
bool on_motion_notify_event (GdkEventMotion *)
 
bool on_touch_begin_event (GdkEventTouch *)
 
bool on_touch_update_event (GdkEventTouch *event)
 
bool on_touch_end_event (GdkEventTouch *)
 
bool on_enter_notify_event (GdkEventCrossing *)
 
bool on_leave_notify_event (GdkEventCrossing *)
 
void on_style_changed (const Glib::RefPtr< Gtk::Style > &)
 
bool on_visibility_notify_event (GdkEventVisibility *)
 
void on_map ()
 
void on_unmap ()
 
void on_realize ()
 
bool button_handler (GdkEventButton *)
 
bool motion_notify_handler (GdkEventMotion *)
 
bool deliver_event (GdkEvent *)
 
void deliver_enter_leave (Duple const &point, int state)
 
void get_items_enclosing (Duple const &point, std::list< Item const * > &enclosing_items)
 
void pick_current_item (int state)
 
void pick_current_item (Duple const &, int state)
 
- Protected Member Functions inherited from ArdourCanvas::Canvas
void queue_draw_item_area (Item *, Rect)
 
Rect compute_draw_item_area (Item *, Rect)
 
- Protected Attributes inherited from ArdourCanvas::Canvas
Root _root
 
uint32_t _queue_draw_frozen
 
Rect frozen_area
 
Gtkmm2ext::Color _bg_color
 
bool _debug_render
 
gint64 _last_render_start_timestamp
 
std::list< ScrollGroup * > scrollers
 
bool _use_intermediate_surface
 
- Static Protected Attributes inherited from ArdourCanvas::Canvas
static uint32_t tooltip_timeout_msecs
 

Detailed Description

Definition at line 88 of file audio_clip_editor.h.

Member Enumeration Documentation

◆ LineType

Enumerator
StartLine 
EndLine 
LoopLine 

Definition at line 145 of file audio_clip_editor.h.

Constructor & Destructor Documentation

◆ AudioClipEditor()

AudioClipEditor::AudioClipEditor ( )

◆ ~AudioClipEditor()

AudioClipEditor::~AudioClipEditor ( )

Member Function Documentation

◆ drop_waves()

void AudioClipEditor::drop_waves ( )
private

◆ event_handler()

bool AudioClipEditor::event_handler ( GdkEvent *  ev)
private

◆ key_press()

bool AudioClipEditor::key_press ( GdkEventKey *  )

◆ line_event_handler()

bool AudioClipEditor::line_event_handler ( GdkEvent *  ev,
ArdourCanvas::Line  
)
private

◆ on_size_allocate()

void AudioClipEditor::on_size_allocate ( Gtk::Allocation &  )

◆ pixel_to_sample()

samplepos_t AudioClipEditor::pixel_to_sample ( double  )

◆ position_lines()

void AudioClipEditor::position_lines ( )
private

◆ sample_to_pixel()

double AudioClipEditor::sample_to_pixel ( ARDOUR::samplepos_t  )

◆ scrol_right()

void AudioClipEditor::scrol_right ( )
private

◆ scroll_changed()

void AudioClipEditor::scroll_changed ( )
private

◆ scroll_event_handler()

bool AudioClipEditor::scroll_event_handler ( GdkEvent *  ev)
private

◆ scroll_left()

void AudioClipEditor::scroll_left ( )
private

◆ set_colors()

void AudioClipEditor::set_colors ( )
private

◆ set_region()

void AudioClipEditor::set_region ( std::shared_ptr< ARDOUR::AudioRegion ,
ARDOUR::TriggerReference   
)

◆ set_spp()

void AudioClipEditor::set_spp ( double  )

◆ set_spp_from_length()

void AudioClipEditor::set_spp_from_length ( ARDOUR::samplecnt_t  )
private

◆ set_wave_heights()

void AudioClipEditor::set_wave_heights ( )
private

◆ set_waveform_colors()

void AudioClipEditor::set_waveform_colors ( )
private

◆ spp()

double AudioClipEditor::spp ( ) const
inline

Definition at line 101 of file audio_clip_editor.h.

Friends And Related Function Documentation

◆ LineDrag

friend class LineDrag
friend

Definition at line 176 of file audio_clip_editor.h.

◆ ScrollDrag

friend class ScrollDrag
friend

Definition at line 193 of file audio_clip_editor.h.

Member Data Documentation

◆ _spp

double AudioClipEditor::_spp
private

Definition at line 138 of file audio_clip_editor.h.

◆ audio_region

std::shared_ptr<ARDOUR::AudioRegion> AudioClipEditor::audio_region
private

Definition at line 140 of file audio_clip_editor.h.

◆ clip_metric

ClipBBTMetric* AudioClipEditor::clip_metric
private

Definition at line 134 of file audio_clip_editor.h.

◆ current_line_drag

LineDrag* AudioClipEditor::current_line_drag
private

Definition at line 177 of file audio_clip_editor.h.

◆ current_scroll_drag

ScrollDrag* AudioClipEditor::current_scroll_drag
private

Definition at line 194 of file audio_clip_editor.h.

◆ end_line

ArdourCanvas::Line* AudioClipEditor::end_line
private

Definition at line 113 of file audio_clip_editor.h.

◆ frame

ArdourCanvas::Rectangle* AudioClipEditor::frame
private

Definition at line 109 of file audio_clip_editor.h.

◆ left_origin

samplepos_t AudioClipEditor::left_origin
private

Definition at line 137 of file audio_clip_editor.h.

◆ line_container

ArdourCanvas::Container* AudioClipEditor::line_container
private

Definition at line 111 of file audio_clip_editor.h.

◆ loop_line

ArdourCanvas::Line* AudioClipEditor::loop_line
private

Definition at line 114 of file audio_clip_editor.h.

◆ non_wave_height

double AudioClipEditor::non_wave_height
private

Definition at line 136 of file audio_clip_editor.h.

◆ ruler

ArdourCanvas::Ruler* AudioClipEditor::ruler
private

Definition at line 118 of file audio_clip_editor.h.

◆ ruler_container

ArdourCanvas::Container* AudioClipEditor::ruler_container
private

Definition at line 117 of file audio_clip_editor.h.

◆ scroll_bar_handle

ArdourCanvas::Rectangle* AudioClipEditor::scroll_bar_handle
private

Definition at line 116 of file audio_clip_editor.h.

◆ scroll_bar_trough

ArdourCanvas::Rectangle* AudioClipEditor::scroll_bar_trough
private

Definition at line 115 of file audio_clip_editor.h.

◆ scroll_fraction

double AudioClipEditor::scroll_fraction
private

Definition at line 139 of file audio_clip_editor.h.

◆ start_line

ArdourCanvas::Line* AudioClipEditor::start_line
private

Definition at line 112 of file audio_clip_editor.h.

◆ waves

std::vector<ArdourWaveView::WaveView*> AudioClipEditor::waves
private

Definition at line 135 of file audio_clip_editor.h.

◆ waves_container

ArdourCanvas::ScrollGroup* AudioClipEditor::waves_container
private

Definition at line 110 of file audio_clip_editor.h.


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