Ardour  9.0-pre0-822-g12e3bc5c20
CrossfadeEditor Class Reference

#include <crossfade_edit.h>

Inheritance diagram for CrossfadeEditor:
[legend]

Classes

struct  Half
 
struct  Point
 
struct  PointSorter
 
struct  Preset
 
struct  PresetPoint
 

Public Types

typedef std::list< Preset * > Presets
 

Public Member Functions

 CrossfadeEditor (ARDOUR::Session *, std::shared_ptr< ARDOUR::Crossfade >, double miny, double maxy)
 
 ~CrossfadeEditor ()
 
void apply ()
 
- Public Member Functions inherited from ArdourDialog
 ArdourDialog (const std::string &title, bool modal=false, bool use_separator=false)
 
 ArdourDialog (Gtk::Window &parent, const std::string &title, bool modal=false, bool use_separator=false)
 
 ~ArdourDialog ()
 
bool on_focus_in_event (GdkEventFocus *)
 
bool on_focus_out_event (GdkEventFocus *)
 
bool on_delete_event (GdkEventAny *)
 
void on_unmap ()
 
void on_show ()
 
virtual void on_response (int)
 
void set_ui_sensitive (bool)
 
void disallow_idle ()
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 
virtual void set_session (ARDOUR::Session *)
 
virtual ARDOUR::Sessionsession () const
 

Public Attributes

Gtk::Button * cancel_button
 
Gtk::Button * ok_button
 

Static Public Attributes

static const double canvas_border
 
static Presetsfade_in_presets
 
static Presetsfade_out_presets
 

Protected Member Functions

bool on_key_press_event (GdkEventKey *)
 
bool on_key_release_event (GdkEventKey *)
 
- Protected Member Functions inherited from ArdourDialog
void pop_splash ()
 
void close_self ()
 
- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 

Private Types

enum  WhichFade { In = 0 , Out = 1 }
 
enum  Audition { Both , Left , Right }
 

Private Member Functions

gint event_handler (GdkEvent *)
 
bool canvas_event (GdkEvent *event)
 
bool point_event (GdkEvent *event, Point *)
 
bool curve_event (GdkEvent *event)
 
void canvas_allocation (Gtk::Allocation &)
 
void add_control_point (double x, double y)
 
Pointmake_point ()
 
void redraw ()
 
double effective_width () const
 
double effective_height () const
 
void clear ()
 
void reset ()
 
void build_presets ()
 
void apply_preset (Preset *)
 
void curve_select_clicked (WhichFade)
 
double x_coordinate (double &xfract) const
 
double y_coordinate (double &yfract) const
 
void set (const ARDOUR::AutomationList &alist, WhichFade)
 
void make_waves (std::shared_ptr< ARDOUR::AudioRegion >, WhichFade)
 
void peaks_ready (std::weak_ptr< ARDOUR::AudioRegion > r, WhichFade)
 
void _apply_to (std::shared_ptr< ARDOUR::Crossfade > xf)
 
void setup (std::shared_ptr< ARDOUR::Crossfade >)
 
void cancel_audition ()
 
void audition_state_changed (bool)
 
void audition_toggled ()
 
void audition_right_toggled ()
 
void audition_right_dry_toggled ()
 
void audition_left_toggled ()
 
void audition_left_dry_toggled ()
 
void audition (Audition)
 
void audition_both ()
 
void audition_left_dry ()
 
void audition_left ()
 
void audition_right_dry ()
 
void audition_right ()
 
void xfade_changed (const PBD::PropertyChange &)
 
void dump ()
 

Private Attributes

std::shared_ptr< ARDOUR::Crossfade > xfade
 
Gtk::VBox vpacker
 
ArdourCanvas::Rectangletoplevel
 
ArdourCanvas::GtkCanvascanvas
 
Half fade [2]
 
WhichFade current
 
bool point_grabbed
 
std::vector< Gtk::Button * > fade_out_buttons
 
std::vector< Gtk::Button * > fade_in_buttons
 
Gtk::VBox vpacker2
 
Gtk::Button clear_button
 
Gtk::Button revert_button
 
Gtk::ToggleButton audition_both_button
 
Gtk::ToggleButton audition_left_dry_button
 
Gtk::ToggleButton audition_left_button
 
Gtk::ToggleButton audition_right_dry_button
 
Gtk::ToggleButton audition_right_button
 
Gtk::ToggleButton preroll_button
 
Gtk::ToggleButton postroll_button
 
Gtk::HBox roll_box
 
double miny
 
double maxy
 
Gtk::Table fade_in_table
 
Gtk::Table fade_out_table
 
Gtk::RadioButton select_in_button
 
Gtk::RadioButton select_out_button
 
Gtk::HBox curve_button_box
 
Gtk::HBox audition_box
 
PBD::ScopedConnection_peaks_ready_connection
 
PBD::ScopedConnection state_connection
 

Additional Inherited Members

- Protected Attributes inherited from ArdourDialog
bool _sensitive
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 

