summaryrefslogtreecommitdiff
path: root/plugin/drumgizmo_plugin.cc
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/drumgizmo_plugin.cc')
-rw-r--r--plugin/drumgizmo_plugin.cc22
1 files changed, 17 insertions, 5 deletions
diff --git a/plugin/drumgizmo_plugin.cc b/plugin/drumgizmo_plugin.cc
index b955eb3..7960763 100644
--- a/plugin/drumgizmo_plugin.cc
+++ b/plugin/drumgizmo_plugin.cc
@@ -176,7 +176,7 @@ bool DrumGizmoPlugin::hasInlineGUI()
}
class InlinePixelBufferAlpha
- : public GUI::PixelBufferAlpha
+ : public dggui::PixelBufferAlpha
{
public:
InlinePixelBufferAlpha(Plugin::InlineDrawContext& context)
@@ -190,7 +190,7 @@ public:
};
class InlineCanvas
- : public GUI::Canvas
+ : public dggui::Canvas
{
public:
InlineCanvas(Plugin::InlineDrawContext& context)
@@ -199,7 +199,7 @@ public:
}
// From Canvas:
- GUI::PixelBufferAlpha& getPixelBuffer() override
+ dggui::PixelBufferAlpha& getPixelBuffer() override
{
return pixbuf;
}
@@ -257,7 +257,7 @@ void DrumGizmoPlugin::onInlineRedraw(std::size_t width,
context.data = (unsigned char*)inlineDisplayBuffer;
InlineCanvas canvas(context);
- GUI::Painter painter(canvas);
+ dggui::Painter painter(canvas);
double progress =
(double)settingsGetter.number_of_files_loaded.getValue() /
@@ -281,6 +281,7 @@ void DrumGizmoPlugin::onInlineRedraw(std::size_t width,
bar_green.setSize(val, bar_height);
painter.drawImage(brd, height - bar_height, bar_green);
break;
+ case LoadStatus::Parsing:
case LoadStatus::Loading:
case LoadStatus::Idle:
bar_blue.setSize(val, bar_height);
@@ -409,7 +410,18 @@ bool DrumGizmoPlugin::Input::loadMidiMap(const std::string& file,
bool result = AudioInputEngineMidi::loadMidiMap(file, i);
std::vector<std::pair<int, std::string>> midnam;
- const auto& map = mmap.getMap();
+ const auto& midimap = mmap.getMap();
+ std::map<int, std::string> map;
+ for(const auto& entry : midimap)
+ {
+ // in case of multiple instruments mapped to one note, use '/' as separator
+ if(!map[entry.note_id].empty())
+ {
+ map[entry.note_id] += "/";
+ }
+ map[entry.note_id] += entry.instrument_name;
+ }
+
midnam.reserve(map.size());
for(const auto& m : map)
{