gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

commit c1faefb04da16edca084f048765ea84f059e245a
parent f3851b8be27af7364fdfa5848fca12027d9a1d84
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Sat, 12 Feb 2022 02:36:45 +0100

fix various warnings

Diffstat:
Msource/jucePlugin/VirusController.cpp | 49++++++++++++++++++++++++-------------------------
Msource/jucePlugin/VirusController.h | 14+++++++-------
2 files changed, 31 insertions(+), 32 deletions(-)

diff --git a/source/jucePlugin/VirusController.cpp b/source/jucePlugin/VirusController.cpp @@ -104,7 +104,7 @@ namespace Virus if (msg[msg.size() - 1] != 0xf7) return; // invalid end?!? - for (auto i = 0; i < msg.size(); ++i) + for (size_t i = 0; i < msg.size(); ++i) { if (i < 5) { @@ -183,7 +183,7 @@ namespace Virus juce::Value* Controller::getParamValue(const ParameterType _param) { - auto res = getParameter(_param); + const auto res = getParameter(_param); return res ? &res->getValueObject() : nullptr; } @@ -205,14 +205,14 @@ namespace Virus return nullptr; const auto &index = it->second; - - ParamIndex paramIndex{index.page, _part, index.paramNum}; + + const ParamIndex paramIndex{index.page, _part, index.paramNum}; return findSynthParam(paramIndex); } void Controller::parseParamChange(const SysEx &msg) { - const auto pos = kHeaderWithMsgCodeLen - 1; + constexpr auto pos = kHeaderWithMsgCodeLen - 1; const auto value = msg[pos + 3]; const auto bank = msg[pos]; const auto ch = msg[pos + 1]; @@ -244,7 +244,7 @@ namespace Virus ignored */ } - uint8_t Controller::getVirusModel() + uint8_t Controller::getVirusModel() const { return parseAsciiText(m_singles[2][0].data, 128 + 112) == "Taurus JS" ? virusLib::VirusModel::B : virusLib::VirusModel::C; } @@ -272,15 +272,15 @@ namespace Virus juce::StringArray Controller::getMultiPresetsName() const { juce::StringArray bankNames; - for (auto i = 0; i < 128; i++) - bankNames.add(parseAsciiText(m_multis[i].data, 0)); + for (const auto& m_multi : m_multis) + bankNames.add(parseAsciiText(m_multi.data, 0)); return bankNames; } void Controller::setSinglePresetName(uint8_t part, juce::String _name) { constexpr uint8_t asciiStart = 112; _name = _name.substring(0,kNameLength).paddedRight(' ', kNameLength); for (int i = 0; i < kNameLength; i++) { - getParamValue(part, 1, asciiStart+i)->setValue((uint8_t)_name[i]); + getParamValue(part, 1, asciiStart+i)->setValue(static_cast<uint8_t>(_name[i])); } } juce::String Controller::getCurrentPartPresetName(uint8_t part) @@ -291,7 +291,7 @@ namespace Virus text[kNameLength] = 0; // termination for (auto pos = 0; pos < kNameLength; ++pos) text[pos] = static_cast<int>(getParamValue(part, 1, asciiStart + pos)->getValue()); - return juce::String(text); + return {text}; } void Controller::setCurrentPartPreset(uint8_t part, virusLib::BankNumber _bank, uint8_t prg) @@ -322,7 +322,7 @@ namespace Virus m_currentProgram[part] = prg; } - virusLib::BankNumber Controller::getCurrentPartBank(uint8_t part) { return m_currentBank[part]; } + virusLib::BankNumber Controller::getCurrentPartBank(uint8_t part) const { return m_currentBank[part]; } uint8_t Controller::getCurrentPartProgram(uint8_t part) const { return m_currentProgram[part]; } void Controller::parseSingle(const SysEx &msg) { @@ -352,7 +352,7 @@ namespace Virus // the logic to maintain this is done by listening the global single/multi param. if (isMultiMode() && patch.progNumber == virusLib::SINGLE) return; - else if (!isMultiMode() && patch.progNumber == 0x0) + if (!isMultiMode() && patch.progNumber == 0x0) return; const uint8_t ch = patch.progNumber == virusLib::SINGLE ? 0 : patch.progNumber; @@ -396,7 +396,7 @@ namespace Virus /* If it's a multi edit buffer, set the part page C single parameters to their multi equivalents */ if (patch.bankNumber == 0) { - for (auto pt = 0; pt < 16; pt++) { + for (uint8_t pt = 0; pt < 16; pt++) { for(int i = 0; i < 8; i++) { if (auto* p = findSynthParam(pt, virusLib::PAGE_C, virusLib::PART_MIDI_CHANNEL+i)) { p->setValueFromSynth(patch.data[virusLib::MD_PART_MIDI_CHANNEL + (i*16) + pt], true); @@ -408,7 +408,7 @@ namespace Virus /* if (auto* p = findSynthParam(pt, virusLib::PAGE_A, virusLib::EFFECT_SEND)) { p->setValueFromSynth(patch.data[virusLib::MD_PART_EFFECT_SEND], true); }*/ - m_currentBank[pt] = (virusLib::BankNumber)(patch.data[virusLib::MD_PART_BANK_NUMBER + pt]+1); + m_currentBank[pt] = static_cast<virusLib::BankNumber>(patch.data[virusLib::MD_PART_BANK_NUMBER + pt] + 1); m_currentProgram[pt] = patch.data[virusLib::MD_PART_PROGRAM_NUMBER + pt]; } } @@ -428,8 +428,8 @@ namespace Virus void Controller::parseControllerDump(synthLib::SMidiEvent &m) { - uint8_t bank = 0xFF; - uint8_t part = virusLib::SINGLE; + uint8_t bank; + uint8_t part; if (m.a & synthLib::M_CONTROLCHANGE) { part = m.a ^ synthLib::M_CONTROLCHANGE; @@ -446,15 +446,14 @@ namespace Virus return; } jassert(bank != 0xFF); - DBG(juce::String::formatted("Set part: %d bank: %s param: %d value: %d", part, bank == 0 ? "A" : "B", m.b, - m.c)); + DBG(juce::String::formatted("Set part: %d bank: %s param: %d value: %d", part, bank == 0 ? "A" : "B", m.b, m.c)); findSynthParam(part, bank, m.b)->setValueFromSynth(m.c, true); } uint8_t Controller::copyData(const SysEx &src, int startPos, std::array<uint8_t, kDataSizeInBytes>& dst) { uint8_t sum = 0; - for (auto i = 0; i < kDataSizeInBytes; i++) + for (size_t i = 0; i < src.size(); i++) { dst[i] = src[startPos + i]; sum += dst[i]; @@ -468,19 +467,19 @@ namespace Virus text[kNameLength] = 0; // termination for (auto pos = 0; pos < kNameLength; ++pos) text[pos] = msg[start + pos]; - return juce::String(text); + return {text}; } void Controller::printMessage(const SysEx &msg) const { for (auto &m : msg) { - std::cout << std::hex << (int)m << ","; + std::cout << std::hex << static_cast<int>(m) << ","; } std::cout << std::endl; } - void Controller::sendSysEx(const SysEx &msg) + void Controller::sendSysEx(const SysEx &msg) const { synthLib::SMidiEvent ev; ev.sysex = msg; @@ -488,12 +487,12 @@ namespace Virus m_processor.addMidiEvent(ev); } - void Controller::onStateLoaded() + void Controller::onStateLoaded() const { sendSysEx(constructMessage({ MessageType::REQUEST_TOTAL })); } - std::vector<uint8_t> Controller::constructMessage(SysEx msg) + std::vector<uint8_t> Controller::constructMessage(SysEx msg) const { const uint8_t start[] = {0xf0, 0x00, 0x20, 0x33, 0x01, static_cast<uint8_t>(m_deviceId)}; msg.insert(msg.begin(), std::begin(start), std::end(start)); @@ -506,7 +505,7 @@ namespace Virus const juce::ScopedLock sl(m_eventQueueLock); for (auto msg : m_virusOut) { - if (msg.sysex.size() == 0) + if (msg.sysex.empty()) { // no sysex parseControllerDump(msg); diff --git a/source/jucePlugin/VirusController.h b/source/jucePlugin/VirusController.h @@ -42,7 +42,7 @@ namespace Virus juce::Value *getParamValue(ParameterType _param); Parameter* getParameter(ParameterType _param); Parameter *getParameter(ParameterType _param, uint8_t _part); - uint8_t getVirusModel(); + uint8_t getVirusModel() const; // bank - 0-1 (AB) juce::StringArray getSinglePresetNames(virusLib::BankNumber bank) const; juce::StringArray getMultiPresetsName() const; @@ -50,15 +50,15 @@ namespace Virus bool isMultiMode() { return getParamValue(0, 2, 0x7a)->getValue(); } // part 0 - 15 (ignored when single! 0x40...) void setCurrentPartPreset(uint8_t part, virusLib::BankNumber bank, uint8_t prg); - virusLib::BankNumber getCurrentPartBank(uint8_t part); + virusLib::BankNumber getCurrentPartBank(uint8_t part) const; uint8_t getCurrentPartProgram(uint8_t part) const; juce::String getCurrentPartPresetName(uint8_t part); uint32_t getBankCount() const { return static_cast<uint32_t>(m_singles.size()); } uint8_t getCurrentPart() const { return m_currentPart; } void setCurrentPart(uint8_t _part) { m_currentPart = _part; } void parseMessage(const SysEx &); - void sendSysEx(const SysEx &); - void onStateLoaded(); + void sendSysEx(const SysEx &) const; + void onStateLoaded() const; juce::PropertiesFile* getConfig() { return m_config; } std::function<void()> onProgramChange = {}; std::function<void()> onMsgDone = {}; @@ -121,14 +121,14 @@ namespace Virus void parseParamChange(const SysEx &); void parseControllerDump(synthLib::SMidiEvent &); - std::vector<uint8_t> constructMessage(SysEx msg); + std::vector<uint8_t> constructMessage(SysEx msg) const; AudioPluginAudioProcessor &m_processor; juce::CriticalSection m_eventQueueLock; std::vector<synthLib::SMidiEvent> m_virusOut; unsigned char m_deviceId; - virusLib::BankNumber m_currentBank[16]; - uint8_t m_currentProgram[16]; + virusLib::BankNumber m_currentBank[16]{}; + uint8_t m_currentProgram[16]{}; uint8_t m_currentPart = 0; juce::PropertiesFile *m_config; };