ardour
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TransformDialog Class Reference

#include <transform_dialog.h>

Inheritance diagram for TransformDialog:
ArdourDialog ARDOUR::SessionHandlePtr

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
 

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 52 of file transform_dialog.h.

Member Typedef Documentation

Definition at line 64 of file transform_dialog.h.

Definition at line 63 of file transform_dialog.h.

Definition at line 60 of file transform_dialog.h.

Definition at line 62 of file transform_dialog.h.

Definition at line 61 of file transform_dialog.h.

Constructor & Destructor Documentation

TransformDialog::TransformDialog ( )

Definition at line 81 of file transform_dialog.cc.

Member Function Documentation

void TransformDialog::add_clicked ( )
private

Definition at line 360 of file transform_dialog.cc.

Transform::Program TransformDialog::get ( )

Definition at line 329 of file transform_dialog.cc.

void TransformDialog::property_changed ( )
private

Definition at line 353 of file transform_dialog.cc.

Member Data Documentation

Gtk::Button TransformDialog::_add_button
private

Definition at line 137 of file transform_dialog.h.

Model TransformDialog::_model
private

Definition at line 133 of file transform_dialog.h.

Gtk::VBox TransformDialog::_operations_box
private

Definition at line 136 of file transform_dialog.h.

Gtk::ComboBox TransformDialog::_property_combo
private

Definition at line 134 of file transform_dialog.h.

ValueChooser* TransformDialog::_seed_chooser
private

Definition at line 135 of file transform_dialog.h.


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