CSL  6.0
VUMeter Class Reference

#include <JCSL_Widgets.h>

+ Inheritance diagram for VUMeter:

Public Types

enum  { Vertical = 1, Horizontal, Analog }
 
enum  {
  None = 1, Left, Right, Above,
  Below
}
 

Public Member Functions

 VUMeter ()
 
 VUMeter (int channel, int type, int segments=0, int markerWidth=2, const juce::Colour &minColour=juce::Colours::green, const juce::Colour &thresholdColour=juce::Colours::yellow, const juce::Colour &maxColour=juce::Colours::red, const juce::Colour &back=juce::Colours::black, float threshold=0.707f)
 
 VUMeter (int channel, juce::Image *background, juce::Image *overlay, float minPosition, float maxPosition, juce::Point< int > &needleCenter, int needleLength, int needleWidth=2, int arrowLength=4, int arrowWidth=4, const juce::Colour &needleColour=juce::Colours::black, int needleDropShadow=None, int dropDistance=0)
 
 ~VUMeter ()
 
void setBounds (int x, int y, int width, int height)
 
void setFrame (int inset, bool raised=false)
 
void setColours (juce::Colour &min, juce::Colour &threshold, juce::Colour &max, juce::Colour &back)
 
void setDecay (int decay, int hold, float percent=0.707f)
 
void setChannel (unsigned channel)
 
void setValue (float v)
 
void setScale (float v)
 
float getValue ()
 
void setSkewFactor (float skew)
 
void audioDeviceIOCallback (const float **inputChannelData, int totalNumInputChannels, float **outputChannelData, int totalNumOutputChannels, int numSamples)
 
void audioDeviceAboutToStart (double sampleRate, int numSamplesPerBlock)
 
void audioDeviceStopped ()
 
void audioDeviceAboutToStart (juce::AudioIODevice *device)
 

Protected Member Functions

void paint (juce::Graphics &g)
 

Private Member Functions

void buildImage (void)
 
virtual void timerCallback ()
 

Private Attributes

juce::Image * m_img
 
float m_value
 
float m_skew
 
float m_threshold
 
int m_meterType
 
int m_segments
 
int m_markerWidth
 
int m_inset
 
unsigned m_channel
 
bool m_raised
 
juce::Colour m_minColour
 
juce::Colour m_thresholdColour
 
juce::Colour m_maxColour
 
juce::Colour m_backgroundColour
 
int m_decayTime
 
float m_decayPercent
 
float m_decayToValue
 
int m_hold
 
int m_monostable
 
juce::Image * m_background
 
juce::Image * m_overlay
 
float m_minPosition
 
float m_maxPosition
 
juce::Point< int > m_needleCenter
 
int m_needleLength
 
int m_needleWidth
 
int m_arrowLength
 
int m_arrowWidth
 
juce::Colour m_needleColour
 
int m_needleDropShadow
 
int m_dropDistance
 
float m_scale = 1.0f
 

Detailed Description

Definition at line 123 of file JCSL_Widgets.h.

Member Enumeration Documentation

anonymous enum
Enumerator
Vertical 

The type of meters to use.

Horizontal 
Analog 

Definition at line 128 of file JCSL_Widgets.h.

anonymous enum
Enumerator
None 

Needle drop shadow type

Left 
Right 
Above 
Below 

Definition at line 134 of file JCSL_Widgets.h.

Constructor & Destructor Documentation

VUMeter::VUMeter ( )

Definition at line 384 of file JCSL_Widgets.cpp.

References m_decayTime.

VUMeter::VUMeter ( int  channel,
int  type,
int  segments = 0,
int  markerWidth = 2,
const juce::Colour &  minColour = juce::Colours::green,
const juce::Colour &  thresholdColour = juce::Colours::yellow,
const juce::Colour &  maxColour = juce::Colours::red,
const juce::Colour &  back = juce::Colours::black,
float  threshold = 0.707f 
)

Definition at line 414 of file JCSL_Widgets.cpp.

References Analog, m_decayTime, m_meterType, and m_segments.

