From 5401b08c1a3781f2e8f95860dd63fad260d29625 Mon Sep 17 00:00:00 2001 From: derVodi Date: Mon, 27 Oct 2025 08:36:15 +0100 Subject: [PATCH 1/6] Sound selecting with arrow keys --- Source/CartManager.cpp | 5 +++++ Source/ProgramListBox.cpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/Source/CartManager.cpp b/Source/CartManager.cpp index 779026e7..55ff9f64 100644 --- a/Source/CartManager.cpp +++ b/Source/CartManager.cpp @@ -306,6 +306,11 @@ void CartManager::buttonClicked(juce::Button *buttonThatWasClicked) { void CartManager::fileDoubleClicked(const File& file) { if ( file.isDirectory() ) return; + int rc = AlertWindow::showOkCancelBox(AlertWindow::QuestionIcon, "Load Cartridge", + "This will replace the current cartridge. " + "Are you sure?"); + if ( rc == 0 ) + return; mainWindow->loadCart(file); activeCart->setCartridge(mainWindow->processor->currentCart); updateCartFilename(); diff --git a/Source/ProgramListBox.cpp b/Source/ProgramListBox.cpp index fb196c04..e8e622da 100644 --- a/Source/ProgramListBox.cpp +++ b/Source/ProgramListBox.cpp @@ -108,6 +108,11 @@ bool ProgramListBox::keyPressed(const KeyPress &key, Component *originatingCompo return false; } + activePgm = currentIdx; + if ( activePgm != -1 ) { + listener->programSelected(this, activePgm); + } + labels[currentIdx]->grabKeyboardFocus(); repaint(); From 3868ea86a55384e4d9a2182e1b7632796537c45d Mon Sep 17 00:00:00 2001 From: derVodi Date: Tue, 28 Oct 2025 08:00:04 +0100 Subject: [PATCH 2/6] Auto Copy Feature --- Source/CartManager.cpp | 30 ++++++++++++++++++++++++++++++ Source/CartManager.h | 1 + Source/ProgramListBox.cpp | 2 +- Source/ProgramListBox.h | 1 + 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/Source/CartManager.cpp b/Source/CartManager.cpp index 55ff9f64..2a120f17 100644 --- a/Source/CartManager.cpp +++ b/Source/CartManager.cpp @@ -256,6 +256,36 @@ void CartManager::programSelected(ProgramListBox *source, int pos) { } } +void CartManager::programAutoCopied(ProgramListBox *source, int pos) { + + ProgramListBox *otherListBox; + + if ( source == activeCart.get() ) { + otherListBox = browserCart.get(); + } else { + otherListBox = activeCart.get(); + } + + int i; + int foundIndex = -1; + + for ( i = 0; i < otherListBox->programNames.size(); i++ ) { + if ( otherListBox->programNames[i] == "- " || otherListBox->programNames[i] == " " ) { + foundIndex = i; + break; + } + } + + if ( foundIndex < 0 ){ + AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "Auto Copy", "No free program slot found!"); + return; + } + + char *sourceSysExPointer = source->getCurrentCart().getRawVoice() + (pos*128); + + programDragged(otherListBox, foundIndex, sourceSysExPointer); +} + void CartManager::buttonClicked(juce::Button *buttonThatWasClicked) { if ( buttonThatWasClicked == closeButton.get() ) { hideCartridgeManager(); diff --git a/Source/CartManager.h b/Source/CartManager.h index f90b5728..caf909a0 100644 --- a/Source/CartManager.h +++ b/Source/CartManager.h @@ -106,6 +106,7 @@ class CartManager : public Component, public Button::Listener, public DragAndDr virtual void programSelected(ProgramListBox *source, int pos) override; virtual void programRightClicked(ProgramListBox *source, int pos) override; virtual void programDragged(ProgramListBox *destListBox, int dest, char *packedPgm) override; + virtual void programAutoCopied(ProgramListBox *source, int pos) override; virtual bool keyPressed(const KeyPress& key, Component* originatingComponent) override; void initialFocus(); diff --git a/Source/ProgramListBox.cpp b/Source/ProgramListBox.cpp index e8e622da..e7968957 100644 --- a/Source/ProgramListBox.cpp +++ b/Source/ProgramListBox.cpp @@ -81,7 +81,7 @@ bool ProgramListBox::keyPressed(const KeyPress &key, Component *originatingCompo if ( key.isKeyCode(KeyPress::returnKey) ) { activePgm = programLabel->idx; if ( activePgm != -1 ) { - listener->programSelected(this, activePgm); + listener->programAutoCopied(this, activePgm); } return true; } diff --git a/Source/ProgramListBox.h b/Source/ProgramListBox.h index 274da137..056bca24 100644 --- a/Source/ProgramListBox.h +++ b/Source/ProgramListBox.h @@ -32,6 +32,7 @@ class ProgramListBoxListener { virtual void programSelected(ProgramListBox *source, int pos) = 0; virtual void programRightClicked(ProgramListBox *source, int pos) = 0; virtual void programDragged(ProgramListBox *destListBox, int dest, char *packedPgm) = 0; + virtual void programAutoCopied(ProgramListBox *source, int pos) = 0; }; class ProgramLabel; From 46fa1da12434f9459d5126da1fb4dfb6189def33 Mon Sep 17 00:00:00 2001 From: der Vodi Date: Sat, 21 Feb 2026 19:48:15 +0100 Subject: [PATCH 3/6] readme --- README.md | 170 +++--------------------------------------------------- 1 file changed, 8 insertions(+), 162 deletions(-) diff --git a/README.md b/README.md index 5c9c7042..e00b7499 100644 --- a/README.md +++ b/README.md @@ -1,167 +1,13 @@ -Dexed - FM Plugin Synth -======================= +Dexed - Vodi's Experimental Fork +================================ -Please see [Dexed User Website](https://asb2m10.github.io/dexed) for user and download information. +This is not the official Dexed Repository. You probably want to go to one of these: -Dexed is a multi-platform, multi format plugin synth that is closely modeled on the Yamaha DX7. -Under the hood it uses [music-synthesizer-for-android](https://github.com/google/music-synthesizer-for-android) -for the synth engine and [JUCE](https://www.juce.com) as an application/plugin wrapper. +* [Dexed User Website](https://asb2m10.github.io/dexed) for user and download information. -The goal of this project is to be a tool/companion for the original DX7. Sound engine -with 'float' value parameters, different waveform à la TX81z would be great but anything that -goes beyond the DX7 should and will be a fork of this project. This is to keep the compatibility with -the original machine. +* [Dexed On GitHub](https://github.com/asb2m10/dexed) for the official Dexed source code. -Dexed is licensed on the GPL v3. The msfa component (acronym for music synthesizer for android, see msfa -in the source folder) stays on the Apache 2.0 license to be able to collaborate between projects. +Differences +=========== -Donation --------- -As a maintainer of this 10-year-old project, donations are welcomed. This also applies for the Apple users -to cover for the notarization of this software in the coming years. Thank you! - -https://www.paypal.com/paypalme/asb2m10 - -Dexed Forks ------------ - * [MiniDexed](https://github.com/probonopd/MiniDexed) Run a DX7 bare metal from a Raspberry Pi - * [SIMD-optimized](https://github.com/risicle/dexed/tree/ris-highway) CPU optimized version with [highway](https://github.com/google/highway/tree/master) - -Changelog ---------- -#### Version 0.9.9 -* Partial portamento implementation. Thanks @jpcima -* More accurate LFO implementation. Thanks @mtarenskeen - -#### Version 0.9.8 -* Accessibility implementation (including [keyboard shortcuts](https://github.com/asb2m10/dexed/blob/master/Documentation/Keybindings.md)) -* UI component refresh -* Mono/Poly parameter is now a plugin parameter -* Copy/paste operator values are now text based (and system wide) -* Fix Apple Logic startup issue - -#### Version 0.9.7 -* [MTS-ESP](https://oddsound.com/index.php) microtuning support -* [CLAP](https://github.com/free-audio/clap) plugin support (sadly scaling is not available for now, but we are working on this) -* Scalable UI upgrade (better resolution), optimized UI redraw -* More accurate VU meter. Thanks @FulopNandor -* Releases are now notarized for macOS -* Fix for VST3 automation (again) -* For developers: cmake is now the built system - -#### Version 0.9.6 -* Apple Silicon M1 builds -* Fix VST3 automation issues -* Fix to apply UI scaling only when applicable -* Fix hang notes on program changes - -#### Version 0.9.5 -* Added support for SCL/KBM micro tuning -* Added initial support for MPE performance -* Upgraded build system to use JUCE 6.0 and build from locally acquired JUCE -* A Collection of small UI changes, including higher contrast GUI assets, better sub-window management, - and mouse wheel support -* Added VST3 support - -#### Version 0.9.4HF1 -* Fixed sysex messages with unwanted pitch bend - -#### Version 0.9.4 -* Standalone application version of Dexed -* Midi learn support for midi CC messages -* More accurate detune for operators -* More accurate EG envelopes. thanks @jeremybernstein -* Pitchbend now listen to any channels -* Fixed 'clicking' in mono mode -* Fixed implementation for Midi CC 0x78 and 0x7B (All Sound Off / All Notes Off) -* Windows/macOS installers - -#### Version 0.9.3 -* Preliminary live operator level update -* Support for incoming parameter change messages -* More permissive on cartridge sysex type; the validation is now done on size (4104/4096 bytes) -* Midi 'All Note Off; 0x7B' support -* Breakpoint values are now shown as notes. thanks @tico-tico -* Fixed op feedback calibrated for Mark I engine -* Fixed for breakpoint levels. thanks @Sentinel77 -* Fixed LFO delay issue issues upon large values -* Fixed for receiving sysex cartridge. thanks @Sentinel77 -* Fixed operator switch changes are now sent via sysex - -#### Version 0.9.2 -* Mark I engine is now the default engine -* Added operator mute switch -* Added Tune (MASTER TUNE ADJ) knob -* Correct feedback implementation for Algo 4 and 6 (engine Mk I only) -* Single click program select -* Fixed sysex issue with wrong machine ID -* Fixed for parameter hosts values. thanks @Sentinel77 - -#### Version 0.9.1 -* Mark I engine now uses 10-bit sine/exp tables. Still a work in progress but we are getting there -* More accurate FM feedback on the Mark I and OPL Series engine -* Wheel, Foot, Breath, Aftertouch modulation support -* Fixed the display of some more 'complex' algorithms -* Drop of .syx files in the cartridge manager -* Dexed data directory can now optionally reside in the same location where the binary is installed -* 'Send current program to DX7' in Cartridge Manager works as designed -* Support for sysex streams (multiple sysex messages in one .syx file) -* falkTX upstream fixes for Linux - -#### Version 0.9.0 -* Apple AU support -* Cartridge Manager -* Store action also can update the currently loaded cartridge -* Basic theming -* Fixed the UI corruption when more than one Dexed instance was loaded -* Fixed wrong display value issues (coarse and fine) - -Credits & thanks ----------------- -* DX Synth engine : Raph Levien and the [msfa](https://github.com/google/music-synthesizer-for-android) team -* [Surge Synth Team](https://surge-synth-team.org/) for substantial contributions like microtuning and MPE support. -* Graphical design : AZur Studio -* [Sentinel77](https://github.com/Sentinel77) for numerous engine fixes -* LP Filter : Filatov Vadim (2DaT); taken from the excellent [Obxd](https://obxd.wordpress.com) project -* PPPlay : Great [OPL3](https://github.com/stohrendorf/ppplay) implementation, with documented code :D -* DX7 program compilation : Jean-Marc Desprez (author of [SynprezFM](http://www.synprez.com/SynprezFM)) -* DX7 programs : Dave Benson, Frank Carvalho, Tim Conrardy, Jack Deckard, Chris Dodunski, Tim Garrett, Hitaye, Stephan Ibsen, Christian Jezreel, Narfman, Godric Wilkie -* falkTX [distrho](http://distrho.sourceforge.net/) - -TODO - Dexed ------------- -* Various code cleanup -* Yamaha 4 operators (DX21/DX27/DX100) sysex import - -TODO - msfa ------------ -* Better Amplitude Modulation -* Accurate live operator level envelope updates - -# How to build - -Clone Dexed from github - -``` -~ $ git clone https://github.com/asb2m10/dexed.git -``` - -Dexed has several submodules it now depends on, including VST3/CLAP and a library to support non standard tuning. After you clone your first step is - -``` -~ $ cd dexed -~/dexed $ git submodule update --init --recursive -``` - -Then you crate the cmake build files that are will be created in the build directory. On that build you can trigger your favorite IDE or simply use `--build` cmake option. - -``` -~/dexed $ mkdir build -~/dexed $ cd build -~/dexed/build $ cmake .. -DJUCE_COPY_PLUGIN_AFTER_BUILD=TRUE -~/dexed/build $ cmake --build . -``` - -If you get missing header compilation errors, be sure to check the [known Linux dependencies](https://github.com/asb2m10/dexed/wiki/Linux-build-dependencies) based on your distribution for Linux. - -Binaries will be found in `~/dexed/build/Source/Dexed_artefacts/*` +https://github.com/derVodi/dexed/compare From 35448a0ebb6c2c8fe285730e33c81e988967f972 Mon Sep 17 00:00:00 2001 From: der Vodi Date: Sat, 21 Feb 2026 20:07:28 +0100 Subject: [PATCH 4/6] Removed anything but sound selecting --- README.md | 2 +- Source/CartManager.cpp | 35 ----------------------------------- Source/CartManager.h | 1 - Source/ProgramListBox.cpp | 2 +- Source/ProgramListBox.h | 1 - 5 files changed, 2 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index e00b7499..193a51d0 100644 --- a/README.md +++ b/README.md @@ -10,4 +10,4 @@ This is not the official Dexed Repository. You probably want to go to one of the Differences =========== -https://github.com/derVodi/dexed/compare +[Official master <=> SoundSelecting](https://github.com/asb2m10/dexed/compare/master...derVodi:dexed:SoundSelecting) diff --git a/Source/CartManager.cpp b/Source/CartManager.cpp index 2a120f17..779026e7 100644 --- a/Source/CartManager.cpp +++ b/Source/CartManager.cpp @@ -256,36 +256,6 @@ void CartManager::programSelected(ProgramListBox *source, int pos) { } } -void CartManager::programAutoCopied(ProgramListBox *source, int pos) { - - ProgramListBox *otherListBox; - - if ( source == activeCart.get() ) { - otherListBox = browserCart.get(); - } else { - otherListBox = activeCart.get(); - } - - int i; - int foundIndex = -1; - - for ( i = 0; i < otherListBox->programNames.size(); i++ ) { - if ( otherListBox->programNames[i] == "- " || otherListBox->programNames[i] == " " ) { - foundIndex = i; - break; - } - } - - if ( foundIndex < 0 ){ - AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "Auto Copy", "No free program slot found!"); - return; - } - - char *sourceSysExPointer = source->getCurrentCart().getRawVoice() + (pos*128); - - programDragged(otherListBox, foundIndex, sourceSysExPointer); -} - void CartManager::buttonClicked(juce::Button *buttonThatWasClicked) { if ( buttonThatWasClicked == closeButton.get() ) { hideCartridgeManager(); @@ -336,11 +306,6 @@ void CartManager::buttonClicked(juce::Button *buttonThatWasClicked) { void CartManager::fileDoubleClicked(const File& file) { if ( file.isDirectory() ) return; - int rc = AlertWindow::showOkCancelBox(AlertWindow::QuestionIcon, "Load Cartridge", - "This will replace the current cartridge. " - "Are you sure?"); - if ( rc == 0 ) - return; mainWindow->loadCart(file); activeCart->setCartridge(mainWindow->processor->currentCart); updateCartFilename(); diff --git a/Source/CartManager.h b/Source/CartManager.h index caf909a0..f90b5728 100644 --- a/Source/CartManager.h +++ b/Source/CartManager.h @@ -106,7 +106,6 @@ class CartManager : public Component, public Button::Listener, public DragAndDr virtual void programSelected(ProgramListBox *source, int pos) override; virtual void programRightClicked(ProgramListBox *source, int pos) override; virtual void programDragged(ProgramListBox *destListBox, int dest, char *packedPgm) override; - virtual void programAutoCopied(ProgramListBox *source, int pos) override; virtual bool keyPressed(const KeyPress& key, Component* originatingComponent) override; void initialFocus(); diff --git a/Source/ProgramListBox.cpp b/Source/ProgramListBox.cpp index e7968957..e8e622da 100644 --- a/Source/ProgramListBox.cpp +++ b/Source/ProgramListBox.cpp @@ -81,7 +81,7 @@ bool ProgramListBox::keyPressed(const KeyPress &key, Component *originatingCompo if ( key.isKeyCode(KeyPress::returnKey) ) { activePgm = programLabel->idx; if ( activePgm != -1 ) { - listener->programAutoCopied(this, activePgm); + listener->programSelected(this, activePgm); } return true; } diff --git a/Source/ProgramListBox.h b/Source/ProgramListBox.h index 056bca24..274da137 100644 --- a/Source/ProgramListBox.h +++ b/Source/ProgramListBox.h @@ -32,7 +32,6 @@ class ProgramListBoxListener { virtual void programSelected(ProgramListBox *source, int pos) = 0; virtual void programRightClicked(ProgramListBox *source, int pos) = 0; virtual void programDragged(ProgramListBox *destListBox, int dest, char *packedPgm) = 0; - virtual void programAutoCopied(ProgramListBox *source, int pos) = 0; }; class ProgramLabel; From bbe2d2ea62054c26f1e73d9cfb30f97f44e599d6 Mon Sep 17 00:00:00 2001 From: der Vodi Date: Sun, 22 Feb 2026 01:05:19 +0100 Subject: [PATCH 5/6] isolated the feature --- README.md | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 162 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 193a51d0..5c9c7042 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,167 @@ -Dexed - Vodi's Experimental Fork -================================ +Dexed - FM Plugin Synth +======================= -This is not the official Dexed Repository. You probably want to go to one of these: +Please see [Dexed User Website](https://asb2m10.github.io/dexed) for user and download information. -* [Dexed User Website](https://asb2m10.github.io/dexed) for user and download information. +Dexed is a multi-platform, multi format plugin synth that is closely modeled on the Yamaha DX7. +Under the hood it uses [music-synthesizer-for-android](https://github.com/google/music-synthesizer-for-android) +for the synth engine and [JUCE](https://www.juce.com) as an application/plugin wrapper. -* [Dexed On GitHub](https://github.com/asb2m10/dexed) for the official Dexed source code. +The goal of this project is to be a tool/companion for the original DX7. Sound engine +with 'float' value parameters, different waveform à la TX81z would be great but anything that +goes beyond the DX7 should and will be a fork of this project. This is to keep the compatibility with +the original machine. -Differences -=========== +Dexed is licensed on the GPL v3. The msfa component (acronym for music synthesizer for android, see msfa +in the source folder) stays on the Apache 2.0 license to be able to collaborate between projects. -[Official master <=> SoundSelecting](https://github.com/asb2m10/dexed/compare/master...derVodi:dexed:SoundSelecting) +Donation +-------- +As a maintainer of this 10-year-old project, donations are welcomed. This also applies for the Apple users +to cover for the notarization of this software in the coming years. Thank you! + +https://www.paypal.com/paypalme/asb2m10 + +Dexed Forks +----------- + * [MiniDexed](https://github.com/probonopd/MiniDexed) Run a DX7 bare metal from a Raspberry Pi + * [SIMD-optimized](https://github.com/risicle/dexed/tree/ris-highway) CPU optimized version with [highway](https://github.com/google/highway/tree/master) + +Changelog +--------- +#### Version 0.9.9 +* Partial portamento implementation. Thanks @jpcima +* More accurate LFO implementation. Thanks @mtarenskeen + +#### Version 0.9.8 +* Accessibility implementation (including [keyboard shortcuts](https://github.com/asb2m10/dexed/blob/master/Documentation/Keybindings.md)) +* UI component refresh +* Mono/Poly parameter is now a plugin parameter +* Copy/paste operator values are now text based (and system wide) +* Fix Apple Logic startup issue + +#### Version 0.9.7 +* [MTS-ESP](https://oddsound.com/index.php) microtuning support +* [CLAP](https://github.com/free-audio/clap) plugin support (sadly scaling is not available for now, but we are working on this) +* Scalable UI upgrade (better resolution), optimized UI redraw +* More accurate VU meter. Thanks @FulopNandor +* Releases are now notarized for macOS +* Fix for VST3 automation (again) +* For developers: cmake is now the built system + +#### Version 0.9.6 +* Apple Silicon M1 builds +* Fix VST3 automation issues +* Fix to apply UI scaling only when applicable +* Fix hang notes on program changes + +#### Version 0.9.5 +* Added support for SCL/KBM micro tuning +* Added initial support for MPE performance +* Upgraded build system to use JUCE 6.0 and build from locally acquired JUCE +* A Collection of small UI changes, including higher contrast GUI assets, better sub-window management, + and mouse wheel support +* Added VST3 support + +#### Version 0.9.4HF1 +* Fixed sysex messages with unwanted pitch bend + +#### Version 0.9.4 +* Standalone application version of Dexed +* Midi learn support for midi CC messages +* More accurate detune for operators +* More accurate EG envelopes. thanks @jeremybernstein +* Pitchbend now listen to any channels +* Fixed 'clicking' in mono mode +* Fixed implementation for Midi CC 0x78 and 0x7B (All Sound Off / All Notes Off) +* Windows/macOS installers + +#### Version 0.9.3 +* Preliminary live operator level update +* Support for incoming parameter change messages +* More permissive on cartridge sysex type; the validation is now done on size (4104/4096 bytes) +* Midi 'All Note Off; 0x7B' support +* Breakpoint values are now shown as notes. thanks @tico-tico +* Fixed op feedback calibrated for Mark I engine +* Fixed for breakpoint levels. thanks @Sentinel77 +* Fixed LFO delay issue issues upon large values +* Fixed for receiving sysex cartridge. thanks @Sentinel77 +* Fixed operator switch changes are now sent via sysex + +#### Version 0.9.2 +* Mark I engine is now the default engine +* Added operator mute switch +* Added Tune (MASTER TUNE ADJ) knob +* Correct feedback implementation for Algo 4 and 6 (engine Mk I only) +* Single click program select +* Fixed sysex issue with wrong machine ID +* Fixed for parameter hosts values. thanks @Sentinel77 + +#### Version 0.9.1 +* Mark I engine now uses 10-bit sine/exp tables. Still a work in progress but we are getting there +* More accurate FM feedback on the Mark I and OPL Series engine +* Wheel, Foot, Breath, Aftertouch modulation support +* Fixed the display of some more 'complex' algorithms +* Drop of .syx files in the cartridge manager +* Dexed data directory can now optionally reside in the same location where the binary is installed +* 'Send current program to DX7' in Cartridge Manager works as designed +* Support for sysex streams (multiple sysex messages in one .syx file) +* falkTX upstream fixes for Linux + +#### Version 0.9.0 +* Apple AU support +* Cartridge Manager +* Store action also can update the currently loaded cartridge +* Basic theming +* Fixed the UI corruption when more than one Dexed instance was loaded +* Fixed wrong display value issues (coarse and fine) + +Credits & thanks +---------------- +* DX Synth engine : Raph Levien and the [msfa](https://github.com/google/music-synthesizer-for-android) team +* [Surge Synth Team](https://surge-synth-team.org/) for substantial contributions like microtuning and MPE support. +* Graphical design : AZur Studio +* [Sentinel77](https://github.com/Sentinel77) for numerous engine fixes +* LP Filter : Filatov Vadim (2DaT); taken from the excellent [Obxd](https://obxd.wordpress.com) project +* PPPlay : Great [OPL3](https://github.com/stohrendorf/ppplay) implementation, with documented code :D +* DX7 program compilation : Jean-Marc Desprez (author of [SynprezFM](http://www.synprez.com/SynprezFM)) +* DX7 programs : Dave Benson, Frank Carvalho, Tim Conrardy, Jack Deckard, Chris Dodunski, Tim Garrett, Hitaye, Stephan Ibsen, Christian Jezreel, Narfman, Godric Wilkie +* falkTX [distrho](http://distrho.sourceforge.net/) + +TODO - Dexed +------------ +* Various code cleanup +* Yamaha 4 operators (DX21/DX27/DX100) sysex import + +TODO - msfa +----------- +* Better Amplitude Modulation +* Accurate live operator level envelope updates + +# How to build + +Clone Dexed from github + +``` +~ $ git clone https://github.com/asb2m10/dexed.git +``` + +Dexed has several submodules it now depends on, including VST3/CLAP and a library to support non standard tuning. After you clone your first step is + +``` +~ $ cd dexed +~/dexed $ git submodule update --init --recursive +``` + +Then you crate the cmake build files that are will be created in the build directory. On that build you can trigger your favorite IDE or simply use `--build` cmake option. + +``` +~/dexed $ mkdir build +~/dexed $ cd build +~/dexed/build $ cmake .. -DJUCE_COPY_PLUGIN_AFTER_BUILD=TRUE +~/dexed/build $ cmake --build . +``` + +If you get missing header compilation errors, be sure to check the [known Linux dependencies](https://github.com/asb2m10/dexed/wiki/Linux-build-dependencies) based on your distribution for Linux. + +Binaries will be found in `~/dexed/build/Source/Dexed_artefacts/*` From 0cf0c5d6b2d31f7f37df373c3e61fa4df30930cb Mon Sep 17 00:00:00 2001 From: der Vodi Date: Sun, 22 Feb 2026 16:35:56 +0100 Subject: [PATCH 6/6] dummy --- libs/clap-juce-extensions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/clap-juce-extensions b/libs/clap-juce-extensions index 2c23b918..4d454e51 160000 --- a/libs/clap-juce-extensions +++ b/libs/clap-juce-extensions @@ -1 +1 @@ -Subproject commit 2c23b918828ba5fbc5fcb4c95d3a046fbf7e9285 +Subproject commit 4d454e5125da75a0e75d95615cbec26d2a09e2bf