WIP
This commit is contained in:
parent
3fda15966c
commit
61482e8d4c
36 changed files with 325 additions and 122 deletions
|
|
@ -29,5 +29,6 @@ public:
|
|||
protected:
|
||||
std::string m_processId;
|
||||
std::shared_ptr<LabelComponent> m_label;
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BaseComponent);
|
||||
};
|
||||
#endif //VENO_BASECOMPONENT_H
|
||||
|
|
|
|||
|
|
@ -24,5 +24,6 @@ protected:
|
|||
void drawHeadline (Graphics& g);
|
||||
void drawFooter (Graphics& g);
|
||||
std::unique_ptr<Waveforms> waveform;
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SidebarLCD);
|
||||
};
|
||||
#endif //VENO_SIDEBARLCD_H
|
||||
|
|
|
|||
|
|
@ -63,6 +63,9 @@ void Waveforms::renderOpenGL ()
|
|||
auto color = theme->getColour (ThemeColour::lcd);
|
||||
shaderProgram->setUniform ("color", color.getFloatRed (), color.getFloatGreen (), color.getFloatBlue (),
|
||||
color.getFloatAlpha ());
|
||||
// same color currently! will set to a diff if peak is detected!
|
||||
shaderProgram->setUniform ("gradientColor", color.getFloatRed (), color.getFloatGreen (), color.getFloatBlue (),
|
||||
color.getFloatAlpha ());
|
||||
if (m_isWelcome || m_isStarting || m_isChangingData)
|
||||
{
|
||||
return;
|
||||
|
|
@ -92,6 +95,8 @@ void Waveforms::compileOpenGLShaderProgram ()
|
|||
&& shaderProgramAttempt->link ())
|
||||
{
|
||||
shaderProgram = std::move (shaderProgramAttempt);
|
||||
} else {
|
||||
DBG(shaderProgramAttempt->getLastError().toStdString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -144,10 +149,17 @@ void Waveforms::drawAudioOutput ()
|
|||
glBegin (GL_LINE_STRIP);
|
||||
float posX = -1;
|
||||
float inc = 2.0f / buffer.size ();
|
||||
for (float i : buffer)
|
||||
for (int j = 0; j < buffer.size(); ++j)
|
||||
{
|
||||
glVertex2f (posX, i);
|
||||
posX += inc;
|
||||
try
|
||||
{
|
||||
glVertex2f (posX, buffer.at(j));
|
||||
posX += inc;
|
||||
} catch (_exception e)
|
||||
{
|
||||
//something is wrong skip the draw and end it!
|
||||
break;
|
||||
}
|
||||
}
|
||||
glEnd ();
|
||||
}
|
||||
|
|
@ -160,7 +172,6 @@ void Waveforms::drawPeakMeter ()
|
|||
return;
|
||||
}
|
||||
auto instance = VenoInstance::getInstance (BaseComponent::m_processId);
|
||||
instance->audioBuffer->calcPeak ();
|
||||
repaint();
|
||||
// draw peak signal
|
||||
auto leftChannel = getdBForChannel (instance->audioBuffer->leftPeak);
|
||||
|
|
@ -276,6 +287,8 @@ void Waveforms::selectColourByPeak (float value)
|
|||
return;
|
||||
}
|
||||
auto color = theme->getColour (ThemeColour::lcd);
|
||||
shaderProgram->setUniform ("color", color.getFloatRed (), color.getFloatGreen (), color.getFloatBlue (),
|
||||
color.getFloatAlpha ());
|
||||
if (value > 0.87)
|
||||
{
|
||||
color = theme->getColour (ThemeColour::clip);
|
||||
|
|
@ -284,7 +297,7 @@ void Waveforms::selectColourByPeak (float value)
|
|||
{
|
||||
color = theme->getColour (ThemeColour::warning);
|
||||
}
|
||||
shaderProgram->setUniform ("color", color.getFloatRed (), color.getFloatGreen (), color.getFloatBlue (),
|
||||
shaderProgram->setUniform ("gradientColor", color.getFloatRed (), color.getFloatGreen (), color.getFloatBlue (),
|
||||
color.getFloatAlpha ());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ protected:
|
|||
int m_time_needed_startup = 0;
|
||||
int m_time_needed = 0;
|
||||
bool needToClear = false;
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Waveforms);
|
||||
public:
|
||||
explicit Waveforms (const std::string& processId);
|
||||
~Waveforms () override;
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ ConfigComponent::~ConfigComponent ()
|
|||
color.reset();
|
||||
}
|
||||
m_colors.clear();
|
||||
m_preColours.reset(nullptr);
|
||||
}
|
||||
|
||||
ThemeColour ConfigComponent::getColorForId (int id)
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@ Sidebar::~Sidebar ()
|
|||
{
|
||||
m_lcd.reset(nullptr);
|
||||
m_configButton.reset(nullptr);
|
||||
m_mixer.reset(nullptr);
|
||||
VenoLogo::deleteInstance();
|
||||
}
|
||||
|
||||
void Sidebar::resized ()
|
||||
|
|
|
|||
|
|
@ -23,5 +23,6 @@ protected:
|
|||
std::unique_ptr<SidebarLCD> m_lcd;
|
||||
std::unique_ptr<SidebarMixer> m_mixer;
|
||||
std::unique_ptr<VenoConfigButton> m_configButton;
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Sidebar)
|
||||
};
|
||||
#endif //VENO_SIDEBAR_H
|
||||
|
|
|
|||
|
|
@ -18,5 +18,7 @@ public:
|
|||
static void deleteInstance ();
|
||||
VenoLogo ();
|
||||
~VenoLogo () = default;
|
||||
protected:
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (VenoLogo)
|
||||
};
|
||||
#endif //VENO_VENOLOGO_H
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ class FlatLook : public LookAndFeel_V4
|
|||
{
|
||||
private:
|
||||
public:
|
||||
FlatLook() = default;
|
||||
~FlatLook() override = default;
|
||||
void drawButtonBackground (Graphics& graphics, Button& button, const Colour& backgroundColour,
|
||||
bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override;
|
||||
|
||||
|
|
@ -29,5 +31,6 @@ public:
|
|||
int buttonH, ComboBox &box) override;
|
||||
|
||||
protected:
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FlatLook);
|
||||
};
|
||||
#endif //VENO_FLATLOOK_H
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ LookHandler::~LookHandler ()
|
|||
//delete this shit!
|
||||
delete m_feels[0];
|
||||
delete m_feels[1];
|
||||
m_look.reset();
|
||||
}
|
||||
|
||||
void LookHandler::selectLook (int index)
|
||||
|
|
|
|||
|
|
@ -26,5 +26,6 @@ public:
|
|||
protected:
|
||||
//currently both available themes are CrazyLook <-- (this is a fun one xD) and FlatLook
|
||||
LookAndFeel_V4* m_feels[2] = {new FlatLook(), new CrazyLook()};
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LookHandler);
|
||||
};
|
||||
#endif //VENO_LOOKHANDLER_H
|
||||
|
|
|
|||
|
|
@ -27,5 +27,6 @@ public:
|
|||
protected:
|
||||
std::map<ThemeColour, Colour*> m_colours;
|
||||
std::shared_ptr<PropertiesFile> m_configFile;
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Theme);
|
||||
};
|
||||
#endif //VENO_THEME_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue