Gin
Loading...
Searching...
No Matches
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

References Up.


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