v.1.0.1
This commit is contained in:
parent
8a1db5f2f5
commit
5337ce85c3
@ -711,6 +711,58 @@ void CrystalizerEQAudioProcessorEditor::initPresetSystem() {
|
||||
presetBox.setLookAndFeel(presetComboBoxLookAndFeel.get());
|
||||
}
|
||||
|
||||
void CrystalizerEQAudioProcessorEditor::syncPresetBox() {
|
||||
const auto currentPresetName = audioProcessor.getPresetName();
|
||||
|
||||
// Durch alle Items in der ComboBox gehen
|
||||
for (int i = 0; i < presetBox.getNumItems(); ++i) {
|
||||
if (presetBox.getItemText(i) == currentPresetName) {
|
||||
presetBox.setSelectedId(i + 1, juce::dontSendNotification);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
presetBox.setSelectedId(1, juce::dontSendNotification);
|
||||
}
|
||||
|
||||
void CrystalizerEQAudioProcessorEditor::syncAllButtonStates() {
|
||||
// Peak Bypass Buttons
|
||||
const bool peak1Bypassed = audioProcessor.apvts.getRawParameterValue("Peak1Bypass")->load() > 0.5f;
|
||||
if (peak1Bypassed) {
|
||||
disableLowMidBand(1.0f);
|
||||
}
|
||||
|
||||
const bool peak2Bypassed = audioProcessor.apvts.getRawParameterValue("Peak2Bypass")->load() > 0.5f;
|
||||
if (peak2Bypassed) {
|
||||
disableMidBand(1.0f);
|
||||
}
|
||||
|
||||
const bool peak3Bypassed = audioProcessor.apvts.getRawParameterValue("Peak3Bypass")->load() > 0.5f;
|
||||
if (peak3Bypassed) {
|
||||
disableHighMidBand(1.0f);
|
||||
}
|
||||
|
||||
// Master Bypass
|
||||
const bool masterBypassed = audioProcessor.apvts.getRawParameterValue("MasterBypass")->load() > 0.5f;
|
||||
if (masterBypassed) {
|
||||
disableEverything(1.0f);
|
||||
}
|
||||
|
||||
// Crystalize Button - Icon-Opacity setzen
|
||||
const bool crystalized = audioProcessor.apvts.getRawParameterValue("CrystalizeButton")->load() > 0.5f;
|
||||
if (crystalized) {
|
||||
svgToggleButtonLookAndFeel->activeIconOpacity = 1.0f;
|
||||
svgToggleButtonLookAndFeel->passiveIconOpacity = 0.0f;
|
||||
} else {
|
||||
svgToggleButtonLookAndFeel->activeIconOpacity = 0.0f;
|
||||
svgToggleButtonLookAndFeel->passiveIconOpacity = 1.0f;
|
||||
}
|
||||
crystalizeButton.repaint();
|
||||
|
||||
syncPresetBox();
|
||||
}
|
||||
|
||||
|
||||
//==============================================================================
|
||||
CrystalizerEQAudioProcessorEditor::CrystalizerEQAudioProcessorEditor(CrystalizerEQAudioProcessor &p)
|
||||
: AudioProcessorEditor(&p), audioProcessor(p), spectrumAnalyzer(p.audioFIFO, p) {
|
||||
@ -736,6 +788,7 @@ CrystalizerEQAudioProcessorEditor::CrystalizerEQAudioProcessorEditor(Crystalizer
|
||||
audioProcessor.apvts.addParameterListener("HighBandModes", this);
|
||||
|
||||
updateModeButtons();
|
||||
syncAllButtonStates();
|
||||
}
|
||||
|
||||
CrystalizerEQAudioProcessorEditor::~CrystalizerEQAudioProcessorEditor() {
|
||||
|
||||
@ -382,5 +382,9 @@ private:
|
||||
|
||||
void parameterChanged(const juce::String& parameterID, float newValue) override;
|
||||
|
||||
void syncAllButtonStates();
|
||||
|
||||
void syncPresetBox();
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CrystalizerEQAudioProcessorEditor)
|
||||
};
|
||||
|
||||
@ -572,6 +572,7 @@ void CrystalizerEQAudioProcessor::loadPreset(const juce::String &preset) {
|
||||
}
|
||||
}
|
||||
}
|
||||
presetName = f.getFileNameWithoutExtension();
|
||||
}
|
||||
}
|
||||
|
||||
@ -595,7 +596,7 @@ void CrystalizerEQAudioProcessor::deletePreset(const juce::String &preset) const
|
||||
}
|
||||
}
|
||||
|
||||
void CrystalizerEQAudioProcessor::resetAllParameters() const {
|
||||
void CrystalizerEQAudioProcessor::resetAllParameters() {
|
||||
for (auto *p: getParameters()) {
|
||||
if (p == nullptr) continue;
|
||||
|
||||
@ -606,6 +607,7 @@ void CrystalizerEQAudioProcessor::resetAllParameters() const {
|
||||
ranged->endChangeGesture();
|
||||
}
|
||||
}
|
||||
presetName = "Init";
|
||||
}
|
||||
|
||||
void CrystalizerEQAudioProcessor::parameterChanged(const juce::String &id, float v) {
|
||||
@ -808,6 +810,8 @@ juce::AudioProcessorEditor *CrystalizerEQAudioProcessor::createEditor() {
|
||||
void CrystalizerEQAudioProcessor::getStateInformation(juce::MemoryBlock &destData) {
|
||||
auto state = apvts.copyState();
|
||||
std::unique_ptr<juce::XmlElement> xml(state.createXml());
|
||||
xml->setAttribute("currentPreset", presetName);
|
||||
|
||||
copyXmlToBinary(*xml, destData);
|
||||
}
|
||||
|
||||
@ -817,6 +821,8 @@ void CrystalizerEQAudioProcessor::setStateInformation(const void *data, int size
|
||||
if (xmlState != nullptr) {
|
||||
if (xmlState->hasTagName(apvts.state.getType())) {
|
||||
apvts.replaceState(juce::ValueTree::fromXml(*xmlState));
|
||||
|
||||
presetName = xmlState->getStringAttribute("currentPreset", "Init");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -103,7 +103,7 @@ public:
|
||||
|
||||
void deletePreset(const juce::String &preset) const;
|
||||
|
||||
void resetAllParameters() const;
|
||||
void resetAllParameters();
|
||||
|
||||
bool lowCutActive = false;
|
||||
bool highCutActive = false;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user