bool msgReceived(const char* const msg) noexcept override { if (CarlaExternalUI::msgReceived(msg)) return true; if (std::strcmp(msg, "control") == 0) { uint32_t param; float value; CARLA_SAFE_ASSERT_RETURN(readNextLineAsUInt(param), true); CARLA_SAFE_ASSERT_RETURN(readNextLineAsFloat(value), true); try { uiParameterChanged(param, value); } catch(...) {} return true; } if (std::strcmp(msg, "program") == 0) { uint32_t channel, bank, program; CARLA_SAFE_ASSERT_RETURN(readNextLineAsUInt(channel), true); CARLA_SAFE_ASSERT_RETURN(readNextLineAsUInt(bank), true); CARLA_SAFE_ASSERT_RETURN(readNextLineAsUInt(program), true); CARLA_SAFE_ASSERT_RETURN(channel < MAX_MIDI_CHANNELS, true); try { uiMidiProgramChanged(channel, bank, program); } catch(...) {} return true; } if (std::strcmp(msg, "configure") == 0) { const char* key; const char* value; CARLA_SAFE_ASSERT_RETURN(readNextLineAsString(key), true); CARLA_SAFE_ASSERT_RETURN(readNextLineAsString(value), true); try { uiCustomDataChanged(key, value); } catch(...) {} delete[] key; delete[] value; return true; } carla_stderr("msgReceived : %s", msg); return false; }
void uiShow(const bool show) override { if (! show) return; if (const char* const filename = uiOpenFile(false, "Open Audio File", "")) uiCustomDataChanged("file", filename); uiClosed(); }