ardour
|
#include <transform_dialog.h>
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 (std::string title, bool modal=false, bool use_separator=false) | |
ArdourDialog (Gtk::Window &parent, 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 () |
Public Member Functions inherited from ARDOUR::SessionHandlePtr | |
SessionHandlePtr (ARDOUR::Session *s) | |
SessionHandlePtr () | |
virtual | ~SessionHandlePtr () |
virtual void | set_session (ARDOUR::Session *) |
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 ARDOUR::SessionHandlePtr | |
virtual void | session_going_away () |
Protected Attributes inherited from ARDOUR::SessionHandlePtr | |
ARDOUR::Session * | _session |
PBD::ScopedConnectionList | _session_connections |
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 52 of file transform_dialog.h.
|
private |
Definition at line 64 of file transform_dialog.h.
|
private |
Definition at line 63 of file transform_dialog.h.
Definition at line 60 of file transform_dialog.h.
|
private |
Definition at line 62 of file transform_dialog.h.
|
private |
Definition at line 61 of file transform_dialog.h.
TransformDialog::TransformDialog | ( | ) |
Definition at line 81 of file transform_dialog.cc.
|
private |
Definition at line 360 of file transform_dialog.cc.
Transform::Program TransformDialog::get | ( | ) |
Definition at line 329 of file transform_dialog.cc.
|
private |
Definition at line 353 of file transform_dialog.cc.
|
private |
Definition at line 137 of file transform_dialog.h.
|
private |
Definition at line 133 of file transform_dialog.h.
|
private |
Definition at line 136 of file transform_dialog.h.
|
private |
Definition at line 134 of file transform_dialog.h.
|
private |
Definition at line 135 of file transform_dialog.h.