Gin
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
TriggeredScope Class Reference

Triggered Scope that it can be set to start on a rising or falling signal. More...

#include <gin_triggeredscope.h>

Inherits juce::Component, and juce::Timer.

Public Types

enum  ColourIds { lineColourId = 0x1231e10 , backgroundColourId = 0x1231e11 , traceColourId = 0x1231e12 , envelopeColourId = 0x1231f13 }
 
enum  TriggerMode { None = 0 , Up , Down , Auto }
 The enum to use when setting the trace trigger mode. More...
 

Public Member Functions

 TriggeredScope (AudioFifo &)
 Creates a Triggered scope.
 
 ~TriggeredScope () override
 Destructor.
 
void setNumChannels (int num)
 
void setNumSamplesPerPixel (float newNumSamplesPerPixel)
 Sets the number of samples represented by each pixel on the scope.
 
void setVerticalZoomFactor (float newVerticalZoomFactor)
 Sets the vertical zoom factor of the display.
 
void setVerticalZoomOffset (float newVerticalZoomOffset, int ch)
 Sets the vertical zoom offset of the display.
 
void setSingleTrigger (bool singleTrigger_)
 Enable single trigger mode - will pause when trigger is found.
 
bool hasTriggered () const
 Check if single trigger mode has triggered (and is now paused)
 
void setPaused (bool shouldBePaused)
 Pause/unpause the scope display.
 
void setPaused (bool shouldBePaused, int lockTriggerPoint)
 
void resetTrigger ()
 Reset/unpause after single trigger.
 
bool isPaused () const
 Check if scope is paused.
 
void setTriggerMode (TriggerMode newTriggerMode)
 Sets the type of change that will trigger a trace.
 
void setTriggerChannel (int ch)
 Set channel to trigger on, -1 ave of all channels.
 
void setTriggerLevel (float l)
 Set level to trigger on.
 
void setTriggerPos (float l)
 
void setDrawTriggerPos (bool d)
 
void setDrawCursorInfo (bool d)
 Enable/disable cursor readout showing level and time at mouse position.
 
void setSampleRate (double sr)
 Set sample rate for time display.
 
void setBeatSync (int beats)
 Set beat sync mode - 0 = off, otherwise number of beats to sync to.
 
void setPlayheadSource (std::function< std::tuple< double, double, bool >()> source)
 Set a function to retrieve playhead info - called from timer.
 
void updatePlayhead (double ppqPosition, double bpm, bool isPlaying)
 Call this from processBlock to update playhead position.
 
void paint (juce::Graphics &g) override
 
void timerCallback () override
 
void mouseMove (const juce::MouseEvent &e) override
 
void mouseDown (const juce::MouseEvent &e) override
 
void mouseDrag (const juce::MouseEvent &e) override
 
void mouseUp (const juce::MouseEvent &e) override
 
void mouseExit (const juce::MouseEvent &e) override
 

Detailed Description

Triggered Scope that it can be set to start on a rising or falling signal.

This makes it extremely useful for very zoomed-in waveform viewing.

Member Enumeration Documentation

◆ ColourIds

Enumerator
lineColourId 
backgroundColourId 
traceColourId 
envelopeColourId 

◆ TriggerMode

The enum to use when setting the trace trigger mode.

Enumerator
None 
Up 
Down 
Auto 

Constructor & Destructor Documentation

◆ TriggeredScope()

TriggeredScope::TriggeredScope ( AudioFifo )

Creates a Triggered scope.

Pass a fifo to read from

◆ ~TriggeredScope()

TriggeredScope::~TriggeredScope ( )
override

Destructor.

Member Function Documentation

◆ setNumChannels()

void TriggeredScope::setNumChannels ( int  num)

◆ setNumSamplesPerPixel()

void TriggeredScope::setNumSamplesPerPixel ( float  newNumSamplesPerPixel)

Sets the number of samples represented by each pixel on the scope.

Setting this to a low number will give a very zoomed in display, a high number zoom out.

◆ setVerticalZoomFactor()

void TriggeredScope::setVerticalZoomFactor ( float  newVerticalZoomFactor)

Sets the vertical zoom factor of the display.

◆ setVerticalZoomOffset()

void TriggeredScope::setVerticalZoomOffset ( float  newVerticalZoomOffset,
int  ch 
)

Sets the vertical zoom offset of the display.

◆ setSingleTrigger()

void TriggeredScope::setSingleTrigger ( bool  singleTrigger_)

Enable single trigger mode - will pause when trigger is found.

◆ hasTriggered()

bool TriggeredScope::hasTriggered ( ) const

Check if single trigger mode has triggered (and is now paused)

◆ setPaused() [1/2]

void TriggeredScope::setPaused ( bool  shouldBePaused)

Pause/unpause the scope display.

◆ setPaused() [2/2]

void TriggeredScope::setPaused ( bool  shouldBePaused,
int  lockTriggerPoint 
)

◆ resetTrigger()

void TriggeredScope::resetTrigger ( )

Reset/unpause after single trigger.

◆ isPaused()

bool TriggeredScope::isPaused ( ) const

Check if scope is paused.

◆ setTriggerMode()

void TriggeredScope::setTriggerMode ( TriggerMode  newTriggerMode)

Sets the type of change that will trigger a trace.

◆ setTriggerChannel()

void TriggeredScope::setTriggerChannel ( int  ch)

Set channel to trigger on, -1 ave of all channels.

◆ setTriggerLevel()

void TriggeredScope::setTriggerLevel ( float  l)

Set level to trigger on.

◆ setTriggerPos()

void TriggeredScope::setTriggerPos ( float  l)

◆ setDrawTriggerPos()

void TriggeredScope::setDrawTriggerPos ( bool  d)

◆ setDrawCursorInfo()

void TriggeredScope::setDrawCursorInfo ( bool  d)

Enable/disable cursor readout showing level and time at mouse position.

◆ setSampleRate()

void TriggeredScope::setSampleRate ( double  sr)

Set sample rate for time display.

◆ setBeatSync()

void TriggeredScope::setBeatSync ( int  beats)

Set beat sync mode - 0 = off, otherwise number of beats to sync to.

◆ setPlayheadSource()

void TriggeredScope::setPlayheadSource ( std::function< std::tuple< double, double, bool >()>  source)

Set a function to retrieve playhead info - called from timer.

◆ updatePlayhead()

void TriggeredScope::updatePlayhead ( double  ppqPosition,
double  bpm,
bool  isPlaying 
)

Call this from processBlock to update playhead position.

◆ paint()

void TriggeredScope::paint ( juce::Graphics &  g)
override

◆ timerCallback()

void TriggeredScope::timerCallback ( )
override

◆ mouseMove()

void TriggeredScope::mouseMove ( const juce::MouseEvent &  e)
override

◆ mouseDown()

void TriggeredScope::mouseDown ( const juce::MouseEvent &  e)
override

◆ mouseDrag()

void TriggeredScope::mouseDrag ( const juce::MouseEvent &  e)
override

◆ mouseUp()

void TriggeredScope::mouseUp ( const juce::MouseEvent &  e)
override

◆ mouseExit()

void TriggeredScope::mouseExit ( const juce::MouseEvent &  e)
override

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