Detailed Description

Definition at line 61 of file crossfade_edit.h.

Member Typedef Documentation

◆ Presets

typedef std::list<Preset*> CrossfadeEditor::Presets

Definition at line 91 of file crossfade_edit.h.

Member Enumeration Documentation

◆ Audition

Enumerator
Both 
Left 
Right 

Definition at line 215 of file crossfade_edit.h.

◆ WhichFade

Enumerator
In 
Out 

Definition at line 138 of file crossfade_edit.h.

Constructor & Destructor Documentation

◆ CrossfadeEditor()

CrossfadeEditor::CrossfadeEditor ( ARDOUR::Session ,
std::shared_ptr< ARDOUR::Crossfade >  ,
double  miny,
double  maxy 
)

◆ ~CrossfadeEditor()

CrossfadeEditor::~CrossfadeEditor ( )

Member Function Documentation

◆ _apply_to()

void CrossfadeEditor::_apply_to ( std::shared_ptr< ARDOUR::Crossfade >  xf)
private

◆ add_control_point()

void CrossfadeEditor::add_control_point ( double  x,
double  y 
)
private

◆ apply()

void CrossfadeEditor::apply ( )

◆ apply_preset()

void CrossfadeEditor::apply_preset ( Preset )
private

◆ audition()

void CrossfadeEditor::audition ( Audition  )
private

◆ audition_both()

void CrossfadeEditor::audition_both ( )
private

◆ audition_left()

void CrossfadeEditor::audition_left ( )
private

◆ audition_left_dry()

void CrossfadeEditor::audition_left_dry ( )
private

◆ audition_left_dry_toggled()

void CrossfadeEditor::audition_left_dry_toggled ( )
private

◆ audition_left_toggled()

void CrossfadeEditor::audition_left_toggled ( )
private

◆ audition_right()

void CrossfadeEditor::audition_right ( )
private

◆ audition_right_dry()

void CrossfadeEditor::audition_right_dry ( )
private

◆ audition_right_dry_toggled()

void CrossfadeEditor::audition_right_dry_toggled ( )
private

◆ audition_right_toggled()

void CrossfadeEditor::audition_right_toggled ( )
private

◆ audition_state_changed()

void CrossfadeEditor::audition_state_changed ( bool  )
private

◆ audition_toggled()

void CrossfadeEditor::audition_toggled ( )
private

◆ build_presets()

void CrossfadeEditor::build_presets ( )
private

◆ cancel_audition()

void CrossfadeEditor::cancel_audition ( )
private

◆ canvas_allocation()

void CrossfadeEditor::canvas_allocation ( Gtk::Allocation &  )
private

◆ canvas_event()

bool CrossfadeEditor::canvas_event ( GdkEvent *  event)
private

◆ clear()

void CrossfadeEditor::clear ( )
private

◆ curve_event()

bool CrossfadeEditor::curve_event ( GdkEvent *  event)
private

◆ curve_select_clicked()

void CrossfadeEditor::curve_select_clicked ( WhichFade  )
private

◆ dump()

void CrossfadeEditor::dump ( )
private

◆ effective_height()

double CrossfadeEditor::effective_height ( ) const
inlineprivate

Definition at line 178 of file crossfade_edit.h.

◆ effective_width()

double CrossfadeEditor::effective_width ( ) const
inlineprivate

Definition at line 177 of file crossfade_edit.h.

◆ event_handler()

gint CrossfadeEditor::event_handler ( GdkEvent *  )
private

◆ make_point()

Point* CrossfadeEditor::make_point ( )
private

◆ make_waves()

void CrossfadeEditor::make_waves ( std::shared_ptr< ARDOUR::AudioRegion ,
WhichFade   
)
private

◆ on_key_press_event()

bool CrossfadeEditor::on_key_press_event ( GdkEventKey *  )
protected

◆ on_key_release_event()

bool CrossfadeEditor::on_key_release_event ( GdkEventKey *  )
protected

◆ peaks_ready()

void CrossfadeEditor::peaks_ready ( std::weak_ptr< ARDOUR::AudioRegion r,
WhichFade   
)
private

◆ point_event()

bool CrossfadeEditor::point_event ( GdkEvent *  event,
Point  
)
private

◆ redraw()

void CrossfadeEditor::redraw ( )
private

◆ reset()

void CrossfadeEditor::reset ( )
private

◆ set()

void CrossfadeEditor::set ( const ARDOUR::AutomationList alist,
WhichFade   
)
private

◆ setup()

void CrossfadeEditor::setup ( std::shared_ptr< ARDOUR::Crossfade >  )
private

◆ x_coordinate()

double CrossfadeEditor::x_coordinate ( double &  xfract) const
private

◆ xfade_changed()

void CrossfadeEditor::xfade_changed ( const PBD::PropertyChange )
private

◆ y_coordinate()

double CrossfadeEditor::y_coordinate ( double &  yfract) const
private

Member Data Documentation

◆ _peaks_ready_connection

