ardour
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
ARDOUR::MidiModel::PatchChangeDiffCommand Class Reference

#include <midi_model.h>

Inheritance diagram for ARDOUR::MidiModel::PatchChangeDiffCommand:
ARDOUR::MidiModel::DiffCommand Command PBD::StatefulDestructible PBD::ScopedConnectionList PBD::Stateful PBD::Destructible

Classes

struct  Change
 

Public Types

enum  Property { Time, Channel, Program, Bank }
 

Public Member Functions

 PatchChangeDiffCommand (boost::shared_ptr< MidiModel >, const std::string &)
 
 PatchChangeDiffCommand (boost::shared_ptr< MidiModel >, const XMLNode &)
 
int set_state (const XMLNode &, int version)
 
XMLNodeget_state ()
 
void operator() ()
 
void undo ()
 
void add (PatchChangePtr)
 
void remove (PatchChangePtr)
 
void change_time (PatchChangePtr, TimeType)
 
void change_channel (PatchChangePtr, uint8_t)
 
void change_program (PatchChangePtr, uint8_t)
 
void change_bank (PatchChangePtr, int)
 
- Public Member Functions inherited from ARDOUR::MidiModel::DiffCommand
 DiffCommand (boost::shared_ptr< MidiModel > m, const std::string &name)
 
const std::string & name () const
 
boost::shared_ptr< MidiModelmodel () const
 
- Public Member Functions inherited from Command
virtual ~Command ()
 
void set_name (const std::string &str)
 
const std::string & name () const
 
virtual void redo ()
 
virtual bool empty () const
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_changes (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (Command *) const
 
virtual void rdiff (std::vector< Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
 Destructible ()
 
virtual ~Destructible ()
 
void drop_references ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Private Types

typedef std::list< ChangeChangeList
 

Private Member Functions

XMLNodemarshal_change (const Change &)
 
Change unmarshal_change (XMLNode *)
 
XMLNodemarshal_patch_change (constPatchChangePtr)
 
PatchChangePtr unmarshal_patch_change (XMLNode *)
 

Private Attributes

ChangeList _changes
 
std::list< PatchChangePtr_added
 
std::list< PatchChangePtr_removed
 

Additional Inherited Members

- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const
PropertyChange & > 
PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< void > DropReferences
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 
- Protected Member Functions inherited from Command
 Command ()
 
 Command (const std::string &name)
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
- Protected Attributes inherited from ARDOUR::MidiModel::DiffCommand
boost::shared_ptr< MidiModel_model
 
const std::string _name
 
- Protected Attributes inherited from Command
std::string _name
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 

Detailed Description

Definition at line 194 of file midi_model.h.

Member Typedef Documentation

Definition at line 240 of file midi_model.h.

Member Enumeration Documentation

Enumerator
Time 
Channel 
Program 
Bank 

Definition at line 212 of file midi_model.h.

Constructor & Destructor Documentation

ARDOUR::MidiModel::PatchChangeDiffCommand::PatchChangeDiffCommand ( boost::shared_ptr< MidiModel ,
const std::string &   
)
MidiModel::PatchChangeDiffCommand::PatchChangeDiffCommand ( boost::shared_ptr< MidiModel m,
const XMLNode node 
)

Definition at line 966 of file midi_model.cc.

Member Function Documentation

void MidiModel::PatchChangeDiffCommand::add ( PatchChangePtr  p)

Definition at line 974 of file midi_model.cc.

void MidiModel::PatchChangeDiffCommand::change_bank ( PatchChangePtr  patch,
int  bank 
)

Definition at line 1024 of file midi_model.cc.

void MidiModel::PatchChangeDiffCommand::change_channel ( PatchChangePtr  patch,
uint8_t  channel 
)

Definition at line 998 of file midi_model.cc.

void MidiModel::PatchChangeDiffCommand::change_program ( PatchChangePtr  patch,
uint8_t  program 
)

Definition at line 1011 of file midi_model.cc.

void MidiModel::PatchChangeDiffCommand::change_time ( PatchChangePtr  patch,
TimeType  t 
)

Definition at line 986 of file midi_model.cc.

XMLNode & MidiModel::PatchChangeDiffCommand::get_state ( void  )
virtual

Implements ARDOUR::MidiModel::DiffCommand.

Definition at line 1371 of file midi_model.cc.

XMLNode & MidiModel::PatchChangeDiffCommand::marshal_change ( const Change c)
private

Definition at line 1189 of file midi_model.cc.

XMLNode & MidiModel::PatchChangeDiffCommand::marshal_patch_change ( constPatchChangePtr  p)
private

Definition at line 1151 of file midi_model.cc.

void MidiModel::PatchChangeDiffCommand::operator() ( )
virtual

Implements ARDOUR::MidiModel::DiffCommand.

Definition at line 1036 of file midi_model.cc.

void MidiModel::PatchChangeDiffCommand::remove ( PatchChangePtr  p)

Definition at line 980 of file midi_model.cc.

int MidiModel::PatchChangeDiffCommand::set_state ( const XMLNode diff_command,
int  version 
)
virtual

Implements ARDOUR::MidiModel::DiffCommand.

Definition at line 1340 of file midi_model.cc.

void MidiModel::PatchChangeDiffCommand::undo ( )
virtual

Implements ARDOUR::MidiModel::DiffCommand.

Definition at line 1093 of file midi_model.cc.

MidiModel::PatchChangeDiffCommand::Change MidiModel::PatchChangeDiffCommand::unmarshal_change ( XMLNode n)
private

Definition at line 1278 of file midi_model.cc.

MidiModel::PatchChangePtr MidiModel::PatchChangeDiffCommand::unmarshal_patch_change ( XMLNode n)
private

Definition at line 1236 of file midi_model.cc.

Member Data Documentation

std::list<PatchChangePtr> ARDOUR::MidiModel::PatchChangeDiffCommand::_added
private

Definition at line 243 of file midi_model.h.

ChangeList ARDOUR::MidiModel::PatchChangeDiffCommand::_changes
private

Definition at line 241 of file midi_model.h.

std::list<PatchChangePtr> ARDOUR::MidiModel::PatchChangeDiffCommand::_removed
private

Definition at line 244 of file midi_model.h.


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