Ardour  9.0-pre0-844-g046623df59
TransformDialog Class Reference

#include <transform_dialog.h>

Inheritance diagram for TransformDialog:
[legend]

Classes

struct  Model
 
struct  OperationChooser
 
struct  OperatorCols
 
struct  PropertyCols
 
struct  SourceCols
 
struct  ValueChooser
 

Public Member Functions

 TransformDialog ()
 
ARDOUR::Transform::Program get ()
 
- 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
 

Private Types

typedef ARDOUR::MidiModel::NoteDiffCommand::Property Property
 
typedef ARDOUR::Transform::Value Value
 
typedef ARDOUR::Transform::Value::Source Source
 
typedef ARDOUR::Transform::Operation::Operator Operator
 
typedef ARDOUR::Transform::Operation Operation
 

Private Member Functions

void property_changed ()
 
void add_clicked ()
 

Private Attributes

Model _model
 
Gtk::ComboBox _property_combo
 
ValueChooser_seed_chooser
 
Gtk::VBox _operations_box
 
Gtk::Button _add_button
 

Additional Inherited Members

- Protected Member Functions inherited from ArdourDialog
void pop_splash ()
 
void close_self ()
 
- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 
- Protected Attributes inherited from ArdourDialog
bool _sensitive
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 

Detailed Description

Dialog for building a MIDI note transformation.

This can build transformations with any number of operations, but is limited in power and can't build arbitrary transformations since there is no way to do conceptually parenthetical things (i.e. push things to the stack).

With this, it is possible to build transformations that process a single value in a series of steps starting with a seed, like: "value = seed OP value OP value ..." where OP is +, -, *, or /, left associative with no precedence. This is simple and pretty clear to the user what's going to happen, though a bit limited. It would be nice if the GUI could build fancier transformations, but it's not obvious how to do this without making things more confusing.

Definition at line 49 of file transform_dialog.h.

Member Typedef Documentation

◆ Operation

◆ Operator

◆ Property

◆ Source

typedef ARDOUR::Transform::Value::Source TransformDialog::Source
private

Definition at line 59 of file transform_dialog.h.

◆ Value

Definition at line 58 of file transform_dialog.h.

Constructor & Destructor Documentation

◆ TransformDialog()

TransformDialog::TransformDialog ( )

Member Function Documentation

◆ add_clicked()

void TransformDialog::add_clicked ( )
private

◆ get()

ARDOUR::Transform::Program TransformDialog::get ( )

◆ property_changed()

void TransformDialog::property_changed ( )
private

Member Data Documentation

◆ _add_button

Gtk::Button TransformDialog::_add_button
private

Definition at line 137 of file transform_dialog.h.

◆ _model

Model TransformDialog::_model
private

Definition at line 133 of file transform_dialog.h.

◆ _operations_box

Gtk::VBox TransformDialog::_operations_box
private

Definition at line 136 of file transform_dialog.h.

◆ _property_combo

Gtk::ComboBox TransformDialog::_property_combo
private

Definition at line 134 of file transform_dialog.h.

◆ _seed_chooser

ValueChooser* TransformDialog::_seed_chooser
private

Definition at line 135 of file transform_dialog.h.


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