Deleted previous design and layout.
Added new header with Design System Class. TODO: Complete new Design System Class and test it in the Editor.
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
|
||||
|
||||
#ifndef AXIOMDESIGNSYSTEM_H
|
||||
#define AXIOMDESIGNSYSTEM_H
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace AXIOM {
|
||||
class DesignSystem : public juce::LookAndFeel_V4 {
|
||||
public:
|
||||
DesignSystem();
|
||||
~DesignSystem() override = default;
|
||||
|
||||
struct Colours {
|
||||
//=====================BASE-COLORS========================//
|
||||
static inline const juce::Colour ACCENTCOLOUR = juce::Colour::fromRGB(86, 254, 255); // #56FEFF
|
||||
static inline const juce::Colour BACKGROUNDCOLOUR = juce::Colour::fromRGB(51, 51, 51); // #333333
|
||||
static inline const juce::Colour FOREGROUNDCOLOUR = juce::Colour::fromRGB(252, 250, 249); // #FCFAF9
|
||||
static inline const juce::Colour SURFACECOLOUR = juce::Colour::fromRGB(31, 31, 31); // #1F1F1F
|
||||
static inline const juce::Colour MUTEDTEXTCOLOUR = juce::Colour::fromRGB(207, 207, 207); // #CFCFCF
|
||||
static inline const juce::Colour ACCENTWEAKCOLOUR = juce::Colour::fromRGB(61, 183, 183); // #3DB7B7
|
||||
//=====================HOVER-COLORS========================//
|
||||
static inline const juce::Colour ACCENTHOVER = juce::Colour::fromRGB(110, 255, 255); // #6EFFFF
|
||||
static inline const juce::Colour BACKGROUNDHOVER = juce::Colour::fromRGB(66, 66, 66); // #424242
|
||||
static inline const juce::Colour FOREGROUNDHOVER = juce::Colour::fromRGB(255, 255, 255); // #FFFFFF
|
||||
static inline const juce::Colour SURFACEHOVER = juce::Colour::fromRGB(42, 42, 42); // #2A2A2A
|
||||
static inline const juce::Colour MUTEDTEXTHOVER = juce::Colour::fromRGB(230, 230, 230); // #E6E6E6
|
||||
static inline const juce::Colour ACCENTWEAKHOVER = juce::Colour::fromRGB(82, 210, 210); // #52D2D2
|
||||
};
|
||||
|
||||
struct Typography {
|
||||
inline static const juce::String primaryFamily { "Orbitron Bold" };
|
||||
inline static const juce::String secondaryFamily { "Roboto" };
|
||||
inline static const juce::String displayFamily { "Horizon" };
|
||||
inline static const juce::String monoFamily { "JetBrains Mono" };
|
||||
|
||||
struct Scale {
|
||||
float basePx = 14.0f;
|
||||
float ratio = 1.125f;
|
||||
|
||||
float sizeFor (int step) const noexcept
|
||||
{
|
||||
// step = 0 => basePx, step = 1 => base*ratio, step = -1 => base/ratio, ...
|
||||
return basePx * std::pow (ratio, static_cast<float>(step));
|
||||
}
|
||||
};
|
||||
inline static Scale scale {};
|
||||
|
||||
enum class Style
|
||||
{
|
||||
Display,
|
||||
H1, H2, H3,
|
||||
Subtitle,
|
||||
Body,
|
||||
Small,
|
||||
Caption,
|
||||
Button,
|
||||
Mono,
|
||||
Overline
|
||||
};
|
||||
|
||||
struct TextToken
|
||||
{
|
||||
juce::String family;
|
||||
int stepFromBase;
|
||||
bool bold = false;
|
||||
bool italic = false;
|
||||
bool uppercase = false;
|
||||
float letterSpacing = 0.0f;
|
||||
float lineHeight = 1.25f;
|
||||
bool useMonospace = false;
|
||||
};
|
||||
|
||||
static TextToken getToken (Style style) noexcept
|
||||
{
|
||||
switch (style)
|
||||
{
|
||||
case Style::Display: return { displayFamily, 5, true, false, false, 0.0f, 1.15f, false };
|
||||
case Style::H1: return { primaryFamily, 4, true, false, false, 0.0f, 1.15f, false };
|
||||
case Style::H2: return { primaryFamily, 3, true, false, false, 0.0f, 1.20f, false };
|
||||
case Style::H3: return { primaryFamily, 2, false, false, false, 0.0f, 1.20f, false };
|
||||
case Style::Subtitle: return { primaryFamily, 1, false, false, false, 0.01f,1.25f, false };
|
||||
case Style::Body: return { primaryFamily, 0, false, false, false, 0.0f, 1.35f, false };
|
||||
case Style::Small: return { primaryFamily, -1, false, false, false, 0.0f, 1.35f, false };
|
||||
case Style::Caption: return { primaryFamily, -2, false, false, false, 0.02f,1.40f, false };
|
||||
case Style::Button: return { primaryFamily, 0, true, false, false, 0.02f,1.10f, false };
|
||||
case Style::Mono: return { monoFamily, -1, false, false, false, 0.0f, 1.30f, true };
|
||||
case Style::Overline: return { primaryFamily, -3, true, false, true, 0.06f,1.20f, false };
|
||||
}
|
||||
return { primaryFamily, 0, false, false, false, 0.0f, 1.3f, false };
|
||||
}
|
||||
|
||||
static juce::Font getFont (Style style, float uiScale = 1.0f)
|
||||
{
|
||||
const auto t = getToken (style);
|
||||
const auto fam = t.family;
|
||||
auto height = scale.sizeFor (t.stepFromBase) * uiScale;
|
||||
|
||||
juce::Font f { fam, height, juce::Font::plain };
|
||||
f.setBold (t.bold);
|
||||
f.setItalic (t.italic);
|
||||
f.setExtraKerningFactor (t.letterSpacing);
|
||||
|
||||
return f;
|
||||
}
|
||||
|
||||
static void applyToLabel (juce::Label& label, Style style, float uiScale = 1.0f)
|
||||
{
|
||||
label.setFont (getFont (style, uiScale));
|
||||
|
||||
if (getToken(style).uppercase)
|
||||
label.setText (label.getText().toUpperCase(), juce::NotificationType::dontSendNotification);
|
||||
|
||||
label.setMinimumHorizontalScale (1.0f);
|
||||
}
|
||||
|
||||
static juce::TextLayout createTextLayout (juce::String text,
|
||||
juce::Rectangle<float> bounds,
|
||||
Style style,
|
||||
juce::Colour colour,
|
||||
float uiScale = 1.0f,
|
||||
juce::Justification just = juce::Justification::topLeft)
|
||||
{
|
||||
const auto token = getToken (style);
|
||||
const auto font = getFont (style, uiScale);
|
||||
|
||||
juce::AttributedString as;
|
||||
as.setJustification (just);
|
||||
|
||||
if (token.uppercase)
|
||||
text = text.toUpperCase();
|
||||
|
||||
as.append (text, font, colour);
|
||||
|
||||
juce::TextLayout tl;
|
||||
tl.createLayout (as, bounds.getWidth());
|
||||
return tl;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
struct Spacing {};
|
||||
|
||||
struct Shape {};
|
||||
|
||||
struct Shadows {};
|
||||
|
||||
struct Opacity {};
|
||||
|
||||
struct Motion {};
|
||||
|
||||
struct Components {
|
||||
struct ButtonStyles {};
|
||||
|
||||
struct SliderStyles {};
|
||||
|
||||
struct LabelStyles {};
|
||||
|
||||
struct TextInputStyles {};
|
||||
|
||||
struct ComboBoxStyles {};
|
||||
};
|
||||
|
||||
struct Assets {};
|
||||
|
||||
struct Layout {};
|
||||
|
||||
|
||||
|
||||
private:
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif //AXIOMDESIGNSYSTEM_H
|
||||
|
||||
@@ -24,6 +24,7 @@ juce_add_plugin(CrystalizerEQ
|
||||
target_sources(CrystalizerEQ PRIVATE
|
||||
PluginProcessor.cpp
|
||||
PluginEditor.cpp
|
||||
AXIOMDesignSystem.h
|
||||
)
|
||||
|
||||
# C++20 aktivieren
|
||||
|
||||
+28
-119
@@ -8,6 +8,7 @@
|
||||
|
||||
#include "PluginProcessor.h"
|
||||
#include "PluginEditor.h"
|
||||
#include "AXIOMDesignSystem.h"
|
||||
|
||||
//==============================================================================
|
||||
CrystalizerEQAudioProcessorEditor::CrystalizerEQAudioProcessorEditor (CrystalizerEQAudioProcessor& p)
|
||||
@@ -20,7 +21,6 @@ CrystalizerEQAudioProcessorEditor::CrystalizerEQAudioProcessorEditor (Crystalize
|
||||
|
||||
startTimerHz(60);
|
||||
|
||||
//TEST12345
|
||||
|
||||
|
||||
auto setupLabel = [] (juce::Label& label, const juce::String& text)
|
||||
@@ -249,8 +249,7 @@ CrystalizerEQAudioProcessorEditor::CrystalizerEQAudioProcessorEditor (Crystalize
|
||||
peak1BypassButton.setName("peak1Bypass");
|
||||
peak1BypassButton.setButtonText("Low-Mid Bypass");
|
||||
addAndMakeVisible(peak1BypassButton);
|
||||
peak1BypassButton.setColour (juce::ToggleButton::textColourId, juce::Colours::black);
|
||||
peak1BypassButton.setColour(juce::ToggleButton::tickColourId, juce::Colours::black);
|
||||
|
||||
|
||||
|
||||
peak2FreqSlider.setTextValueSuffix(" Hz");
|
||||
@@ -259,8 +258,7 @@ CrystalizerEQAudioProcessorEditor::CrystalizerEQAudioProcessorEditor (Crystalize
|
||||
peak2BypassButton.setName("peak2Bypass");
|
||||
peak2BypassButton.setButtonText("Mid Bypass");
|
||||
addAndMakeVisible(peak2BypassButton);
|
||||
peak2BypassButton.setColour (juce::ToggleButton::textColourId, juce::Colours::black);
|
||||
peak2BypassButton.setColour(juce::ToggleButton::tickColourId, juce::Colours::black);
|
||||
|
||||
|
||||
|
||||
peak3FreqSlider.setTextValueSuffix(" Hz");
|
||||
@@ -269,8 +267,7 @@ CrystalizerEQAudioProcessorEditor::CrystalizerEQAudioProcessorEditor (Crystalize
|
||||
peak3BypassButton.setName("peak3Bypass");
|
||||
peak3BypassButton.setButtonText("High-Mid Bypass");
|
||||
addAndMakeVisible(peak3BypassButton);
|
||||
peak3BypassButton.setColour (juce::ToggleButton::textColourId, juce::Colours::black);
|
||||
peak3BypassButton.setColour(juce::ToggleButton::tickColourId, juce::Colours::black);
|
||||
|
||||
|
||||
highBandFreqSlider.setTextValueSuffix (" Hz");
|
||||
highBandSlopeSlider.setTextValueSuffix (" dB/Oct");
|
||||
@@ -334,7 +331,7 @@ CrystalizerEQAudioProcessorEditor::CrystalizerEQAudioProcessorEditor (Crystalize
|
||||
};
|
||||
|
||||
|
||||
|
||||
//TODO: DESIGN CHECKBOXES
|
||||
for (auto* b : {&peak1BypassButton, &peak2BypassButton, &peak3BypassButton, &crystalizeButton, &masterBypassButton}) {
|
||||
b->onClick = [this, b]() {
|
||||
juce::String paramID; // nimm juce::String statt std::string
|
||||
@@ -347,6 +344,9 @@ CrystalizerEQAudioProcessorEditor::CrystalizerEQAudioProcessorEditor (Crystalize
|
||||
|
||||
else {return; }
|
||||
|
||||
b->setColour(juce::ToggleButton::textColourId, juce::Colours::black);
|
||||
b->setColour(juce::ToggleButton::tickColourId, juce::Colours::black);
|
||||
|
||||
if (auto* param = audioProcessor.apvts.getParameter(paramID))
|
||||
{
|
||||
const bool isToggled = b->getToggleState();
|
||||
@@ -444,8 +444,8 @@ void CrystalizerEQAudioProcessorEditor::paint (juce::Graphics& g)
|
||||
{
|
||||
// (Our component is opaque, so we must completely fill the background with a solid colour)
|
||||
// fill the whole window white
|
||||
g.fillAll (juce::Colour::fromString("#333333"));
|
||||
g.setColour (juce::Colour::fromString("#fcfaf9"));
|
||||
g.fillAll (AXIOM::DesignSystem::Colours::BACKGROUNDCOLOUR);
|
||||
g.setColour (AXIOM::DesignSystem::Colours::FOREGROUNDCOLOUR);
|
||||
g.setFont (15.0f);
|
||||
g.drawFittedText ("CrystalizerEQ", getLocalBounds().removeFromTop(20),
|
||||
juce::Justification::centred, 1);
|
||||
@@ -480,7 +480,7 @@ void CrystalizerEQAudioProcessorEditor::paint (juce::Graphics& g)
|
||||
{
|
||||
const int n = (int) spectrumAnalyzer.renderValuesDb.size();
|
||||
|
||||
g.setColour(juce::Colour::fromString("#56FEFF"));
|
||||
g.setColour(AXIOM::DesignSystem::Colours::ACCENTCOLOUR);
|
||||
|
||||
juce::Path eqCurve;
|
||||
|
||||
@@ -531,7 +531,7 @@ void CrystalizerEQAudioProcessorEditor::paint (juce::Graphics& g)
|
||||
area.lineTo(r.getX(), r.getBottom());
|
||||
area.closeSubPath();
|
||||
|
||||
g.setColour(juce::Colour::fromString("#56FEFF").withAlpha(0.2f));
|
||||
g.setColour(AXIOM::DesignSystem::Colours::ACCENTCOLOUR.withAlpha(0.2f));;
|
||||
g.fillPath(area);
|
||||
}
|
||||
|
||||
@@ -583,78 +583,10 @@ void CrystalizerEQAudioProcessorEditor::resized()
|
||||
// This is generally where you'll want to lay out the positions of any
|
||||
// subcomponents in your editor.
|
||||
|
||||
// sets the position and size of the slider with arguments (x, y, width, height)
|
||||
auto content = getLocalBounds().reduced(10);
|
||||
|
||||
// untere Leiste für Buttons/Combos
|
||||
auto bottom = content.removeFromBottom(56);
|
||||
//TODO: PLACE ALL KNOBS AND BUILD FUNCTIONS FOR THEIR DESIGN
|
||||
/*i = place(i, &testNoiseLabel, &testNoiseSlider);
|
||||
|
||||
// Grid-Parameter (gerne anpassen)
|
||||
const int cellW = 120; // Zielbreite pro „Knopf“ (Label+Slider)
|
||||
const int cellH = 130; // Zielhöhe pro „Knopf“
|
||||
const int labelH = 22; // Labelhöhe
|
||||
const int cols = std::max(1, content.getWidth() / cellW); // dynamisch je nach Fensterbreite
|
||||
|
||||
analyzerArea = content.removeFromTop(160);
|
||||
// Helper zum Platzieren (wrappt automatisch)
|
||||
auto place = [&](int idx, juce::Label* label, juce::Slider* slider, juce::Button* button = nullptr, juce::ComboBox *combobox = nullptr, juce::TextEditor *editor = nullptr)
|
||||
{
|
||||
const bool anyVisible =
|
||||
(label && label ->isVisible()) ||
|
||||
(slider && slider->isVisible()) ||
|
||||
(button && button->isVisible()) ||
|
||||
(combobox && combobox->isVisible()) ||
|
||||
(editor && editor->isVisible());
|
||||
|
||||
if (!anyVisible)
|
||||
return idx;
|
||||
|
||||
const int col = idx % cols;
|
||||
const int row = idx / cols;
|
||||
|
||||
const int x = content.getX() + col * cellW;
|
||||
const int y = content.getY() + row * cellH;
|
||||
|
||||
// Label (optional)
|
||||
if (label)
|
||||
label->setBounds(x + 6, y, cellW - 12, labelH);
|
||||
|
||||
const int topOffset = (label ? labelH : 0);
|
||||
|
||||
// Slider (optional)
|
||||
if (slider)
|
||||
slider->setBounds(x + 6, y + topOffset, cellW - 12, cellH - topOffset - 8);
|
||||
|
||||
// Button (optional)
|
||||
if (button)
|
||||
{
|
||||
const int btnY = y + topOffset;
|
||||
const int btnH = slider ? labelH : (cellH - topOffset - 8);
|
||||
button->setBounds(x + 6, btnY, cellW - 12, btnH);
|
||||
}
|
||||
|
||||
// ComboBox (optional)
|
||||
if (combobox)
|
||||
{
|
||||
const int cbY = y + topOffset;
|
||||
const int cbH = labelH; // oder wie Button behandeln
|
||||
combobox->setBounds(x + 6, cbY, cellW - 12, cbH);
|
||||
}
|
||||
if (editor)
|
||||
{
|
||||
const int cbY = y + topOffset;
|
||||
const int cbH = labelH; // oder wie Button behandeln
|
||||
editor->setBounds(x + 6, cbY, cellW - 12, cbH);
|
||||
}
|
||||
|
||||
|
||||
return idx + 1;
|
||||
};
|
||||
|
||||
int i = 0;
|
||||
i = place(i, &testNoiseLabel, &testNoiseSlider);
|
||||
|
||||
i = place(i, nullptr, nullptr, nullptr, &lowBandModeBox);
|
||||
i = place(i, &lowBandFreqLabel, &lowBandFreqSlider);
|
||||
i = place(i, &lowBandSlopeLabel,&lowBandSlopeSlider);
|
||||
i = place(i, &lowBandGainLabel, &lowBandGainSlider);
|
||||
@@ -663,19 +595,15 @@ void CrystalizerEQAudioProcessorEditor::resized()
|
||||
i = place(i, &peak1FreqLabel, &peak1FreqSlider);
|
||||
i = place(i, &peak1GainLabel, &peak1GainSlider);
|
||||
i = place(i, &peak1QLabel, &peak1QSlider);
|
||||
i = place(i, nullptr, nullptr, &peak1BypassButton);
|
||||
|
||||
i = place(i, &peak2FreqLabel, &peak2FreqSlider);
|
||||
i = place(i, &peak2GainLabel, &peak2GainSlider);
|
||||
i = place(i, &peak2QLabel, &peak2QSlider);
|
||||
i = place(i, nullptr, nullptr, &peak2BypassButton);
|
||||
|
||||
i = place(i, &peak3FreqLabel, &peak3FreqSlider);
|
||||
i = place(i, &peak3GainLabel, &peak3GainSlider);
|
||||
i = place(i, &peak3QLabel, &peak3QSlider);
|
||||
i = place(i, nullptr, nullptr, &peak3BypassButton);
|
||||
|
||||
i = place(i, nullptr, nullptr, nullptr, &highBandModeBox);
|
||||
i = place(i, &highBandFreqLabel, &highBandFreqSlider);
|
||||
i = place(i, &highBandSlopeLabel,&highBandSlopeSlider);
|
||||
i = place(i, &highBandGainLabel, &highBandGainSlider);
|
||||
@@ -684,48 +612,34 @@ void CrystalizerEQAudioProcessorEditor::resized()
|
||||
i = place(i, &inputLabel, &inputSlider);
|
||||
i = place(i, &outputLabel, &outputSlider);
|
||||
|
||||
i = place(i, nullptr, nullptr, nullptr, &presetBox);
|
||||
i = place(i, nullptr, nullptr, nullptr, nullptr, &presetNameInput);
|
||||
|
||||
|
||||
|
||||
// Untere Leiste: Buttons/Combos ordentlich platzieren
|
||||
auto leftBar = bottom.removeFromLeft(bottom.getWidth()/2);
|
||||
auto rightBar = bottom;
|
||||
|
||||
|
||||
testNoiseButton.setBounds(leftBar.removeFromLeft(160).reduced(8, 8));
|
||||
|
||||
|
||||
|
||||
crystalizeButton.setColour (juce::ToggleButton::textColourId, juce::Colours::black);
|
||||
crystalizeButton.setColour(juce::ToggleButton::tickColourId, juce::Colours::black);
|
||||
|
||||
|
||||
|
||||
//TODO: PLACE ALL BUTTONS AND BUILD FUNCTIONS FOR THEIR DESIGN
|
||||
i = place(i, nullptr, nullptr, &peak1BypassButton);
|
||||
i = place(i, nullptr, nullptr, &peak2BypassButton);
|
||||
i = place(i, nullptr, nullptr, &peak3BypassButton);
|
||||
resetButton.setBounds(leftBar.removeFromLeft(200).reduced(8, 8));
|
||||
|
||||
const int n = 4; // z.B. 4 Buttons rechts
|
||||
int btnW = rightBar.getWidth() / n;
|
||||
|
||||
crystalizeButton .setBounds(rightBar.removeFromLeft(btnW).reduced(8, 8));
|
||||
masterBypassButton .setBounds(rightBar.removeFromLeft(btnW).reduced(8, 8));
|
||||
savePresetButton .setBounds(rightBar.removeFromLeft(btnW).reduced(8, 8));
|
||||
deletePresetButton .setBounds(rightBar.removeFromLeft(btnW).reduced(8, 8));
|
||||
|
||||
// Wenn du den PresetMenu-Button auch rechts willst, erhöhe n und füge ihn hinzu,
|
||||
// oder pack ihn auf die linke Seite:
|
||||
presetMenuButton.setBounds(leftBar.removeFromLeft(180).reduced(8, 8));
|
||||
|
||||
//TODO: PLACE ALLS COMBOBOXES AND BUILD FUNCTIONS FOR THEIR DESIGN
|
||||
i = place(i, nullptr, nullptr, nullptr, &lowBandModeBox);
|
||||
i = place(i, nullptr, nullptr, nullptr, &highBandModeBox);
|
||||
i = place(i, nullptr, nullptr, nullptr, &presetBox);
|
||||
|
||||
|
||||
i = place(i, nullptr, nullptr, nullptr, nullptr, &presetNameInput);*/
|
||||
|
||||
|
||||
|
||||
masterBypassButton.setColour (juce::ToggleButton::textColourId, juce::Colours::black);
|
||||
masterBypassButton.setColour(juce::ToggleButton::tickColourId, juce::Colours::black);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SpectrumAnalyzer::processSamples() {
|
||||
auto samples = audioFIFO.sendSamplesToEditor();
|
||||
|
||||
@@ -781,7 +695,6 @@ void SpectrumAnalyzer::fillFftDataFromFrame(std::vector<float> &windowedFrame) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void SpectrumAnalyzer::buildMagnitudeSpectrum() {
|
||||
for (int k = 0; k < BINS; ++k) {
|
||||
float re = 0.f;
|
||||
@@ -799,9 +712,6 @@ void SpectrumAnalyzer::buildMagnitudeSpectrum() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SpectrumAnalyzer::convertToDb() {
|
||||
for (int k = 0; k < magnitudes.size(); ++k) {
|
||||
float mag = magnitudes[k];
|
||||
@@ -854,7 +764,6 @@ void SpectrumAnalyzer::applyFreqSmoothing() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void SpectrumAnalyzer::applyPeakHoldAndFalloff() {
|
||||
std::vector<float> prevPeak = peakHoldMagnitudesDb;
|
||||
for (int k = 0; k < BINS; ++k) {
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <juce_audio_processors/juce_audio_processors.h>
|
||||
#include <juce_audio_utils/juce_audio_utils.h>
|
||||
#include "PluginProcessor.h"
|
||||
#include "AXIOMDesignSystem.h"
|
||||
|
||||
//==============================================================================
|
||||
/**
|
||||
@@ -133,6 +134,7 @@ public:
|
||||
void paint (juce::Graphics&) override;
|
||||
void resized() override;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// This reference is provided as a quick way for your editor to
|
||||
@@ -189,5 +191,8 @@ private:
|
||||
|
||||
juce::Rectangle<int> analyzerArea;
|
||||
|
||||
AXIOM::DesignSystem designSystem;
|
||||
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CrystalizerEQAudioProcessorEditor)
|
||||
};
|
||||
|
||||
Binary file not shown.
@@ -33,3 +33,50 @@
|
||||
493 795 7828210854316185 CMakeFiles/CrystalizerEQ_rc_lib.dir/CrystalizerEQ_artefacts/JuceLibraryCode/CrystalizerEQ_resources.rc.res 6234bb35ee153fd0
|
||||
458 5782 7828210853953251 CMakeFiles/CrystalizerEQ_Standalone.dir/JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp.obj 87ce7c25ac4a4f5a
|
||||
5782 8147 7828210907196695 CrystalizerEQ_artefacts/Debug/Standalone/CrystalizerEQ.exe f99e08f773a02d9e
|
||||
12 261 7828270633514488 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
276 6153 7828270636154163 CMakeFiles/CrystalizerEQ.dir/PluginEditor.cpp.obj 44b08ed233e258e6
|
||||
6154 7094 7828270694929178 CrystalizerEQ_artefacts/Debug/CrystalizerEQ_SharedCode.lib 7d510101501b6087
|
||||
7 240 7828270705253458 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
255 1330 7828270707734562 CrystalizerEQ_artefacts/Debug/Standalone/CrystalizerEQ.exe f99e08f773a02d9e
|
||||
33 468 7828328469384088 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
13 555 7828328488728907 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
30 317 7828478846812222 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
340 7215 7828478849923234 CMakeFiles/CrystalizerEQ.dir/PluginEditor.cpp.obj 44b08ed233e258e6
|
||||
332 7218 7828478849833210 CMakeFiles/CrystalizerEQ.dir/PluginProcessor.cpp.obj f49ea9ae57418054
|
||||
7218 8285 7828478918711130 CrystalizerEQ_artefacts/Debug/CrystalizerEQ_SharedCode.lib 7d510101501b6087
|
||||
8 291 7828478931100809 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
310 1322 7828478934117703 CrystalizerEQ_artefacts/Debug/Standalone/CrystalizerEQ.exe f99e08f773a02d9e
|
||||
10 258 7828483101927132 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
277 5353 7828483104591268 CMakeFiles/CrystalizerEQ.dir/PluginEditor.cpp.obj 44b08ed233e258e6
|
||||
272 5507 7828483104546368 CMakeFiles/CrystalizerEQ.dir/PluginProcessor.cpp.obj f49ea9ae57418054
|
||||
5507 15570 7828483156906563 CrystalizerEQ_artefacts/Debug/CrystalizerEQ_SharedCode.lib 7d510101501b6087
|
||||
7 246 7828483258354020 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
261 1428 7828483260893121 CrystalizerEQ_artefacts/Debug/Standalone/CrystalizerEQ.exe f99e08f773a02d9e
|
||||
7 249 7828486584619723 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
265 5863 7828486587192370 CMakeFiles/CrystalizerEQ.dir/PluginEditor.cpp.obj 44b08ed233e258e6
|
||||
261 6093 7828486587157366 CMakeFiles/CrystalizerEQ.dir/PluginProcessor.cpp.obj f49ea9ae57418054
|
||||
6094 6785 7828486645493028 CrystalizerEQ_artefacts/Debug/CrystalizerEQ_SharedCode.lib 7d510101501b6087
|
||||
8 267 7828486653294392 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
285 1544 7828486656065586 CrystalizerEQ_artefacts/Debug/Standalone/CrystalizerEQ.exe f99e08f773a02d9e
|
||||
8 264 7828488323419700 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
279 5412 7828488326136219 CMakeFiles/CrystalizerEQ.dir/PluginEditor.cpp.obj 44b08ed233e258e6
|
||||
5412 6001 7828488377471632 CrystalizerEQ_artefacts/Debug/CrystalizerEQ_SharedCode.lib 7d510101501b6087
|
||||
8 248 7828488384101778 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
264 727 7828488386671806 CrystalizerEQ_artefacts/Debug/Standalone/CrystalizerEQ.exe f99e08f773a02d9e
|
||||
9 243 7828505339445689 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
255 5526 7828505341907037 CMakeFiles/CrystalizerEQ.dir/PluginEditor.cpp.obj 44b08ed233e258e6
|
||||
5526 6131 7828505394617765 CrystalizerEQ_artefacts/Debug/CrystalizerEQ_SharedCode.lib 7d510101501b6087
|
||||
10 259 7828505401526723 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
276 741 7828505404187183 CrystalizerEQ_artefacts/Debug/Standalone/CrystalizerEQ.exe f99e08f773a02d9e
|
||||
7 243 7828506110218905 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
259 5390 7828506112742867 CMakeFiles/CrystalizerEQ.dir/PluginEditor.cpp.obj 44b08ed233e258e6
|
||||
255 5612 7828506112707188 CMakeFiles/CrystalizerEQ.dir/PluginProcessor.cpp.obj f49ea9ae57418054
|
||||
5612 6241 7828506166279964 CrystalizerEQ_artefacts/Debug/CrystalizerEQ_SharedCode.lib 7d510101501b6087
|
||||
7 248 7828506173323734 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
264 750 7828506175890819 CrystalizerEQ_artefacts/Debug/Standalone/CrystalizerEQ.exe f99e08f773a02d9e
|
||||
8 245 7828506683311595 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
261 5417 7828506685845317 CMakeFiles/CrystalizerEQ.dir/PluginEditor.cpp.obj 44b08ed233e258e6
|
||||
257 5619 7828506685809976 CMakeFiles/CrystalizerEQ.dir/PluginProcessor.cpp.obj f49ea9ae57418054
|
||||
5619 6265 7828506739433024 CrystalizerEQ_artefacts/Debug/CrystalizerEQ_SharedCode.lib 7d510101501b6087
|
||||
8 249 7828506746645090 C:/Users/deppe/Desktop/Projects/main_crystalizereq/CrystalizerEQ/cmake-build-debug-visual-studio/CMakeFiles/cmake.verify_globs 154243cd2d50ef70
|
||||
265 776 7828506749215292 CrystalizerEQ_artefacts/Debug/Standalone/CrystalizerEQ.exe f99e08f773a02d9e
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -1,3 +1,3 @@
|
||||
Start testing: Oct 22 10:57 Mitteleuropäische Sommerzeit
|
||||
Start testing: Oct 22 17:37 Mitteleuropäische Sommerzeit
|
||||
----------------------------------------------------------
|
||||
End testing: Oct 22 10:57 Mitteleuropäische Sommerzeit
|
||||
End testing: Oct 22 17:37 Mitteleuropäische Sommerzeit
|
||||
|
||||
Reference in New Issue
Block a user