diff options
author | Robin Gareus <robin@gareus.org> | 2020-04-01 23:25:19 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-04-01 23:25:19 +0200 |
commit | 20ee430fda30e3b4b30f3a083598d26d2fe7ffeb (patch) | |
tree | 0883abb022a2460eb45bbb4bc5427c9ad9e5e392 /libs/ardour/instrument_info.cc | |
parent | 37bbc70179f006b86dfbdffca3cd7746fe2f32b7 (diff) |
Add API to count named MIDNAM controls
Diffstat (limited to 'libs/ardour/instrument_info.cc')
-rw-r--r-- | libs/ardour/instrument_info.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/ardour/instrument_info.cc b/libs/ardour/instrument_info.cc index f683e96f0b..fcc7baf1cd 100644 --- a/libs/ardour/instrument_info.cc +++ b/libs/ardour/instrument_info.cc @@ -176,6 +176,23 @@ InstrumentInfo::control_name_list (uint8_t channel) return dev_names->control_name_list (chan_names->control_list_name ()); } +size_t +InstrumentInfo::master_controller_count () const +{ + boost::shared_ptr<MasterDeviceNames> const& dev_names (MidiPatchManager::instance ().master_device_by_model (model ())); + if (!dev_names) { + return 0; + } + MasterDeviceNames::ControlNameLists const& ctllist (dev_names->controls()); + + size_t total_ctrls = 0; + for (MasterDeviceNames::ControlNameLists::const_iterator l = ctllist.begin(); l != ctllist.end(); ++l) { + boost::shared_ptr<ControlNameList> const& name_list = l->second; + total_ctrls += name_list->controls().size(); + } + return total_ctrls; +} + #if 0 MasterDeviceNames::ControlNameLists const& InstrumentInfo::master_control_names () const |