From a88dd6bcbdbefb541cebb13ff3f892f90bca6abe Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Sat, 13 Jun 2015 05:04:47 +1000 Subject: Fixed whitespace Signed-off-by: Damien Zammit --- plugins/ZamGate/ZamGatePlugin.cpp | 278 +++++++++++++++++++------------------- plugins/ZamGate/ZamGatePlugin.hpp | 106 +++++++-------- plugins/ZamGate/ZamGateUI.cpp | 208 ++++++++++++++-------------- plugins/ZamGate/ZamGateUI.hpp | 40 +++--- 4 files changed, 315 insertions(+), 317 deletions(-) diff --git a/plugins/ZamGate/ZamGatePlugin.cpp b/plugins/ZamGate/ZamGatePlugin.cpp index f269e42..65b6669 100644 --- a/plugins/ZamGate/ZamGatePlugin.cpp +++ b/plugins/ZamGate/ZamGatePlugin.cpp @@ -22,10 +22,10 @@ START_NAMESPACE_DISTRHO // ----------------------------------------------------------------------- ZamGatePlugin::ZamGatePlugin() - : Plugin(paramCount, 1, 0) // 1 program, 0 states + : Plugin(paramCount, 1, 0) // 1 program, 0 states { - // set default values - d_setProgram(0); + // set default values + d_setProgram(0); } // ----------------------------------------------------------------------- @@ -33,10 +33,10 @@ ZamGatePlugin::ZamGatePlugin() void ZamGatePlugin::d_initProgramName(uint32_t index, d_string& programName) { - if (index != 0) - return; + if (index != 0) + return; - programName = "Default"; + programName = "Default"; } // ----------------------------------------------------------------------- @@ -44,63 +44,63 @@ void ZamGatePlugin::d_initProgramName(uint32_t index, d_string& programName) void ZamGatePlugin::d_initParameter(uint32_t index, Parameter& parameter) { - switch (index) - { - case paramAttack: - parameter.hints = kParameterIsAutomable; - parameter.name = "Attack"; - parameter.symbol = "att"; - parameter.unit = "ms"; - parameter.ranges.def = 50.0f; - parameter.ranges.min = 0.1f; - parameter.ranges.max = 500.0f; - break; - case paramRelease: - parameter.hints = kParameterIsAutomable; - parameter.name = "Release"; - parameter.symbol = "rel"; - parameter.unit = "ms"; - parameter.ranges.def = 100.0f; - parameter.ranges.min = 0.1f; - parameter.ranges.max = 500.0f; - break; - case paramThresh: - parameter.hints = kParameterIsAutomable; - parameter.name = "Threshold"; - parameter.symbol = "thr"; - parameter.unit = "dB"; - parameter.ranges.def = -60.0f; - parameter.ranges.min = -60.0f; - parameter.ranges.max = 0.0f; - break; - case paramMakeup: - parameter.hints = kParameterIsAutomable; - parameter.name = "Makeup"; - parameter.symbol = "mak"; - parameter.unit = "dB"; - parameter.ranges.def = 0.0f; - parameter.ranges.min = -30.0f; - parameter.ranges.max = 30.0f; - break; - case paramGainR: - parameter.hints = kParameterIsOutput; - parameter.name = "Gain Reduction"; - parameter.symbol = "gainr"; - parameter.unit = "dB"; - parameter.ranges.def = 0.0f; - parameter.ranges.min = 0.0f; - parameter.ranges.max = 40.0f; - break; - case paramOutputLevel: - parameter.hints = kParameterIsOutput; - parameter.name = "Output Level"; - parameter.symbol = "outlevel"; - parameter.unit = "dB"; - parameter.ranges.def = -45.0f; - parameter.ranges.min = -45.0f; - parameter.ranges.max = 20.0f; - break; - } + switch (index) + { + case paramAttack: + parameter.hints = kParameterIsAutomable; + parameter.name = "Attack"; + parameter.symbol = "att"; + parameter.unit = "ms"; + parameter.ranges.def = 50.0f; + parameter.ranges.min = 0.1f; + parameter.ranges.max = 500.0f; + break; + case paramRelease: + parameter.hints = kParameterIsAutomable; + parameter.name = "Release"; + parameter.symbol = "rel"; + parameter.unit = "ms"; + parameter.ranges.def = 100.0f; + parameter.ranges.min = 0.1f; + parameter.ranges.max = 500.0f; + break; + case paramThresh: + parameter.hints = kParameterIsAutomable; + parameter.name = "Threshold"; + parameter.symbol = "thr"; + parameter.unit = "dB"; + parameter.ranges.def = -60.0f; + parameter.ranges.min = -60.0f; + parameter.ranges.max = 0.0f; + break; + case paramMakeup: + parameter.hints = kParameterIsAutomable; + parameter.name = "Makeup"; + parameter.symbol = "mak"; + parameter.unit = "dB"; + parameter.ranges.def = 0.0f; + parameter.ranges.min = -30.0f; + parameter.ranges.max = 30.0f; + break; + case paramGainR: + parameter.hints = kParameterIsOutput; + parameter.name = "Gain Reduction"; + parameter.symbol = "gainr"; + parameter.unit = "dB"; + parameter.ranges.def = 0.0f; + parameter.ranges.min = 0.0f; + parameter.ranges.max = 40.0f; + break; + case paramOutputLevel: + parameter.hints = kParameterIsOutput; + parameter.name = "Output Level"; + parameter.symbol = "outlevel"; + parameter.unit = "dB"; + parameter.ranges.def = -45.0f; + parameter.ranges.min = -45.0f; + parameter.ranges.max = 20.0f; + break; + } } // ----------------------------------------------------------------------- @@ -108,54 +108,54 @@ void ZamGatePlugin::d_initParameter(uint32_t index, Parameter& parameter) float ZamGatePlugin::d_getParameterValue(uint32_t index) const { - switch (index) - { - case paramAttack: - return attack; - break; - case paramRelease: - return release; - break; - case paramThresh: - return thresdb; - break; - case paramMakeup: - return makeup; - break; - case paramGainR: - return gainr; - break; - case paramOutputLevel: - return outlevel; - break; - default: - return 0.0f; - } + switch (index) + { + case paramAttack: + return attack; + break; + case paramRelease: + return release; + break; + case paramThresh: + return thresdb; + break; + case paramMakeup: + return makeup; + break; + case paramGainR: + return gainr; + break; + case paramOutputLevel: + return outlevel; + break; + default: + return 0.0f; + } } void ZamGatePlugin::d_setParameterValue(uint32_t index, float value) { - switch (index) - { - case paramAttack: - attack = value; - break; - case paramRelease: - release = value; - break; - case paramThresh: - thresdb = value; - break; - case paramMakeup: - makeup = value; - break; - case paramGainR: - gainr = value; - break; - case paramOutputLevel: - outlevel = value; - break; - } + switch (index) + { + case paramAttack: + attack = value; + break; + case paramRelease: + release = value; + break; + case paramThresh: + thresdb = value; + break; + case paramMakeup: + makeup = value; + break; + case paramGainR: + gainr = value; + break; + case paramOutputLevel: + outlevel = value; + break; + } } void ZamGatePlugin::d_setProgram(uint32_t index) @@ -166,7 +166,6 @@ void ZamGatePlugin::d_setProgram(uint32_t index) gainr = 0.0; makeup = 0.0; outlevel = -45.0; - d_activate(); } @@ -217,44 +216,45 @@ float ZamGatePlugin::averageabs(float samples[]) void ZamGatePlugin::d_run(const float** inputs, float** outputs, uint32_t frames) { uint32_t i; - - float absamplel, absampler, absample; - float att; - float rel; - float gl, gr; + float absamplel, absampler, absample; + float att; + float rel; + float gl, gr; float ming; float fs; fs = d_getSampleRate(); - gl = gatestatel; - gr = gatestater; - att = 1000.f / (attack * fs); - rel = 1000.f / (release * fs); + gl = gatestatel; + gr = gatestater; + att = 1000.f / (attack * fs); + rel = 1000.f / (release * fs); - for(i = 0; i < frames; i++) { + for(i = 0; i < frames; i++) { pushsamplel(samplesl, inputs[0][i]); pushsampler(samplesr, inputs[1][i]); - absamplel = averageabs(samplesl); - absampler = averageabs(samplesr); + absamplel = averageabs(samplesl); + absampler = averageabs(samplesr); absample = std::max(absamplel, absampler); if (absample < from_dB(thresdb)) { - gr -= rel; - if (gr < 0.f) - gr = 0.f; - gl -= rel; - if (gl < 0.f) - gl = 0.f; - } else { - gr += att; - if (gr > 1.f) - gr = 1.f; - gl += att; - if (gl > 1.f) - gl = 1.f; - } - gatestatel = gl; - gatestater = gr; - outputs[0][i] = tanh(2.0*gatestatel) * from_dB(makeup) * inputs[0][i]; - outputs[1][i] = tanh(2.0*gatestater) * from_dB(makeup) * inputs[1][i]; + gr -= rel; + if (gr < 0.f) + gr = 0.f; + gl -= rel; + if (gl < 0.f) + gl = 0.f; + } else { + gr += att; + if (gr > 1.f) + gr = 1.f; + gl += att; + if (gl > 1.f) + gl = 1.f; + } + + gatestatel = gl; + gatestater = gr; + + outputs[0][i] = gl * from_dB(makeup) * inputs[0][i]; + outputs[1][i] = gr * from_dB(makeup) * inputs[1][i]; ming = std::max(gr, gl); gainr = (ming > 0) ? sanitize_denormal(-to_dB(ming)) : 40.0; gainr = std::min(gainr, 40.f); @@ -266,7 +266,7 @@ void ZamGatePlugin::d_run(const float** inputs, float** outputs, uint32_t frames Plugin* createPlugin() { - return new ZamGatePlugin(); + return new ZamGatePlugin(); } // ----------------------------------------------------------------------- diff --git a/plugins/ZamGate/ZamGatePlugin.hpp b/plugins/ZamGate/ZamGatePlugin.hpp index 45eef8a..66fd480 100644 --- a/plugins/ZamGate/ZamGatePlugin.hpp +++ b/plugins/ZamGate/ZamGatePlugin.hpp @@ -30,84 +30,84 @@ START_NAMESPACE_DISTRHO class ZamGatePlugin : public Plugin { public: - enum Parameters - { - paramAttack, - paramRelease, - paramThresh, - paramMakeup, - paramOutputLevel, - paramGainR, - paramCount - }; - - ZamGatePlugin(); + enum Parameters + { + paramAttack, + paramRelease, + paramThresh, + paramMakeup, + paramOutputLevel, + paramGainR, + paramCount + }; + + ZamGatePlugin(); protected: - // ------------------------------------------------------------------- - // Information + // ------------------------------------------------------------------- + // Information - const char* d_getLabel() const noexcept override - { - return "ZamGate"; - } + const char* d_getLabel() const noexcept override + { + return "ZamGate"; + } - const char* d_getMaker() const noexcept override - { - return "Damien Zammit"; - } + const char* d_getMaker() const noexcept override + { + return "Damien Zammit"; + } - const char* d_getLicense() const noexcept override - { - return "GPL v2+"; - } + const char* d_getLicense() const noexcept override + { + return "GPL v2+"; + } - uint32_t d_getVersion() const noexcept override - { - return 0x1000; - } + uint32_t d_getVersion() const noexcept override + { + return 0x1000; + } - int64_t d_getUniqueId() const noexcept override - { - return d_cconst('Z', 'G', 'A', 'T'); - } + int64_t d_getUniqueId() const noexcept override + { + return d_cconst('Z', 'G', 'A', 'T'); + } - // ------------------------------------------------------------------- - // Init + // ------------------------------------------------------------------- + // Init - void d_initParameter(uint32_t index, Parameter& parameter) override; - void d_initProgramName(uint32_t index, d_string& programName) override; + void d_initParameter(uint32_t index, Parameter& parameter) override; + void d_initProgramName(uint32_t index, d_string& programName) override; - // ------------------------------------------------------------------- - // Internal data + // ------------------------------------------------------------------- + // Internal data - float d_getParameterValue(uint32_t index) const override; - void d_setParameterValue(uint32_t index, float value) override; - void d_setProgram(uint32_t index) override; + float d_getParameterValue(uint32_t index) const override; + void d_setParameterValue(uint32_t index, float value) override; + void d_setProgram(uint32_t index) override; - // ------------------------------------------------------------------- - void d_activate() override; - void d_run(const float** inputs, float** outputs, uint32_t frames) override; + // ------------------------------------------------------------------- + void d_activate() override; + void d_run(const float** inputs, float** outputs, uint32_t frames) override; static inline float sanitize_denormal(float v) { - if(!std::isnormal(v) || !std::isfinite(v)) - return 0.f; - return v; + if(!std::isnormal(v) || !std::isfinite(v)) + return 0.f; + return v; } static inline float from_dB(float gdb) { - return (exp(gdb/20.f*log(10.f))); + return (exp(gdb/20.f*log(10.f))); } static inline float to_dB(float g) { - return (20.f*log10(g)); + return (20.f*log10(g)); } - // ------------------------------------------------------------------- - float attack,release,thresdb,makeup,gainr,outlevel; //parameters + // ------------------------------------------------------------------- + float attack,release,thresdb,makeup,gainr,outlevel; //parameters void pushsamplel(float samples[], float sample); void pushsampler(float samples[], float sample); diff --git a/plugins/ZamGate/ZamGateUI.cpp b/plugins/ZamGate/ZamGateUI.cpp index 33a148a..123ca90 100644 --- a/plugins/ZamGate/ZamGateUI.cpp +++ b/plugins/ZamGate/ZamGateUI.cpp @@ -23,63 +23,63 @@ START_NAMESPACE_DISTRHO // ----------------------------------------------------------------------- ZamGateUI::ZamGateUI() - : UI() + : UI() { - setSize(ZamGateArtwork::zamgateWidth, ZamGateArtwork::zamgateHeight); - - // background - fImgBackground = Image(ZamGateArtwork::zamgateData, ZamGateArtwork::zamgateWidth, ZamGateArtwork::zamgateHeight, GL_BGR); - - // led images - fLedRedImg = Image(ZamGateArtwork::ledredData, ZamGateArtwork::ledredWidth, ZamGateArtwork::ledredHeight); - fLedYellowImg = Image(ZamGateArtwork::ledyellowData, ZamGateArtwork::ledyellowWidth, ZamGateArtwork::ledyellowHeight); - - // led values - fLedRedValue = 0.0f; - fLedYellowValue = 0.0f; - - // knob - Image knobImage(ZamGateArtwork::knobData, ZamGateArtwork::knobWidth, ZamGateArtwork::knobHeight); - - // knob - fKnobAttack = new ImageKnob(this, knobImage); - fKnobAttack->setAbsolutePos(24, 45); - fKnobAttack->setId(ZamGatePlugin::paramAttack); - fKnobAttack->setRange(0.1f, 500.0f); - fKnobAttack->setStep(0.1f); - fKnobAttack->setDefault(50.0f); - fKnobAttack->setRotationAngle(240); - fKnobAttack->setCallback(this); - - fKnobRelease = new ImageKnob(this, knobImage); - fKnobRelease->setAbsolutePos(108, 45); - fKnobRelease->setId(ZamGatePlugin::paramRelease); - fKnobRelease->setRange(0.1f, 500.0f); - fKnobRelease->setStep(0.1f); - fKnobRelease->setDefault(100.0f); - fKnobRelease->setRotationAngle(240); - fKnobRelease->setCallback(this); - - fKnobThresh = new ImageKnob(this, knobImage); - fKnobThresh->setAbsolutePos(191.7, 45); - fKnobThresh->setId(ZamGatePlugin::paramThresh); - fKnobThresh->setRange(-60.0f, 0.0f); - fKnobThresh->setStep(1.0f); - fKnobThresh->setDefault(-60.0f); - fKnobThresh->setRotationAngle(240); - fKnobThresh->setCallback(this); - - fKnobMakeup = new ImageKnob(this, knobImage); - fKnobMakeup->setAbsolutePos(273, 45); - fKnobMakeup->setId(ZamGatePlugin::paramMakeup); - fKnobMakeup->setRange(-30.0f, 30.0f); - fKnobMakeup->setStep(1.0f); - fKnobMakeup->setDefault(0.0f); - fKnobMakeup->setRotationAngle(240); - fKnobMakeup->setCallback(this); - - // set default values - d_programChanged(0); + setSize(ZamGateArtwork::zamgateWidth, ZamGateArtwork::zamgateHeight); + + // background + fImgBackground = Image(ZamGateArtwork::zamgateData, ZamGateArtwork::zamgateWidth, ZamGateArtwork::zamgateHeight, GL_BGR); + + // led images + fLedRedImg = Image(ZamGateArtwork::ledredData, ZamGateArtwork::ledredWidth, ZamGateArtwork::ledredHeight); + fLedYellowImg = Image(ZamGateArtwork::ledyellowData, ZamGateArtwork::ledyellowWidth, ZamGateArtwork::ledyellowHeight); + + // led values + fLedRedValue = 0.0f; + fLedYellowValue = 0.0f; + + // knob + Image knobImage(ZamGateArtwork::knobData, ZamGateArtwork::knobWidth, ZamGateArtwork::knobHeight); + + // knob + fKnobAttack = new ImageKnob(this, knobImage); + fKnobAttack->setAbsolutePos(24, 45); + fKnobAttack->setId(ZamGatePlugin::paramAttack); + fKnobAttack->setRange(0.1f, 500.0f); + fKnobAttack->setStep(0.1f); + fKnobAttack->setDefault(50.0f); + fKnobAttack->setRotationAngle(240); + fKnobAttack->setCallback(this); + + fKnobRelease = new ImageKnob(this, knobImage); + fKnobRelease->setAbsolutePos(108, 45); + fKnobRelease->setId(ZamGatePlugin::paramRelease); + fKnobRelease->setRange(0.1f, 500.0f); + fKnobRelease->setStep(0.1f); + fKnobRelease->setDefault(100.0f); + fKnobRelease->setRotationAngle(240); + fKnobRelease->setCallback(this); + + fKnobThresh = new ImageKnob(this, knobImage); + fKnobThresh->setAbsolutePos(191.7, 45); + fKnobThresh->setId(ZamGatePlugin::paramThresh); + fKnobThresh->setRange(-60.0f, 0.0f); + fKnobThresh->setStep(1.0f); + fKnobThresh->setDefault(-60.0f); + fKnobThresh->setRotationAngle(240); + fKnobThresh->setCallback(this); + + fKnobMakeup = new ImageKnob(this, knobImage); + fKnobMakeup->setAbsolutePos(273, 45); + fKnobMakeup->setId(ZamGatePlugin::paramMakeup); + fKnobMakeup->setRange(-30.0f, 30.0f); + fKnobMakeup->setStep(1.0f); + fKnobMakeup->setDefault(0.0f); + fKnobMakeup->setRotationAngle(240); + fKnobMakeup->setCallback(this); + + // set default values + d_programChanged(0); } // ----------------------------------------------------------------------- @@ -87,44 +87,44 @@ ZamGateUI::ZamGateUI() void ZamGateUI::d_parameterChanged(uint32_t index, float value) { - switch (index) - { - case ZamGatePlugin::paramAttack: - fKnobAttack->setValue(value); - break; - case ZamGatePlugin::paramRelease: - fKnobRelease->setValue(value); - break; - case ZamGatePlugin::paramThresh: - fKnobThresh->setValue(value); - break; - case ZamGatePlugin::paramMakeup: - fKnobMakeup->setValue(value); - break; - case ZamGatePlugin::paramGainR: - if (fLedRedValue != value) - { - fLedRedValue = value; - repaint(); - } - break; - case ZamGatePlugin::paramOutputLevel: - if (fLedYellowValue != value) - { - fLedYellowValue = value; - repaint(); - } - break; - } + switch (index) + { + case ZamGatePlugin::paramAttack: + fKnobAttack->setValue(value); + break; + case ZamGatePlugin::paramRelease: + fKnobRelease->setValue(value); + break; + case ZamGatePlugin::paramThresh: + fKnobThresh->setValue(value); + break; + case ZamGatePlugin::paramMakeup: + fKnobMakeup->setValue(value); + break; + case ZamGatePlugin::paramGainR: + if (fLedRedValue != value) + { + fLedRedValue = value; + repaint(); + } + break; + case ZamGatePlugin::paramOutputLevel: + if (fLedYellowValue != value) + { + fLedYellowValue = value; + repaint(); + } + break; + } } void ZamGateUI::d_programChanged(uint32_t index) { - // Default values - fKnobAttack->setValue(50.0f); - fKnobRelease->setValue(100.0f); - fKnobThresh->setValue(-60.0f); - fKnobMakeup->setValue(0.0f); + // Default values + fKnobAttack->setValue(50.0f); + fKnobRelease->setValue(100.0f); + fKnobThresh->setValue(-60.0f); + fKnobMakeup->setValue(0.0f); } // ----------------------------------------------------------------------- @@ -132,32 +132,32 @@ void ZamGateUI::d_programChanged(uint32_t index) void ZamGateUI::imageKnobDragStarted(ImageKnob* knob) { - d_editParameter(knob->getId(), true); + d_editParameter(knob->getId(), true); } void ZamGateUI::imageKnobDragFinished(ImageKnob* knob) { - d_editParameter(knob->getId(), false); + d_editParameter(knob->getId(), false); } void ZamGateUI::imageKnobValueChanged(ImageKnob* knob, float value) { - d_setParameterValue(knob->getId(), value); + d_setParameterValue(knob->getId(), value); } void ZamGateUI::onDisplay() { - fImgBackground.draw(); + fImgBackground.draw(); - // draw leds - static const float sLedSpacing = 15.5f; - static const int sLedInitialX = 344.7; + // draw leds + static const float sLedSpacing = 15.5f; + static const int sLedInitialX = 344.7; - static const int sYellowLedStaticY = 16; - static const int sRedLedStaticY = 45; + static const int sYellowLedStaticY = 16; + static const int sRedLedStaticY = 45; - int numRedLeds; - int numYellowLeds; + int numRedLeds; + int numYellowLeds; if (fLedRedValue >= 40.f) numRedLeds = 12; @@ -185,8 +185,8 @@ void ZamGateUI::onDisplay() numRedLeds = 1; else numRedLeds = 0; - for (int i=numRedLeds; i>0; --i) - fLedRedImg.drawAt(sLedInitialX + (12 - i)*sLedSpacing, sRedLedStaticY); + for (int i=numRedLeds; i>0; --i) + fLedRedImg.drawAt(sLedInitialX + (12 - i)*sLedSpacing, sRedLedStaticY); if (fLedYellowValue >= 20.f) numYellowLeds = 19; @@ -243,7 +243,7 @@ void ZamGateUI::onDisplay() UI* createUI() { - return new ZamGateUI(); + return new ZamGateUI(); } // ----------------------------------------------------------------------- diff --git a/plugins/ZamGate/ZamGateUI.hpp b/plugins/ZamGate/ZamGateUI.hpp index 0cc5e25..53d0092 100644 --- a/plugins/ZamGate/ZamGateUI.hpp +++ b/plugins/ZamGate/ZamGateUI.hpp @@ -19,9 +19,7 @@ #define ZAMGATEUI_HPP_INCLUDED #include "DistrhoUI.hpp" - #include "ImageKnob.hpp" - #include "ZamGateArtwork.hpp" using DGL::Image; @@ -32,35 +30,35 @@ START_NAMESPACE_DISTRHO // ----------------------------------------------------------------------- class ZamGateUI : public UI, - public ImageKnob::Callback + public ImageKnob::Callback { public: - ZamGateUI(); + ZamGateUI(); protected: - // ------------------------------------------------------------------- - // DSP Callbacks + // ------------------------------------------------------------------- + // DSP Callbacks - void d_parameterChanged(uint32_t index, float value) override; - void d_programChanged(uint32_t index) ; + void d_parameterChanged(uint32_t index, float value) override; + void d_programChanged(uint32_t index) ; - // ------------------------------------------------------------------- + // ------------------------------------------------------------------- - void imageKnobDragStarted(ImageKnob* knob) override; - void imageKnobDragFinished(ImageKnob* knob) override; - void imageKnobValueChanged(ImageKnob* knob, float value) override; + void imageKnobDragStarted(ImageKnob* knob) override; + void imageKnobDragFinished(ImageKnob* knob) override; + void imageKnobValueChanged(ImageKnob* knob, float value) override; - void onDisplay() override; + void onDisplay() override; private: - Image fImgBackground; - ScopedPointer fKnobAttack, fKnobRelease, fKnobThresh; - ScopedPointer fKnobMakeup; - - Image fLedRedImg; - float fLedRedValue; - Image fLedYellowImg; - float fLedYellowValue; + Image fImgBackground; + ScopedPointer fKnobAttack, fKnobRelease, fKnobThresh; + ScopedPointer fKnobMakeup; + + Image fLedRedImg; + float fLedRedValue; + Image fLedYellowImg; + float fLedYellowValue; }; // ----------------------------------------------------------------------- -- cgit v1.2.3