Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::InstrumentInfo Class Reference

#include <instrument_info.h>

Public Member Functions

 InstrumentInfo ()
 
 ~InstrumentInfo ()
 
std::string model () const
 
std::string mode () const
 
void set_external_instrument (const std::string &model, const std::string &mode)
 
void set_internal_instrument (std::shared_ptr< ARDOUR::Processor >)
 
std::string get_note_name (uint16_t bank, uint8_t program, uint8_t channel, uint8_t note) const
 
std::string get_patch_name (uint16_t bank, uint8_t program, uint8_t channel) const
 
std::string get_patch_name_without (uint16_t bank, uint8_t program, uint8_t channel) const
 
std::string get_controller_name (Evoral::Parameter param) const
 
std::shared_ptr< MIDI::Name::MasterDeviceNamesmaster_device_names () const
 
std::shared_ptr< MIDI::Name::ChannelNameSetget_patches (uint8_t channel)
 
std::shared_ptr< MIDI::Name::ControlNameListcontrol_name_list (uint8_t channel)
 
std::shared_ptr< const MIDI::Name::ValueNameListvalue_name_list_by_control (uint8_t channel, uint8_t number) const
 
size_t master_controller_count () const
 
uint16_t channels_for_control_list (std::string const &ctrl_name_list) const
 
bool have_custom_plugin_info () const
 

Public Attributes

PBD::Signal< void()> Changed
 

Private Member Functions

std::string get_patch_name (uint16_t bank, uint8_t program, uint8_t channel, bool with_extra) const
 
void invalidate_cached_plugin_model ()
 
void emit_changed ()
 

Private Attributes

std::string _external_instrument_model
 
std::string _external_instrument_mode
 
std::string _plugin_model
 
std::string _plugin_mode
 
std::weak_ptr< ARDOUR::Processorinternal_instrument
 
PBD::ScopedConnection _midnam_changed
 

Detailed Description

Definition at line 47 of file instrument_info.h.

Constructor & Destructor Documentation

◆ InstrumentInfo()

ARDOUR::InstrumentInfo::InstrumentInfo ( )

◆ ~InstrumentInfo()

ARDOUR::InstrumentInfo::~InstrumentInfo ( )

Member Function Documentation

◆ channels_for_control_list()

uint16_t ARDOUR::InstrumentInfo::channels_for_control_list ( std::string const &  ctrl_name_list) const

◆ control_name_list()

std::shared_ptr<MIDI::Name::ControlNameList> ARDOUR::InstrumentInfo::control_name_list ( uint8_t  channel)

◆ emit_changed()

void ARDOUR::InstrumentInfo::emit_changed ( )
private

◆ get_controller_name()

std::string ARDOUR::InstrumentInfo::get_controller_name ( Evoral::Parameter  param) const

◆ get_note_name()

std::string ARDOUR::InstrumentInfo::get_note_name ( uint16_t  bank,
uint8_t  program,
uint8_t  channel,
uint8_t  note 
) const

◆ get_patch_name() [1/2]

std::string ARDOUR::InstrumentInfo::get_patch_name ( uint16_t  bank,
uint8_t  program,
uint8_t  channel 
) const

◆ get_patch_name() [2/2]

std::string ARDOUR::InstrumentInfo::get_patch_name ( uint16_t  bank,
uint8_t  program,
uint8_t  channel,
bool  with_extra 
) const
private

◆ get_patch_name_without()

std::string ARDOUR::InstrumentInfo::get_patch_name_without ( uint16_t  bank,
uint8_t  program,
uint8_t  channel 
) const

◆ get_patches()

std::shared_ptr<MIDI::Name::ChannelNameSet> ARDOUR::InstrumentInfo::get_patches ( uint8_t  channel)

◆ have_custom_plugin_info()

bool ARDOUR::InstrumentInfo::have_custom_plugin_info ( ) const

◆ invalidate_cached_plugin_model()

void ARDOUR::InstrumentInfo::invalidate_cached_plugin_model ( )
inlineprivate

Definition at line 82 of file instrument_info.h.

◆ master_controller_count()

size_t ARDOUR::InstrumentInfo::master_controller_count ( ) const

◆ master_device_names()

std::shared_ptr<MIDI::Name::MasterDeviceNames> ARDOUR::InstrumentInfo::master_device_names ( ) const

◆ mode()

std::string ARDOUR::InstrumentInfo::mode ( ) const

◆ model()

std::string ARDOUR::InstrumentInfo::model ( ) const

◆ set_external_instrument()

void ARDOUR::InstrumentInfo::set_external_instrument ( const std::string &  model,
const std::string &  mode 
)

◆ set_internal_instrument()

void ARDOUR::InstrumentInfo::set_internal_instrument ( std::shared_ptr< ARDOUR::Processor )

◆ value_name_list_by_control()

std::shared_ptr<const MIDI::Name::ValueNameList> ARDOUR::InstrumentInfo::value_name_list_by_control ( uint8_t  channel,
uint8_t  number 
) const

Member Data Documentation

◆ _external_instrument_mode

std::string ARDOUR::InstrumentInfo::_external_instrument_mode
private

Definition at line 91 of file instrument_info.h.

◆ _external_instrument_model

std::string ARDOUR::InstrumentInfo::_external_instrument_model
private

Definition at line 90 of file instrument_info.h.

◆ _midnam_changed

PBD::ScopedConnection ARDOUR::InstrumentInfo::_midnam_changed
private

Definition at line 98 of file instrument_info.h.

◆ _plugin_mode

std::string ARDOUR::InstrumentInfo::_plugin_mode
mutableprivate

Definition at line 94 of file instrument_info.h.

◆ _plugin_model

std::string ARDOUR::InstrumentInfo::_plugin_model
mutableprivate

Definition at line 93 of file instrument_info.h.

◆ Changed

PBD::Signal<void()> ARDOUR::InstrumentInfo::Changed

Definition at line 75 of file instrument_info.h.

◆ internal_instrument

std::weak_ptr<ARDOUR::Processor> ARDOUR::InstrumentInfo::internal_instrument
private

Definition at line 96 of file instrument_info.h.


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