VUMeter::VUMeter ( int  channel,
juce::Image *  background,
juce::Image *  overlay,
float  minPosition,
float  maxPosition,
juce::Point< int > &  needleCenter,
int  needleLength,
int  needleWidth = 2,
int  arrowLength = 4,
int  arrowWidth = 4,
const juce::Colour &  needleColour = juce::Colours::black,
int  needleDropShadow = None,
int  dropDistance = 0 
)

Definition at line 456 of file JCSL_Widgets.cpp.

References m_background, m_decayTime, m_needleCenter, m_needleColour, and m_overlay.

VUMeter::~VUMeter ( )

Definition at line 508 of file JCSL_Widgets.cpp.

References m_background, m_img, and m_overlay.

Member Function Documentation

void VUMeter::setBounds ( int  x,
int  y,
int  width,
int  height 
)

Definition at line 619 of file JCSL_Widgets.cpp.

References buildImage().

Referenced by CSLSignalComponent::resized().

void VUMeter::setFrame ( int  inset,
bool  raised = false 
)

Definition at line 624 of file JCSL_Widgets.cpp.

References buildImage(), m_inset, and m_raised.

void VUMeter::setColours ( juce::Colour &  min,
juce::Colour &  threshold,
juce::Colour &  max,
juce::Colour &  back 
)
void VUMeter::setDecay ( int  decay,
int  hold,
float  percent = 0.707f 
)

Definition at line 659 of file JCSL_Widgets.cpp.

References m_decayPercent, m_decayTime, and m_hold.

void VUMeter::setChannel ( unsigned  channel)
inline

Definition at line 174 of file JCSL_Widgets.h.

References m_channel.

Referenced by CSLSignalComponent::CSLSignalComponent().

void VUMeter::setValue ( float  v)

Definition at line 638 of file JCSL_Widgets.cpp.

References csl_max, csl_min, m_decayTime, m_decayToValue, m_hold, m_monostable, m_skew, and m_value.

Referenced by audioDeviceIOCallback().

void VUMeter::setScale ( float  v)
inline

Definition at line 176 of file JCSL_Widgets.h.

References m_scale.

float VUMeter::getValue ( )
inline

Definition at line 177 of file JCSL_Widgets.h.

References m_value.

void VUMeter::setSkewFactor ( float  skew)
inline

Definition at line 178 of file JCSL_Widgets.h.

References m_skew.

void VUMeter::audioDeviceIOCallback ( const float **  inputChannelData,
int  totalNumInputChannels,
float **  outputChannelData,
int  totalNumOutputChannels,
int  numSamples 
)

Definition at line 793 of file JCSL_Widgets.cpp.

References m_channel, m_scale, and setValue().

Referenced by CSLSignalComponent::audioDeviceIOCallback().

void VUMeter::audioDeviceAboutToStart ( double  sampleRate,
int  numSamplesPerBlock 
)
inline

Definition at line 182 of file JCSL_Widgets.h.

void VUMeter::audioDeviceStopped ( )
inline

Definition at line 183 of file JCSL_Widgets.h.

void VUMeter::audioDeviceAboutToStart ( juce::AudioIODevice *  device)
inline

Definition at line 184 of file JCSL_Widgets.h.

void VUMeter::timerCallback ( )
privatevirtual

Definition at line 670 of file JCSL_Widgets.cpp.

References m_decayPercent, m_decayToValue, m_monostable, and m_value.

Member Data Documentation

juce::Image* VUMeter::m_img
private

Definition at line 192 of file JCSL_Widgets.h.

Referenced by buildImage(), paint(), and ~VUMeter().

float VUMeter::m_value
private

Definition at line 193 of file JCSL_Widgets.h.

Referenced by getValue(), paint(), setValue(), and timerCallback().

float VUMeter::m_skew
private

Definition at line 194 of file JCSL_Widgets.h.

Referenced by setSkewFactor(), and setValue().

float VUMeter::m_threshold
private

Definition at line 195 of file JCSL_Widgets.h.

Referenced by buildImage().

int VUMeter::m_meterType
private

