From e8dd142bf3149bf330073e7d8a7193b9e0ed858d Mon Sep 17 00:00:00 2001 From: Dan German Date: Tue, 16 Apr 2024 15:58:16 +0300 Subject: [PATCH] stringarray revert (#28) --- Source/MainComponent.cpp | 16 ++++++++-------- Source/MainComponent.h | 2 +- Source/blocks_plugin_processor.cpp | 6 +++--- Source/blocks_plugin_processor.h | 2 +- Source/gui/controls/ButtonGrid.cpp | 2 +- Source/gui/controls/ButtonGrid.h | 2 +- Source/gui/controls/ButtonGridPopup.cpp | 2 +- Source/gui/controls/ButtonGridPopup.h | 2 +- Source/gui/controls/PresetButtonComponent.cpp | 2 +- Source/gui/controls/PresetButtonComponent.h | 2 +- Source/model/ButtonGridModel.cpp | 2 +- Source/model/ButtonGridModel.h | 4 ++-- Source/model/ModelConstants.h | 9 ++++++--- 13 files changed, 28 insertions(+), 25 deletions(-) diff --git a/Source/MainComponent.cpp b/Source/MainComponent.cpp index a31e7ca..b957f27 100644 --- a/Source/MainComponent.cpp +++ b/Source/MainComponent.cpp @@ -201,7 +201,7 @@ void MainComponent::setupListeners() { ui_layer_.modulators_.modulators_list_model_.modulator_listener = this; ui_layer_.modulators_.on_added_modulator_ = [this](int index) { - addModulator(model::modulators[index]); + addModulator(model::modulators[index].toStdString()); }; ui_layer_.preset_button_.on_click_ = [this]() { presetButtonClicked(); }; ui_layer_.theme_button_->on_click_ = [this]() { @@ -316,7 +316,7 @@ void MainComponent::mouseUp(const MouseEvent& event) { void MainComponent::handlePastePopup(const juce::MouseEvent& event) { if (copied_blocks_.size() == 0) return; - std::vector> model { { "paste" } }; + Array model { { "paste" } }; paste_popup_.setModel(model); auto relative_position = event.getEventRelativeTo(this); paste_popup_.setBounds(relative_position.getPosition().getX(), relative_position.getPosition().getY(), 56, 40); @@ -333,7 +333,7 @@ void MainComponent::handlePastePopup(const juce::MouseEvent& event) { } void MainComponent::clickOnModulatorsPopup(Index index) { - addModulator(model::modulators[index.row]); + addModulator(model::modulators[index.row].toStdString()); dark_background_.setVisible(false); } @@ -395,16 +395,16 @@ void MainComponent::showPopup(ButtonGridPopup& popup, std::function std::shared_ptr MainComponent::addBlock(int code, Index index) { std::shared_ptr block = nullptr; - std::vector all; + StringArray all; // add the model::block_popup_column_one string array to all - for (auto s : model::block_popup_column_one) all.push_back(s); - for (auto s : model::block_popup_column_two) all.push_back(s); + for (auto s : model::block_popup_column_one) all.add(s); + for (auto s : model::block_popup_column_two) all.add(s); // all.pu(model::block_popup_column_one); // all.addArray(model::block_popup_column_two); - return delegate->editorAddedBlock2(all[code], index); + return delegate->editorAddedBlock2(all[code].toStdString(), index); } void MainComponent::setupInspector() { @@ -868,7 +868,7 @@ void MainComponent::presetButtonClicked() { auto height = std::clamp(desiredHeight, desiredHeight, maxHeight); presets_popup_.setBounds(x, y, width, height); - std::vector presetNames = delegate->editorRequestsPresetNames(); + StringArray presetNames = delegate->editorRequestsPresetNames(); presets_popup_.setModel({ presetNames }); showPopup(presets_popup_, [this](Index i) { this->loadPreset(i.row); }); diff --git a/Source/MainComponent.h b/Source/MainComponent.h index 7cbdf05..433c058 100644 --- a/Source/MainComponent.h +++ b/Source/MainComponent.h @@ -203,7 +203,7 @@ struct MainComponent::Delegate { virtual std::optional editorNavigatedPreset(bool next) = 0; virtual Array editorRequestsCurrentlyPlayingNotes() = 0; - virtual std::vector editorRequestsPresetNames() = 0; + virtual StringArray editorRequestsPresetNames() = 0; virtual Preset editorChangedPreset(int index) = 0; virtual Preset getStateRepresentation() = 0; diff --git a/Source/blocks_plugin_processor.cpp b/Source/blocks_plugin_processor.cpp index 91f5d4a..cff1c96 100644 --- a/Source/blocks_plugin_processor.cpp +++ b/Source/blocks_plugin_processor.cpp @@ -706,9 +706,9 @@ Preset PluginProcessor::getStateRepresentation() { return current_state; } -std::vector PluginProcessor::editorRequestsPresetNames() { - std::vector result; - for (auto preset : preset_manager_.presets) result.push_back(preset.name); +StringArray PluginProcessor::editorRequestsPresetNames() { + StringArray result; + for (auto preset : preset_manager_.presets) result.add(preset.name); return result; } diff --git a/Source/blocks_plugin_processor.h b/Source/blocks_plugin_processor.h index f6b968e..e09367f 100644 --- a/Source/blocks_plugin_processor.h +++ b/Source/blocks_plugin_processor.h @@ -121,7 +121,7 @@ class PluginProcessor: public SynthBase, public juce::AudioProcessor, public Val std::pair editorRequestsModulatorValue(Index moduleIndex, int parameterIndex, int modulatorIndex) override; std::pair editorRequestsModulatorValue(int modulationConnectionIndex) override; - std::vector editorRequestsPresetNames() override; + StringArray editorRequestsPresetNames() override; juce::Array editorRequestsCurrentlyPlayingNotes() override; const vital::StatusOutput* editorRequestsStatusOutput(std::string name) override; // ********************************************************* diff --git a/Source/gui/controls/ButtonGrid.cpp b/Source/gui/controls/ButtonGrid.cpp index b3fa880..50cf2f4 100644 --- a/Source/gui/controls/ButtonGrid.cpp +++ b/Source/gui/controls/ButtonGrid.cpp @@ -28,7 +28,7 @@ void ButtonGrid::resized() { } } -void ButtonGrid::setModel(std::vector> models) { +void ButtonGrid::setModel(Array models) { listBoxModels.clear(); listBoxes.clear(); diff --git a/Source/gui/controls/ButtonGrid.h b/Source/gui/controls/ButtonGrid.h index 910fc41..382b908 100644 --- a/Source/gui/controls/ButtonGrid.h +++ b/Source/gui/controls/ButtonGrid.h @@ -20,7 +20,7 @@ class ButtonGrid: public juce::Component { int getNumberOfColumns(); int getNumberOfRows(); - void setModel(std::vector> models); + void setModel(Array models); void resized() override; void present(std::function callback); diff --git a/Source/gui/controls/ButtonGridPopup.cpp b/Source/gui/controls/ButtonGridPopup.cpp index 374ca78..571fb8e 100644 --- a/Source/gui/controls/ButtonGridPopup.cpp +++ b/Source/gui/controls/ButtonGridPopup.cpp @@ -9,7 +9,7 @@ int ButtonGridPopup::calculateHeight(int itemCount) { return itemCount * itemHeight + borderSize * 2; } -void ButtonGridPopup::setModel(std::vector> stringArrays) { +void ButtonGridPopup::setModel(Array stringArrays) { setBackgroundColour(ThemeManager::shared()->getCurrent().background.brighter(0.3f)); menu.setModel(stringArrays); } diff --git a/Source/gui/controls/ButtonGridPopup.h b/Source/gui/controls/ButtonGridPopup.h index d78ebd2..e40ab66 100644 --- a/Source/gui/controls/ButtonGridPopup.h +++ b/Source/gui/controls/ButtonGridPopup.h @@ -13,7 +13,7 @@ class ButtonGridPopup: public BasePopup { ButtonGridPopup(); int calculateHeight(int itemCount); - void setModel(std::vector> stringArrays); + void setModel(Array stringArrays); void resized() override; void present(std::function callback); private: diff --git a/Source/gui/controls/PresetButtonComponent.cpp b/Source/gui/controls/PresetButtonComponent.cpp index e4f03e5..1822e02 100644 --- a/Source/gui/controls/PresetButtonComponent.cpp +++ b/Source/gui/controls/PresetButtonComponent.cpp @@ -19,7 +19,7 @@ PresetButtonComponent::PresetButtonComponent() { Component* PresetButtonComponent::getContent() { return &content; } PresetButtonComponent::~PresetButtonComponent() {} void PresetButtonComponent::paint(juce::Graphics& g) {} -void PresetButtonComponent::setStrings(std::vector strings) {} +void PresetButtonComponent::setStrings(StringArray strings) {} void PresetButtonComponent::setButtonColour(Colour colour) {} void PresetButtonComponent::mouseUp(const juce::MouseEvent& event) { diff --git a/Source/gui/controls/PresetButtonComponent.h b/Source/gui/controls/PresetButtonComponent.h index 7052984..4b0b728 100644 --- a/Source/gui/controls/PresetButtonComponent.h +++ b/Source/gui/controls/PresetButtonComponent.h @@ -27,7 +27,7 @@ class PresetButtonComponent: public BaseButton { Label label; void paint(juce::Graphics&) override; - void setStrings(std::vector strings); + void setStrings(StringArray strings); void setButtonColour(Colour colour) override; void mouseUp(const juce::MouseEvent& event) override; Component* getContent() override; diff --git a/Source/model/ButtonGridModel.cpp b/Source/model/ButtonGridModel.cpp index 6e8002e..a34b7d8 100644 --- a/Source/model/ButtonGridModel.cpp +++ b/Source/model/ButtonGridModel.cpp @@ -1,6 +1,6 @@ #include "model/ButtonGridModel.h" -ButtonGridModel::ButtonGridModel(std::vector texts, int column): texts(texts), column(column) { } +ButtonGridModel::ButtonGridModel(StringArray texts, int column): texts(texts), column(column) { } void ButtonGridModel::paintListBoxItem(int rowNumber, Graphics& g, int width, int height, bool rowIsSelected) { } int ButtonGridModel::getNumRows() { return texts.size(); } diff --git a/Source/model/ButtonGridModel.h b/Source/model/ButtonGridModel.h index 005693a..da0de0c 100644 --- a/Source/model/ButtonGridModel.h +++ b/Source/model/ButtonGridModel.h @@ -9,10 +9,10 @@ using namespace juce; class ButtonGridModel: public ListBoxModel { public: int column = 0; - std::vector texts; + StringArray texts; std::function onClick; - ButtonGridModel(std::vector texts, int column); + ButtonGridModel(StringArray texts, int column); void paintListBoxItem(int rowNumber, Graphics& g, int width, int height, bool rowIsSelected) override; int getNumRows() override; Component* refreshComponentForRow(int rowNumber, bool isRowSelected, Component* existingComponentToUpdate) override; diff --git a/Source/model/ModelConstants.h b/Source/model/ModelConstants.h index be50b37..6c83410 100644 --- a/Source/model/ModelConstants.h +++ b/Source/model/ModelConstants.h @@ -12,14 +12,17 @@ namespace model { static const StringArray waveforms { "sine", "was", "saw", "square", "triangle" }; -static const std::vector modulators { "lfo", "envelope", "random" }; +static const StringArray modulators { "lfo", "envelope", "random" }; +// static const std::vector modulators { "lfo", "envelope", "random" }; static const StringArray effects { "filter", "drive", "reverb", "delay", "chorus", "flanger", "phaser", "comp" }; static const StringArray tabs { "oscillator", "modulator", "effect" }; static const int rows = 7; static const int columns = 5; -static const std::vector block_popup_column_one { "osc", "noise", "filter", "drive", "flanger" }; -static const std::vector block_popup_column_two { "reverb", "delay", "chorus", "phaser" }; +// static const std::vector block_popup_column_one { "osc", "noise", "filter", "drive", "flanger" }; +// static const std::vector block_popup_column_two { "reverb", "delay", "chorus", "phaser" }; +static const StringArray block_popup_column_one { "osc", "noise", "filter", "drive", "flanger" }; +static const StringArray block_popup_column_two { "reverb", "delay", "chorus", "phaser" }; constexpr int MAX_MODULES_PER_TYPE = 8; } \ No newline at end of file