ardour
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
MIDI::Name::MidiPatchManager Class Reference

#include <midi_patch_manager.h>

Inheritance diagram for MIDI::Name::MidiPatchManager:
PBD::ScopedConnectionList ARDOUR::SessionHandlePtr

Public Types

typedef std::map< std::string,
boost::shared_ptr
< MIDINameDocument > > 
MidiNameDocuments
 
typedef std::map< std::string,
MIDINameDocument::MasterDeviceNamesList > 
DeviceNamesByMaker
 

Public Member Functions

virtual ~MidiPatchManager ()
 
void set_session (ARDOUR::Session *)
 
boost::shared_ptr
< MIDINameDocument > 
document_by_model (std::string model_name)
 
boost::shared_ptr
< MasterDeviceNames > 
master_device_by_model (std::string model_name)
 
boost::shared_ptr< ChannelNameSet > find_channel_name_set (std::string model, std::string custom_device_mode, uint8_t channel)
 
boost::shared_ptr< Patch > find_patch (std::string model, std::string custom_device_mode, uint8_t channel, PatchPrimaryKey patch_key)
 
boost::shared_ptr< Patch > previous_patch (std::string model, std::string custom_device_mode, uint8_t channel, PatchPrimaryKey patch_key)
 
boost::shared_ptr< Patch > next_patch (std::string model, std::string custom_device_mode, uint8_t channel, PatchPrimaryKey patch_key)
 
std::list< std::string > custom_device_mode_names_by_model (std::string model_name)
 
const MasterDeviceNames::Models & all_models () const
 
const DeviceNamesByMakerdevices_by_manufacturer () const
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 

Static Public Member Functions

static MidiPatchManagerinstance ()
 

Private Member Functions

 MidiPatchManager ()
 Singleton. More...
 
 MidiPatchManager (const MidiPatchManager &)
 
MidiPatchManageroperator= (const MidiPatchManager &)
 
void session_going_away ()
 
void refresh ()
 
void add_session_patches ()
 

Private Attributes

MidiNameDocuments _documents
 
MIDINameDocument::MasterDeviceNamesList _master_devices_by_model
 
DeviceNamesByMaker _devices_by_manufacturer
 
MasterDeviceNames::Models _all_models
 

Static Private Attributes

static MidiPatchManager_manager = 0
 

Additional Inherited Members

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

Detailed Description

Definition at line 38 of file midi_patch_manager.h.

Member Typedef Documentation

typedef std::map<std::string, MIDINameDocument::MasterDeviceNamesList> MIDI::Name::MidiPatchManager::DeviceNamesByMaker

Definition at line 50 of file midi_patch_manager.h.

typedef std::map<std::string, boost::shared_ptr<MIDINameDocument> > MIDI::Name::MidiPatchManager::MidiNameDocuments

Definition at line 49 of file midi_patch_manager.h.

Constructor & Destructor Documentation

MidiPatchManager::MidiPatchManager ( )
private

Singleton.

Definition at line 44 of file midi_patch_manager.cc.

MIDI::Name::MidiPatchManager::MidiPatchManager ( const MidiPatchManager )
private
virtual MIDI::Name::MidiPatchManager::~MidiPatchManager ( )
inlinevirtual

Definition at line 52 of file midi_patch_manager.h.

Member Function Documentation

void MidiPatchManager::add_session_patches ( )
private

Definition at line 58 of file midi_patch_manager.cc.

const MasterDeviceNames::Models& MIDI::Name::MidiPatchManager::all_models ( ) const
inline

Definition at line 136 of file midi_patch_manager.h.

std::list<std::string> MIDI::Name::MidiPatchManager::custom_device_mode_names_by_model ( std::string  model_name)
inline

Definition at line 127 of file midi_patch_manager.h.

const DeviceNamesByMaker& MIDI::Name::MidiPatchManager::devices_by_manufacturer ( ) const
inline

Definition at line 138 of file midi_patch_manager.h.

boost::shared_ptr<MIDINameDocument> MIDI::Name::MidiPatchManager::document_by_model ( std::string  model_name)
inline

Definition at line 63 of file midi_patch_manager.h.

boost::shared_ptr<ChannelNameSet> MIDI::Name::MidiPatchManager::find_channel_name_set ( std::string  model,
std::string  custom_device_mode,
uint8_t  channel 
)
inline

Definition at line 69 of file midi_patch_manager.h.

boost::shared_ptr<Patch> MIDI::Name::MidiPatchManager::find_patch ( std::string  model,
std::string  custom_device_mode,
uint8_t  channel,
PatchPrimaryKey  patch_key 
)
inline

Definition at line 82 of file midi_patch_manager.h.

static MidiPatchManager& MIDI::Name::MidiPatchManager::instance ( )
inlinestatic

Definition at line 54 of file midi_patch_manager.h.

boost::shared_ptr<MasterDeviceNames> MIDI::Name::MidiPatchManager::master_device_by_model ( std::string  model_name)
inline

Definition at line 66 of file midi_patch_manager.h.

boost::shared_ptr<Patch> MIDI::Name::MidiPatchManager::next_patch ( std::string  model,
std::string  custom_device_mode,
uint8_t  channel,
PatchPrimaryKey  patch_key 
)
inline

Definition at line 112 of file midi_patch_manager.h.

MidiPatchManager& MIDI::Name::MidiPatchManager::operator= ( const MidiPatchManager )
private
boost::shared_ptr<Patch> MIDI::Name::MidiPatchManager::previous_patch ( std::string  model,
std::string  custom_device_mode,
uint8_t  channel,
PatchPrimaryKey  patch_key 
)
inline

Definition at line 97 of file midi_patch_manager.h.

void MidiPatchManager::refresh ( )
private

Definition at line 106 of file midi_patch_manager.cc.

void MidiPatchManager::session_going_away ( )
privatevirtual

Reimplemented from ARDOUR::SessionHandlePtr.

Definition at line 158 of file midi_patch_manager.cc.

void MidiPatchManager::set_session ( ARDOUR::Session s)
virtual

Reimplemented from ARDOUR::SessionHandlePtr.

Definition at line 50 of file midi_patch_manager.cc.

Member Data Documentation

MasterDeviceNames::Models MIDI::Name::MidiPatchManager::_all_models
private

Definition at line 148 of file midi_patch_manager.h.

DeviceNamesByMaker MIDI::Name::MidiPatchManager::_devices_by_manufacturer
private

Definition at line 147 of file midi_patch_manager.h.

MidiNameDocuments MIDI::Name::MidiPatchManager::_documents
private

Definition at line 145 of file midi_patch_manager.h.

MidiPatchManager * MidiPatchManager::_manager = 0
staticprivate

Definition at line 46 of file midi_patch_manager.h.

MIDINameDocument::MasterDeviceNamesList MIDI::Name::MidiPatchManager::_master_devices_by_model
private

Definition at line 146 of file midi_patch_manager.h.


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