PBD::ScopedConnection* CrossfadeEditor::_peaks_ready_connection
private

Definition at line 204 of file crossfade_edit.h.

◆ audition_both_button

Gtk::ToggleButton CrossfadeEditor::audition_both_button
private

Definition at line 155 of file crossfade_edit.h.

◆ audition_box

Gtk::HBox CrossfadeEditor::audition_box
private

Definition at line 195 of file crossfade_edit.h.

◆ audition_left_button

Gtk::ToggleButton CrossfadeEditor::audition_left_button
private

Definition at line 157 of file crossfade_edit.h.

◆ audition_left_dry_button

Gtk::ToggleButton CrossfadeEditor::audition_left_dry_button
private

Definition at line 156 of file crossfade_edit.h.

◆ audition_right_button

Gtk::ToggleButton CrossfadeEditor::audition_right_button
private

Definition at line 159 of file crossfade_edit.h.

◆ audition_right_dry_button

Gtk::ToggleButton CrossfadeEditor::audition_right_dry_button
private

Definition at line 158 of file crossfade_edit.h.

◆ cancel_button

Gtk::Button* CrossfadeEditor::cancel_button

Definition at line 73 of file crossfade_edit.h.

◆ canvas

ArdourCanvas::GtkCanvas* CrossfadeEditor::canvas
private

Definition at line 125 of file crossfade_edit.h.

◆ canvas_border

const double CrossfadeEditor::canvas_border
static

Definition at line 69 of file crossfade_edit.h.

◆ clear_button

Gtk::Button CrossfadeEditor::clear_button
private

Definition at line 152 of file crossfade_edit.h.

◆ current

WhichFade CrossfadeEditor::current
private

Definition at line 144 of file crossfade_edit.h.

◆ curve_button_box

Gtk::HBox CrossfadeEditor::curve_button_box
private

Definition at line 194 of file crossfade_edit.h.

◆ fade

Half CrossfadeEditor::fade[2]
private

Definition at line 143 of file crossfade_edit.h.

◆ fade_in_buttons

std::vector<Gtk::Button*> CrossfadeEditor::fade_in_buttons
private

Definition at line 148 of file crossfade_edit.h.

◆ fade_in_presets

Presets* CrossfadeEditor::fade_in_presets
static

Definition at line 93 of file crossfade_edit.h.

◆ fade_in_table

Gtk::Table CrossfadeEditor::fade_in_table
private

Definition at line 186 of file crossfade_edit.h.

◆ fade_out_buttons

std::vector<Gtk::Button*> CrossfadeEditor::fade_out_buttons
private

Definition at line 147 of file crossfade_edit.h.

◆ fade_out_presets

Presets* CrossfadeEditor::fade_out_presets
static

Definition at line 94 of file crossfade_edit.h.

◆ fade_out_table

Gtk::Table CrossfadeEditor::fade_out_table
private

Definition at line 187 of file crossfade_edit.h.

◆ maxy

double CrossfadeEditor::maxy
private

Definition at line 184 of file crossfade_edit.h.

◆ miny

double CrossfadeEditor::miny
private

Definition at line 183 of file crossfade_edit.h.

◆ ok_button

Gtk::Button* CrossfadeEditor::ok_button

Definition at line 74 of file crossfade_edit.h.

◆ point_grabbed

bool CrossfadeEditor::point_grabbed
private

Definition at line 146 of file crossfade_edit.h.

◆ postroll_button

Gtk::ToggleButton CrossfadeEditor::postroll_button
private

Definition at line 162 of file crossfade_edit.h.

◆ preroll_button

Gtk::ToggleButton CrossfadeEditor::preroll_button
private

Definition at line 161 of file crossfade_edit.h.

◆ revert_button

Gtk::Button CrossfadeEditor::revert_button
private

Definition at line 153 of file crossfade_edit.h.

◆ roll_box

Gtk::HBox CrossfadeEditor::roll_box
private

Definition at line 164 of file crossfade_edit.h.

◆ select_in_button

Gtk::RadioButton CrossfadeEditor::select_in_button
private

Definition at line 192 of file crossfade_edit.h.

◆ select_out_button

Gtk::RadioButton CrossfadeEditor::select_out_button
private

Definition at line 193 of file crossfade_edit.h.

◆ state_connection

PBD::ScopedConnection CrossfadeEditor::state_connection
private

Definition at line 205 of file crossfade_edit.h.

◆ toplevel

ArdourCanvas::Rectangle* CrossfadeEditor::toplevel
private

Definition at line 124 of file crossfade_edit.h.

◆ vpacker

Gtk::VBox CrossfadeEditor::vpacker
private

Definition at line 103 of file crossfade_edit.h.

◆ vpacker2

Gtk::VBox CrossfadeEditor::vpacker2
private

Definition at line 150 of file crossfade_edit.h.

◆ xfade

std::shared_ptr<ARDOUR::Crossfade> CrossfadeEditor::xfade
private

Definition at line 101 of file crossfade_edit.h.


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