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 abd47274f94caddeff37033a4fd2cb8618f71a5e
parent 5b4c9d4c4b8d0e2dde042521c960e8a403e190cf
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Sun, 29 Sep 2024 01:02:42 +0200

support "Save as" for a wave by right clicking the save button

Diffstat:
Msource/xtJucePlugin/xtWaveEditor.cpp | 7++++---
Msource/xtJucePlugin/xtWaveEditor.h | 4+++-
2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/source/xtJucePlugin/xtWaveEditor.cpp b/source/xtJucePlugin/xtWaveEditor.cpp @@ -71,7 +71,7 @@ namespace xtJucePlugin m_btWavePreview = m_editor.findComponentT<juce::Button>("btWavePreview"); m_ledWavePreview = m_editor.findComponentT<juce::Button>("ledWavePreview"); - m_btWaveSave = m_editor.findComponentT<juce::Button>("btWaveSave"); + m_btWaveSave = m_editor.findComponentT<genericUI::Button<juce::DrawableButton>>("btWaveSave"); m_btWavetablePreview = m_editor.findComponentT<juce::Button>("btWavetablePreview"); m_ledWavetablePreview = m_editor.findComponentT<juce::Button>("ledWavetablePreview"); @@ -87,6 +87,8 @@ namespace xtJucePlugin toggleWavetablePreview(m_btWavePreview->getToggleState()); }; + m_btWaveSave->allowRightClick(true); + m_btWaveSave->onClick = [this] { saveWave(); @@ -151,12 +153,11 @@ namespace xtJucePlugin void WaveEditor::saveWave() { - if(WaveEditorData::isReadOnly(m_selectedWave)) + if(WaveEditorData::isReadOnly(m_selectedWave) || m_btWaveSave->isRightClick()) { // open menu and let user select one of the wave slots juce::PopupMenu menu; - uint16_t count = 0; for(uint16_t i=xt::Wave::g_firstRamWaveIndex; i<xt::Wave::g_firstRamWaveIndex+xt::Wave::g_ramWaveCount; ++i) { diff --git a/source/xtJucePlugin/xtWaveEditor.h b/source/xtJucePlugin/xtWaveEditor.h @@ -8,6 +8,8 @@ #include "jucePluginLib/midipacket.h" +#include "juceUiLib/button.h" + namespace xtJucePlugin { class GraphPhase; @@ -82,7 +84,7 @@ namespace xtJucePlugin juce::Button* m_btWavetablePreview = nullptr; juce::Button* m_ledWavetablePreview = nullptr; - juce::Button* m_btWaveSave = nullptr; + genericUI::Button<juce::DrawableButton>* m_btWaveSave = nullptr; juce::Button* m_btWavetableSave = nullptr; WaveEditorData m_data;