Definition at line 196 of file JCSL_Widgets.h.

Referenced by buildImage(), paint(), and VUMeter().

int VUMeter::m_segments
private

Definition at line 197 of file JCSL_Widgets.h.

Referenced by buildImage(), paint(), and VUMeter().

int VUMeter::m_markerWidth
private

Definition at line 198 of file JCSL_Widgets.h.

Referenced by buildImage().

int VUMeter::m_inset
private

Definition at line 199 of file JCSL_Widgets.h.

Referenced by buildImage(), paint(), and setFrame().

unsigned VUMeter::m_channel
private

Definition at line 200 of file JCSL_Widgets.h.

Referenced by audioDeviceIOCallback(), and setChannel().

bool VUMeter::m_raised
private

Definition at line 201 of file JCSL_Widgets.h.

Referenced by paint(), and setFrame().

juce::Colour VUMeter::m_minColour
private

Definition at line 202 of file JCSL_Widgets.h.

Referenced by buildImage(), and setColours().

juce::Colour VUMeter::m_thresholdColour
private

Definition at line 203 of file JCSL_Widgets.h.

Referenced by buildImage(), and setColours().

juce::Colour VUMeter::m_maxColour
private

Definition at line 204 of file JCSL_Widgets.h.

Referenced by buildImage(), and setColours().

juce::Colour VUMeter::m_backgroundColour
private

Definition at line 205 of file JCSL_Widgets.h.

Referenced by buildImage(), paint(), and setColours().

int VUMeter::m_decayTime
private

Definition at line 206 of file JCSL_Widgets.h.

Referenced by setDecay(), setValue(), and VUMeter().

float VUMeter::m_decayPercent
private

Definition at line 207 of file JCSL_Widgets.h.

Referenced by setDecay(), and timerCallback().

float VUMeter::m_decayToValue
private

Definition at line 208 of file JCSL_Widgets.h.

Referenced by setValue(), and timerCallback().

int VUMeter::m_hold
private

Definition at line 209 of file JCSL_Widgets.h.

Referenced by setDecay(), and setValue().

int VUMeter::m_monostable
private

Definition at line 210 of file JCSL_Widgets.h.

Referenced by setValue(), and timerCallback().

juce::Image* VUMeter::m_background
private

Definition at line 211 of file JCSL_Widgets.h.

Referenced by buildImage(), paint(), VUMeter(), and ~VUMeter().

juce::Image* VUMeter::m_overlay
private

Definition at line 212 of file JCSL_Widgets.h.

Referenced by buildImage(), paint(), VUMeter(), and ~VUMeter().

float VUMeter::m_minPosition
private

Definition at line 213 of file JCSL_Widgets.h.

Referenced by buildImage(), and paint().

float VUMeter::m_maxPosition
private

Definition at line 214 of file JCSL_Widgets.h.

Referenced by buildImage(), and paint().

juce::Point<int> VUMeter::m_needleCenter
private

Definition at line 215 of file JCSL_Widgets.h.

Referenced by VUMeter().

int VUMeter::m_needleLength
private

Definition at line 216 of file JCSL_Widgets.h.

Referenced by buildImage(), and paint().

int VUMeter::m_needleWidth
private

Definition at line 217 of file JCSL_Widgets.h.

int VUMeter::m_arrowLength
private

Definition at line 218 of file JCSL_Widgets.h.

int VUMeter::m_arrowWidth
private

Definition at line 219 of file JCSL_Widgets.h.

juce::Colour VUMeter::m_needleColour
private

Definition at line 220 of file JCSL_Widgets.h.

Referenced by paint(), and VUMeter().

int VUMeter::m_needleDropShadow
private

Definition at line 221 of file JCSL_Widgets.h.

Referenced by paint().

int VUMeter::m_dropDistance
private

Definition at line 222 of file JCSL_Widgets.h.

Referenced by paint().

float VUMeter::m_scale = 1.0f
private

Definition at line 223 of file JCSL_Widgets.h.

Referenced by audioDeviceIOCallback(), and setScale().


The documentation for this class was generated from the following files: