From 89a6830e1eb1d91d4f49e84c6de949a877b014d8 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 8 Feb 2021 20:07:43 +0100 Subject: [PATCH 1/7] Add controller edit IDs (not used yet) --- plugins/editor/src/editor/EditIds.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/plugins/editor/src/editor/EditIds.h b/plugins/editor/src/editor/EditIds.h index 1edec8b4..d9b43957 100644 --- a/plugins/editor/src/editor/EditIds.h +++ b/plugins/editor/src/editor/EditIds.h @@ -5,6 +5,7 @@ // If not, contact the sfizz maintainers at https://github.com/sfztools/sfizz #pragma once +#include "sfizz/Config.h" #include enum class EditId : int { @@ -19,6 +20,10 @@ enum class EditId : int { StretchTuning, CanEditUserFilesDir, UserFilesDir, + // + Controller0, + ControllerLast = Controller0 + sfz::config::numCCs - 1, + // UINumCurves, UINumMasters, UINumGroups, @@ -38,3 +43,17 @@ struct EditRange { float extent() const noexcept { return max - min; } static EditRange get(EditId id); }; + +inline EditId editIdForCC(int cc) +{ + return EditId(int(EditId::Controller0) + cc); +} +inline int ccForEditId(EditId id) +{ + return int(id) - int(EditId::Controller0); +} +inline bool editIdIsCC(EditId id) +{ + return int(id) >= int(EditId::Controller0) && + int(id) <= int(EditId::ControllerLast); +} From 77719d788e530cb7a976f0bf95e5cc0e17518f77 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 8 Feb 2021 20:12:48 +0100 Subject: [PATCH 2/7] Keep CC assignments in array, so they may be reassigned --- plugins/vst/SfizzVstController.cpp | 45 +++++++++++++++++++----------- plugins/vst/SfizzVstController.h | 2 ++ plugins/vst/SfizzVstParameters.h | 8 ++---- 3 files changed, 32 insertions(+), 23 deletions(-) diff --git a/plugins/vst/SfizzVstController.cpp b/plugins/vst/SfizzVstController.cpp index c1ab5c73..122936e1 100644 --- a/plugins/vst/SfizzVstController.cpp +++ b/plugins/vst/SfizzVstController.cpp @@ -9,7 +9,6 @@ #include "SfizzVstParameters.h" #include "base/source/fstreamer.h" #include "base/source/updatehandler.h" -#include "pluginterfaces/vst/ivstmidicontrollers.h" tresult PLUGIN_API SfizzVstControllerNoUi::initialize(FUnknown* context) { @@ -65,7 +64,7 @@ tresult PLUGIN_API SfizzVstControllerNoUi::initialize(FUnknown* context) parameters.addParameter(Steinberg::String("Pitch bend"), nullptr, 0, 0.5, 0, pid++, Vst::kRootUnitId); // MIDI controllers - for (unsigned i = 0; i < kNumControllerParams; ++i) { + for (unsigned i = 0; i < sfz::config::numCCs; ++i) { Steinberg::String title; Steinberg::String shortTitle; title.printf("Controller %u", i); @@ -76,6 +75,24 @@ tresult PLUGIN_API SfizzVstControllerNoUi::initialize(FUnknown* context) pid++, Vst::kRootUnitId, shortTitle); } + // Initial MIDI mapping + for (int32 i = 0; i < Vst::kCountCtrlNumber; ++i) { + Vst::ParamID id = Vst::kNoParamId; + switch (i) { + case Vst::kAfterTouch: + id = kPidMidiAftertouch; + break; + case Vst::kPitchBend: + id = kPidMidiPitchBend; + break; + default: + if (i < 128) + id = kPidMidiCC0 + i; + break; + } + midiMapping_[i] = id; + } + return kResultTrue; } @@ -86,22 +103,16 @@ tresult PLUGIN_API SfizzVstControllerNoUi::terminate() tresult PLUGIN_API SfizzVstControllerNoUi::getMidiControllerAssignment(int32 busIndex, int16 channel, Vst::CtrlNumber midiControllerNumber, Vst::ParamID& id) { - switch (midiControllerNumber) { - case Vst::kAfterTouch: - id = kPidMidiAftertouch; - return kResultTrue; - - case Vst::kPitchBend: - id = kPidMidiPitchBend; - return kResultTrue; - - default: - if (midiControllerNumber < 0 || midiControllerNumber >= kNumControllerParams) - return kResultFalse; - - id = kPidMidiCC0 + midiControllerNumber; - return kResultTrue; + if (midiControllerNumber < 0 || midiControllerNumber >= Vst::kCountCtrlNumber) { + id = Vst::kNoParamId; + return kResultFalse; } + + id = midiMapping_[midiControllerNumber]; + if (id == Vst::kNoParamId) + return kResultFalse; + + return kResultTrue; } tresult PLUGIN_API SfizzVstControllerNoUi::getParamStringByValue(Vst::ParamID tag, Vst::ParamValue valueNormalized, Vst::String128 string) diff --git a/plugins/vst/SfizzVstController.h b/plugins/vst/SfizzVstController.h index 2365417b..2c207e23 100644 --- a/plugins/vst/SfizzVstController.h +++ b/plugins/vst/SfizzVstController.h @@ -9,6 +9,7 @@ #include "SfizzVstUpdates.h" #include "public.sdk/source/vst/vsteditcontroller.h" #include "public.sdk/source/vst/vstparameters.h" +#include "pluginterfaces/vst/ivstmidicontrollers.h" #include "vstgui/plugin-bindings/vst3editor.h" #include #include @@ -49,6 +50,7 @@ protected: Steinberg::IPtr scalaPathUpdate_; Steinberg::IPtr processorStateUpdate_; Steinberg::IPtr playStateUpdate_; + Vst::ParamID midiMapping_[Vst::kCountCtrlNumber] {}; }; class SfizzVstController : public SfizzVstControllerNoUi, public VSTGUI::VST3EditorDelegate { diff --git a/plugins/vst/SfizzVstParameters.h b/plugins/vst/SfizzVstParameters.h index abaa55e6..7d5c5253 100644 --- a/plugins/vst/SfizzVstParameters.h +++ b/plugins/vst/SfizzVstParameters.h @@ -5,16 +5,12 @@ // If not, contact the sfizz maintainers at https://github.com/sfztools/sfizz #pragma once +#include "sfizz/Config.h" #include "public.sdk/source/vst/vstparameters.h" #include using namespace Steinberg; -// number of MIDI CC -enum { - kNumControllerParams = 128, -}; - // parameters enum { kPidVolume, @@ -27,7 +23,7 @@ enum { kPidMidiAftertouch, kPidMidiPitchBend, kPidMidiCC0, - kPidMidiCCLast = kPidMidiCC0 + kNumControllerParams - 1, + kPidMidiCCLast = kPidMidiCC0 + sfz::config::numCCs - 1, /* Reserved */ }; From e75c148c670e5371c0e76096a8f84127acb90af1 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 8 Feb 2021 20:14:07 +0100 Subject: [PATCH 3/7] Rename VST CC, not necessarily MIDI --- plugins/vst/SfizzVstController.cpp | 6 +++--- plugins/vst/SfizzVstParameters.h | 14 +++++++------- plugins/vst/SfizzVstProcessor.cpp | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/plugins/vst/SfizzVstController.cpp b/plugins/vst/SfizzVstController.cpp index 122936e1..6717f685 100644 --- a/plugins/vst/SfizzVstController.cpp +++ b/plugins/vst/SfizzVstController.cpp @@ -80,14 +80,14 @@ tresult PLUGIN_API SfizzVstControllerNoUi::initialize(FUnknown* context) Vst::ParamID id = Vst::kNoParamId; switch (i) { case Vst::kAfterTouch: - id = kPidMidiAftertouch; + id = kPidAftertouch; break; case Vst::kPitchBend: - id = kPidMidiPitchBend; + id = kPidPitchBend; break; default: if (i < 128) - id = kPidMidiCC0 + i; + id = kPidCC0 + i; break; } midiMapping_[i] = id; diff --git a/plugins/vst/SfizzVstParameters.h b/plugins/vst/SfizzVstParameters.h index 7d5c5253..e9367c8d 100644 --- a/plugins/vst/SfizzVstParameters.h +++ b/plugins/vst/SfizzVstParameters.h @@ -20,10 +20,10 @@ enum { kPidScalaRootKey, kPidTuningFrequency, kPidStretchedTuning, - kPidMidiAftertouch, - kPidMidiPitchBend, - kPidMidiCC0, - kPidMidiCCLast = kPidMidiCC0 + sfz::config::numCCs - 1, + kPidAftertouch, + kPidPitchBend, + kPidCC0, + kPidCCLast = kPidCC0 + sfz::config::numCCs - 1, /* Reserved */ }; @@ -67,12 +67,12 @@ struct SfizzRange { return {440.0, 300.0, 500.0}; case kPidStretchedTuning: return {0.0, 0.0, 1.0}; - case kPidMidiAftertouch: + case kPidAftertouch: return {0.0, 0.0, 1.0}; - case kPidMidiPitchBend: + case kPidPitchBend: return {0.5, 0.0, 1.0}; default: - if (id >= kPidMidiCC0 && id <= kPidMidiCCLast) + if (id >= kPidCC0 && id <= kPidCCLast) return {0.0, 0.0, 1.0}; throw std::runtime_error("Bad parameter ID"); } diff --git a/plugins/vst/SfizzVstProcessor.cpp b/plugins/vst/SfizzVstProcessor.cpp index 972b34dc..cde5c319 100644 --- a/plugins/vst/SfizzVstProcessor.cpp +++ b/plugins/vst/SfizzVstProcessor.cpp @@ -385,8 +385,8 @@ void SfizzVstProcessor::processControllerChanges(Vst::IParameterChanges& pc) switch (id) { default: - if (id >= kPidMidiCC0 && id <= kPidMidiCCLast) { - auto ccNumber = static_cast(id - kPidMidiCC0); + if (id >= kPidCC0 && id <= kPidCCLast) { + auto ccNumber = static_cast(id - kPidCC0); for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) { if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue) synth.cc(sampleOffset, ccNumber, fastRound(value * 127.0)); @@ -394,14 +394,14 @@ void SfizzVstProcessor::processControllerChanges(Vst::IParameterChanges& pc) } break; - case kPidMidiAftertouch: + case kPidAftertouch: for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) { if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue) synth.aftertouch(sampleOffset, fastRound(value * 127.0)); } break; - case kPidMidiPitchBend: + case kPidPitchBend: for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) { if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue) synth.pitchWheel(sampleOffset, fastRound(value * 16383) - 8192); From 65c3ef8b6b1f164dc2263251de158ede9bb0dcdd Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 8 Feb 2021 20:15:48 +0100 Subject: [PATCH 4/7] Have VST send HD controller values --- plugins/vst/SfizzVstProcessor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/vst/SfizzVstProcessor.cpp b/plugins/vst/SfizzVstProcessor.cpp index cde5c319..39b021f3 100644 --- a/plugins/vst/SfizzVstProcessor.cpp +++ b/plugins/vst/SfizzVstProcessor.cpp @@ -389,7 +389,7 @@ void SfizzVstProcessor::processControllerChanges(Vst::IParameterChanges& pc) auto ccNumber = static_cast(id - kPidCC0); for (uint32 pointIndex = 0; pointIndex < pointCount; ++pointIndex) { if (vq->getPoint(pointIndex, sampleOffset, value) == kResultTrue) - synth.cc(sampleOffset, ccNumber, fastRound(value * 127.0)); + synth.hdcc(sampleOffset, ccNumber, value); } } break; From 15b6f1509307c3491f695336c5b8bdb635d54d96 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 8 Feb 2021 20:31:53 +0100 Subject: [PATCH 5/7] Update .gitignore --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b9446b3c..5e36b900 100644 --- a/.gitignore +++ b/.gitignore @@ -19,9 +19,9 @@ compile_commands.json clients/sfizz_jack clients/sfzprint -/vst/download/ +/plugins/vst/download/ -/editor/external/fluentui-system-icons/ +/plugins/editor/external/fluentui-system-icons/ *.sublime-* *.code-* From f1d240b88b62344fab52d51e497fca5c5ced1ea4 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 8 Feb 2021 20:39:24 +0100 Subject: [PATCH 6/7] Make a common lib for plugins, move OSC there --- CMakeLists.txt | 17 +--------- plugins/CMakeLists.txt | 24 ++++++++++++++ plugins/common/plugin/MessageUtils.cpp | 39 ++++++++++++++++++++++ plugins/common/plugin/MessageUtils.h | 19 +++++++++++ plugins/editor/CMakeLists.txt | 3 +- plugins/editor/src/editor/Editor.cpp | 45 ++++---------------------- plugins/lv2/CMakeLists.txt | 4 +-- plugins/vst/CMakeLists.txt | 4 +-- 8 files changed, 95 insertions(+), 60 deletions(-) create mode 100644 plugins/CMakeLists.txt create mode 100644 plugins/common/plugin/MessageUtils.cpp create mode 100644 plugins/common/plugin/MessageUtils.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 44d5ec51..f01465d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,22 +54,7 @@ add_subdirectory (src) # Optional targets add_subdirectory (clients) - -if ((SFIZZ_LV2 AND SFIZZ_LV2_UI) OR SFIZZ_VST) - add_subdirectory (plugins/editor) -endif() - -if (SFIZZ_LV2) - add_subdirectory (plugins/lv2) -endif() - -if (SFIZZ_VST) - add_subdirectory (plugins/vst) -else() - if (SFIZZ_AU) - message(WARNING "Audio Unit requires VST to be enabled") - endif() -endif() +add_subdirectory (plugins) if (SFIZZ_BENCHMARKS) add_subdirectory (benchmarks) diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt new file mode 100644 index 00000000..a2105364 --- /dev/null +++ b/plugins/CMakeLists.txt @@ -0,0 +1,24 @@ +add_library(plugins-common STATIC EXCLUDE_FROM_ALL + "common/plugin/MessageUtils.h" + "common/plugin/MessageUtils.cpp") +target_include_directories(plugins-common PUBLIC "common") +target_link_libraries(plugins-common + PUBLIC sfizz::spin_mutex + PUBLIC absl::strings) +add_library(sfizz::plugins-common ALIAS plugins-common) + +if((SFIZZ_LV2 AND SFIZZ_LV2_UI) OR SFIZZ_VST) + add_subdirectory(editor) +endif() + +if(SFIZZ_LV2) + add_subdirectory(lv2) +endif() + +if(SFIZZ_VST) + add_subdirectory(vst) +else() + if(SFIZZ_AU) + message(WARNING "Audio Unit requires VST to be enabled") + endif() +endif() diff --git a/plugins/common/plugin/MessageUtils.cpp b/plugins/common/plugin/MessageUtils.cpp new file mode 100644 index 00000000..84e1b5f9 --- /dev/null +++ b/plugins/common/plugin/MessageUtils.cpp @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: BSD-2-Clause + +// This code is part of the sfizz library and is licensed under a BSD 2-clause +// license. You should have receive a LICENSE.md file along with the code. +// If not, contact the sfizz maintainers at https://github.com/sfztools/sfizz + +#include "MessageUtils.h" +#include +#include +#include + +namespace Messages { + +bool matchOSC(const char* pattern, const char* path, unsigned* indices) +{ + unsigned nthIndex = 0; + + while (const char *endp = std::strchr(pattern, '&')) { + size_t length = endp - pattern; + if (std::strncmp(pattern, path, length)) + return false; + pattern += length; + path += length; + + length = 0; + while (absl::ascii_isdigit(path[length])) + ++length; + + if (!absl::SimpleAtoi(absl::string_view(path, length), &indices[nthIndex++])) + return false; + + pattern += 1; + path += length; + } + + return !std::strcmp(path, pattern); +} + +} // namespace Messages diff --git a/plugins/common/plugin/MessageUtils.h b/plugins/common/plugin/MessageUtils.h new file mode 100644 index 00000000..0faf54a5 --- /dev/null +++ b/plugins/common/plugin/MessageUtils.h @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: BSD-2-Clause + +// This code is part of the sfizz library and is licensed under a BSD 2-clause +// license. You should have receive a LICENSE.md file along with the code. +// If not, contact the sfizz maintainers at https://github.com/sfztools/sfizz + +#pragma once + +namespace Messages { + +/** + * Simple matcher for message handling in O(N) + * @param[in] pattern Pattern to match, where '&' characters match positive integer numbers + * @param[in] path Path to match against the pattern + * @param[out] indices Table which received the indices, with size >= the number of '&' in the pattern + */ +bool matchOSC(const char* pattern, const char* path, unsigned* indices); + +} // namespace Messages diff --git a/plugins/editor/CMakeLists.txt b/plugins/editor/CMakeLists.txt index 379e7899..ee8b259d 100644 --- a/plugins/editor/CMakeLists.txt +++ b/plugins/editor/CMakeLists.txt @@ -43,9 +43,8 @@ add_library(sfizz_editor STATIC EXCLUDE_FROM_ALL src/editor/utility/vstgui_before.h) add_library(sfizz::editor ALIAS sfizz_editor) target_include_directories(sfizz_editor PUBLIC "src") -target_link_libraries(sfizz_editor PUBLIC sfizz::messaging) +target_link_libraries(sfizz_editor PUBLIC sfizz::messaging sfizz::plugins-common) target_link_libraries(sfizz_editor PRIVATE sfizz::vstgui) -target_link_libraries(sfizz_editor PUBLIC absl::strings) if(APPLE) find_library(APPLE_APPKIT_LIBRARY "AppKit") find_library(APPLE_CORESERVICES_LIBRARY "CoreServices") diff --git a/plugins/editor/src/editor/Editor.cpp b/plugins/editor/src/editor/Editor.cpp index a8a90650..0b5c6e5a 100644 --- a/plugins/editor/src/editor/Editor.cpp +++ b/plugins/editor/src/editor/Editor.cpp @@ -10,6 +10,7 @@ #include "GUIComponents.h" #include "GUIPiano.h" #include "NativeHelpers.h" +#include "plugin/MessageUtils.h" #include #include #include @@ -372,43 +373,11 @@ void Editor::Impl::uiReceiveValue(EditId id, const EditValue& v) } } -/// -static constexpr unsigned kMessageMaxIndices = 8; - -static bool matchMessage(const char* pattern, const char* path, unsigned* indices) -{ - unsigned nthIndex = 0; - - while (const char *endp = strchr(pattern, '&')) { - if (nthIndex == kMessageMaxIndices) - return false; - - size_t length = endp - pattern; - if (strncmp(pattern, path, length)) - return false; - pattern += length; - path += length; - - length = 0; - while (absl::ascii_isdigit(path[length])) - ++length; - - if (!absl::SimpleAtoi(absl::string_view(path, length), &indices[nthIndex++])) - return false; - - pattern += 1; - path += length; - } - - return !strcmp(path, pattern); -} - -/// void Editor::Impl::uiReceiveMessage(const char* path, const char* sig, const sfizz_arg_t* args) { - unsigned indices[kMessageMaxIndices]; + unsigned indices[8]; - if (!strcmp(path, "/cc/slots") && !strcmp(sig, "b")) { + if (Messages::matchOSC("/cc/slots", path, indices) && !strcmp(sig, "b")) { const uint8_t* bitChunks = args[0].b->data; uint32_t byteSize = args[0].b->size; @@ -426,7 +395,7 @@ void Editor::Impl::uiReceiveMessage(const char* path, const char* sig, const sfi } } } - else if (!strcmp(path, "/cc/changed") && !strcmp(sig, "b")) { + else if (Messages::matchOSC("/cc/changed", path, indices) && !strcmp(sig, "b")) { const uint8_t* bitChunks = args[0].b->data; uint32_t byteSize = args[0].b->size; for (unsigned cc = 0; cc < 8 * byteSize; ++cc) { @@ -438,13 +407,13 @@ void Editor::Impl::uiReceiveMessage(const char* path, const char* sig, const sfi } } } - else if (matchMessage("/cc&/value", path, indices) && !strcmp(sig, "f")) { + else if (Messages::matchOSC("/cc&/value", path, indices) && !strcmp(sig, "f")) { updateCCValue(indices[0], args[0].f); } - else if (matchMessage("/cc&/default", path, indices) && !strcmp(sig, "f")) { + else if (Messages::matchOSC("/cc&/default", path, indices) && !strcmp(sig, "f")) { updateCCDefaultValue(indices[0], args[0].f); } - else if (matchMessage("/cc&/label", path, indices) && !strcmp(sig, "s")) { + else if (Messages::matchOSC("/cc&/label", path, indices) && !strcmp(sig, "s")) { updateCCLabel(indices[0], args[0].s); } else { diff --git a/plugins/lv2/CMakeLists.txt b/plugins/lv2/CMakeLists.txt index e6623c1f..ee07b3da 100644 --- a/plugins/lv2/CMakeLists.txt +++ b/plugins/lv2/CMakeLists.txt @@ -21,14 +21,14 @@ source_group("Turtle Files" FILES add_library(${LV2PLUGIN_PRJ_NAME} MODULE ${PROJECT_NAME}.cpp ${LV2PLUGIN_TTL_SRC_FILES}) -target_link_libraries(${LV2PLUGIN_PRJ_NAME} PRIVATE sfizz::sfizz sfizz::spin_mutex) +target_link_libraries(${LV2PLUGIN_PRJ_NAME} PRIVATE sfizz::sfizz sfizz::plugins-common) if(SFIZZ_LV2_UI) add_library(${LV2PLUGIN_PRJ_NAME}_ui MODULE ${PROJECT_NAME}_ui.cpp vstgui_helpers.h vstgui_helpers.cpp) - target_link_libraries(${LV2PLUGIN_PRJ_NAME}_ui PRIVATE sfizz::editor sfizz::vstgui) + target_link_libraries(${LV2PLUGIN_PRJ_NAME}_ui PRIVATE sfizz::editor sfizz::vstgui sfizz::plugins-common) endif() # Explicitely strip all symbols on Linux but lv2_descriptor() diff --git a/plugins/vst/CMakeLists.txt b/plugins/vst/CMakeLists.txt index 8f328512..a3cba79b 100644 --- a/plugins/vst/CMakeLists.txt +++ b/plugins/vst/CMakeLists.txt @@ -63,7 +63,7 @@ endif() target_link_libraries(${VSTPLUGIN_PRJ_NAME} PRIVATE sfizz::sfizz PRIVATE sfizz::editor - PRIVATE sfizz::spin_mutex + PRIVATE sfizz::plugins-common PRIVATE sfizz::pugixml sfizz::filesystem) target_include_directories(${VSTPLUGIN_PRJ_NAME} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") @@ -202,7 +202,7 @@ elseif(SFIZZ_AU) target_link_libraries(${AUPLUGIN_PRJ_NAME} PRIVATE ${PROJECT_NAME}::${PROJECT_NAME} PRIVATE sfizz::editor - PRIVATE sfizz::spin_mutex + PRIVATE sfizz::plugins-common PRIVATE sfizz::pugixml sfizz::filesystem) target_include_directories(${AUPLUGIN_PRJ_NAME} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") From 118f1236346833809767d8919d86780901bfe403 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 8 Feb 2021 20:45:55 +0100 Subject: [PATCH 7/7] Use the enum value --- plugins/vst/SfizzVstEditor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/vst/SfizzVstEditor.cpp b/plugins/vst/SfizzVstEditor.cpp index 1d920dfa..d5788b48 100644 --- a/plugins/vst/SfizzVstEditor.cpp +++ b/plugins/vst/SfizzVstEditor.cpp @@ -313,14 +313,14 @@ void SfizzVstEditor::uiSendValue(EditId id, const EditValue& v) void SfizzVstEditor::uiBeginSend(EditId id) { Vst::ParamID pid = parameterOfEditId(id); - if (pid != -1) + if (pid != Vst::kNoParamId) getController()->beginEdit(pid); } void SfizzVstEditor::uiEndSend(EditId id) { Vst::ParamID pid = parameterOfEditId(id); - if (pid != -1) + if (pid != Vst::kNoParamId) getController()->endEdit(pid); } @@ -403,6 +403,6 @@ Vst::ParamID SfizzVstEditor::parameterOfEditId(EditId id) case EditId::ScalaRootKey: return kPidScalaRootKey; case EditId::TuningFrequency: return kPidTuningFrequency; case EditId::StretchTuning: return kPidStretchedTuning; - default: return -1; + default: return Vst::kNoParamId; } }