Allowed to choose MuseSampler from mixer panel
This commit is contained in:
parent
71dad151f3
commit
baff141550
3 changed files with 31 additions and 0 deletions
|
@ -11,6 +11,7 @@ using namespace mu::audio;
|
|||
|
||||
static const QString VST_MENU_ITEM_ID("VST");
|
||||
static const QString SOUNDFONTS_MENU_ITEM_ID = QString::fromStdString(mu::trc("playback", "Soundfonts"));
|
||||
static const QString MUSE_MENU_ITEM_ID("Muse");
|
||||
|
||||
InputResourceItem::InputResourceItem(QObject* parent)
|
||||
: AbstractAudioResourceItem(parent)
|
||||
|
@ -34,6 +35,13 @@ void InputResourceItem::requestAvailableResources()
|
|||
result << buildSeparator();
|
||||
}
|
||||
|
||||
auto museResourcesSearch = m_availableResourceMap.find(AudioResourceType::MuseSamplerSoundPack);
|
||||
if (museResourcesSearch != m_availableResourceMap.end()) {
|
||||
result << buildMuseMenuItem(museResourcesSearch->second);
|
||||
|
||||
result << buildSeparator();
|
||||
}
|
||||
|
||||
auto vstResourcesSearch = m_availableResourceMap.find(AudioResourceType::VstPlugin);
|
||||
if (vstResourcesSearch != m_availableResourceMap.end()) {
|
||||
result << buildVstMenuItem(vstResourcesSearch->second);
|
||||
|
@ -106,6 +114,26 @@ bool InputResourceItem::hasNativeEditorSupport() const
|
|||
return m_currentInputParams.resourceMeta.hasNativeEditorSupport;
|
||||
}
|
||||
|
||||
QVariantMap InputResourceItem::buildMuseMenuItem(const ResourceByVendorMap& resourcesByVendor) const
|
||||
{
|
||||
QVariantList subItemsByType;
|
||||
|
||||
for (const auto& pair : resourcesByVendor) {
|
||||
for (const AudioResourceMeta& resourceMeta : pair.second) {
|
||||
const QString& resourceId = QString::fromStdString(resourceMeta.id);
|
||||
|
||||
subItemsByType << buildMenuItem(resourceId,
|
||||
resourceId,
|
||||
m_currentInputParams.resourceMeta.id == resourceMeta.id);
|
||||
}
|
||||
}
|
||||
|
||||
return buildMenuItem(MUSE_MENU_ITEM_ID,
|
||||
MUSE_MENU_ITEM_ID,
|
||||
m_currentInputParams.resourceMeta.type == AudioResourceType::MuseSamplerSoundPack,
|
||||
subItemsByType);
|
||||
}
|
||||
|
||||
QVariantMap InputResourceItem::buildVstMenuItem(const ResourceByVendorMap& resourcesByVendor) const
|
||||
{
|
||||
QVariantList subItemsByType;
|
||||
|
|
|
@ -62,6 +62,7 @@ signals:
|
|||
private:
|
||||
using ResourceByVendorMap = std::map<audio::AudioResourceVendor, audio::AudioResourceMetaList>;
|
||||
|
||||
QVariantMap buildMuseMenuItem(const ResourceByVendorMap& resourcesByVendor) const;
|
||||
QVariantMap buildVstMenuItem(const ResourceByVendorMap& resourcesByVendor) const;
|
||||
QVariantMap buildSoundFontsMenuItem(const ResourceByVendorMap& resourcesByVendor) const;
|
||||
|
||||
|
|
|
@ -32,12 +32,14 @@ using namespace mu::engraving;
|
|||
|
||||
static const std::map<AudioSourceType, QString> SOURCE_TYPE_MAP = {
|
||||
{ AudioSourceType::Undefined, "undefined" },
|
||||
{ AudioSourceType::MuseSampler, "musesampler" },
|
||||
{ AudioSourceType::Fluid, "fluid" },
|
||||
{ AudioSourceType::Vsti, "vsti" }
|
||||
};
|
||||
|
||||
static const std::map<AudioResourceType, QString> RESOURCE_TYPE_MAP = {
|
||||
{ AudioResourceType::Undefined, "undefined" },
|
||||
{ AudioResourceType::MuseSamplerSoundPack, "muse_sampler_sound_pack" },
|
||||
{ AudioResourceType::FluidSoundfont, "fluid_soundfont" },
|
||||
{ AudioResourceType::VstPlugin, "vst_plugin" }
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue