Loading...
Searching...
No Matches
juce::Thread::RealtimeOptions Struct Reference

Detailed Description

A selection of options available when creating realtime threads.

See also
startRealtimeThread

Public Member Functions

RealtimeOptions withPriority (int newPriority) const
 A value with a range of 0-10, where 10 is the highest priority.
RealtimeOptions withProcessingTimeMs (double newProcessingTimeMs) const
 Specify the expected amount of processing time required each time the thread wakes up.
RealtimeOptions withMaximumProcessingTimeMs (double newMaximumProcessingTimeMs) const
 Specify the maximum amount of processing time required each time the thread wakes up.
RealtimeOptions withApproximateAudioProcessingTime (int samplesPerFrame, double sampleRate) const
 Specify the maximum amount of processing time required each time the thread wakes up.
RealtimeOptions withPeriodMs (double newPeriodMs) const
 Specify the approximate amount of time between each thread wake up.
RealtimeOptions withPeriodHz (double newPeriodHz) const
 Specify the approximate frequency at which the thread will be woken up.
int getPriority () const
 Returns a value with a range of 0-10, where 10 is the highest priority.
std::optional< double > getProcessingTimeMs () const
 Returns the expected amount of processing time required each time the thread wakes up.
std::optional< double > getMaximumProcessingTimeMs () const
 Returns the maximum amount of processing time required each time the thread wakes up.
std::optional< double > getPeriodMs () const
 Returns the approximate amount of time between each thread wake up, or nullopt if there is no inherent periodicity.

Member Functions

◆ withPriority()

RealtimeOptions juce::Thread::RealtimeOptions::withPriority ( int newPriority) const
nodiscard

A value with a range of 0-10, where 10 is the highest priority.

Currently only used by Posix platforms.

See also
getPriority

References juce::isPositiveAndNotGreaterThan(), juce::jlimit(), and juce::withMember().

◆ withProcessingTimeMs()

RealtimeOptions juce::Thread::RealtimeOptions::withProcessingTimeMs ( double newProcessingTimeMs) const
nodiscard

Specify the expected amount of processing time required each time the thread wakes up.

Only used by macOS/iOS.

See also
getProcessingTimeMs, withMaximumProcessingTimeMs, withPeriodMs, withPeriodHz

References juce::withMember().

◆ withMaximumProcessingTimeMs()

RealtimeOptions juce::Thread::RealtimeOptions::withMaximumProcessingTimeMs ( double newMaximumProcessingTimeMs) const
nodiscard

Specify the maximum amount of processing time required each time the thread wakes up.

Only used by macOS/iOS.

See also
getMaximumProcessingTimeMs, withProcessingTimeMs, withPeriodMs, withPeriodHz

References juce::withMember().

Referenced by withApproximateAudioProcessingTime().

◆ withApproximateAudioProcessingTime()

RealtimeOptions juce::Thread::RealtimeOptions::withApproximateAudioProcessingTime ( int samplesPerFrame,
double sampleRate ) const
nodiscard

Specify the maximum amount of processing time required each time the thread wakes up.

This is identical to 'withMaximumProcessingTimeMs' except it calculates the processing time from a sample rate and block size. This is useful if you want to run this thread in parallel to an audio device thread.

Only used by macOS/iOS.

See also
withMaximumProcessingTimeMs, AudioWorkgroup, ScopedWorkgroupToken

References withMaximumProcessingTimeMs().

◆ withPeriodMs()

RealtimeOptions juce::Thread::RealtimeOptions::withPeriodMs ( double newPeriodMs) const
nodiscard

Specify the approximate amount of time between each thread wake up.

Alternatively call withPeriodHz().

Only used by macOS/iOS.

See also
getPeriodMs, withPeriodHz, withProcessingTimeMs, withMaximumProcessingTimeMs,

References juce::withMember().

Referenced by withPeriodHz().

◆ withPeriodHz()

RealtimeOptions juce::Thread::RealtimeOptions::withPeriodHz ( double newPeriodHz) const
nodiscard

Specify the approximate frequency at which the thread will be woken up.

Alternatively call withPeriodMs().

Only used by macOS/iOS.

See also
getPeriodHz, withPeriodMs, withProcessingTimeMs, withMaximumProcessingTimeMs,

References withPeriodMs().

◆ getPriority()

int juce::Thread::RealtimeOptions::getPriority ( ) const
nodiscard

Returns a value with a range of 0-10, where 10 is the highest priority.

See also
withPriority

◆ getProcessingTimeMs()

std::optional< double > juce::Thread::RealtimeOptions::getProcessingTimeMs ( ) const
nodiscard

Returns the expected amount of processing time required each time the thread wakes up.

See also
withProcessingTimeMs, getMaximumProcessingTimeMs, getPeriodMs

◆ getMaximumProcessingTimeMs()

std::optional< double > juce::Thread::RealtimeOptions::getMaximumProcessingTimeMs ( ) const
nodiscard

Returns the maximum amount of processing time required each time the thread wakes up.

See also
withMaximumProcessingTimeMs, getProcessingTimeMs, getPeriodMs

◆ getPeriodMs()

std::optional< double > juce::Thread::RealtimeOptions::getPeriodMs ( ) const
nodiscard

Returns the approximate amount of time between each thread wake up, or nullopt if there is no inherent periodicity.

See also
withPeriodMs, withPeriodHz, getProcessingTimeMs, getMaximumProcessingTimeMs
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram