An AudioIODeviceCallback object which streams audio through an AudioProcessor.
More...
#include <juce_AudioProcessorPlayer.h>
An AudioIODeviceCallback object which streams audio through an AudioProcessor.
To use one of these, just make it the callback used by your AudioIODevice, and give it a processor to use by calling setProcessor().
It's also a MidiInputCallback, so you can connect it to both an audio and midi input to send both streams through the processor. To set a MidiOutput for the processor, use the setMidiOutput() method.
- See also
- AudioProcessor, AudioProcessorGraph
@tags{Audio}
◆ AudioProcessorPlayer()
juce::AudioProcessorPlayer::AudioProcessorPlayer |
( |
bool |
doDoublePrecisionProcessing = false | ) |
|
◆ ~AudioProcessorPlayer()
juce::AudioProcessorPlayer::~AudioProcessorPlayer |
( |
| ) |
|
|
override |
◆ audioDeviceAboutToStart()
void juce::AudioProcessorPlayer::audioDeviceAboutToStart |
( |
AudioIODevice * |
| ) |
|
|
overridevirtual |
◆ audioDeviceError()
virtual void juce::AudioIODeviceCallback::audioDeviceError |
( |
const String & |
errorMessage | ) |
|
|
virtualinherited |
This can be overridden to be told if the device generates an error while operating.
Be aware that this could be called by any thread! And not all devices perform this callback.
Reimplemented in juce::SoundPlayer.
◆ audioDeviceIOCallback()
void juce::AudioProcessorPlayer::audioDeviceIOCallback |
( |
const float ** |
, |
|
|
int |
, |
|
|
float ** |
, |
|
|
int |
, |
|
|
int |
|
|
) |
| |
|
overridevirtual |
◆ audioDeviceStopped()
void juce::AudioProcessorPlayer::audioDeviceStopped |
( |
| ) |
|
|
overridevirtual |
◆ findMostSuitableLayout()
◆ getCurrentProcessor()
AudioProcessor* juce::AudioProcessorPlayer::getCurrentProcessor |
( |
| ) |
const |
|
inlinenoexcept |
Returns the current audio processor that is being played.
◆ getDoublePrecisionProcessing()
bool juce::AudioProcessorPlayer::getDoublePrecisionProcessing |
( |
| ) |
|
|
inline |
Returns true if this player processes internally processes the samples with double floating point precision.
◆ getMidiMessageCollector()
◆ handleIncomingMidiMessage()
◆ handlePartialSysexMessage()
virtual void juce::MidiInputCallback::handlePartialSysexMessage |
( |
MidiInput * |
source, |
|
|
const uint8 * |
messageData, |
|
|
int |
numBytesSoFar, |
|
|
double |
timestamp |
|
) |
| |
|
inlinevirtualinherited |
Notification sent each time a packet of a multi-packet sysex message arrives.
If a long sysex message is broken up into multiple packets, this callback is made for each packet that arrives until the message is finished, at which point the normal handleIncomingMidiMessage() callback will be made with the entire message.
The message passed in will contain the start of a sysex, but won't be finished with the terminating 0xf7 byte.
References juce::ignoreUnused(), and juce::gl::source.
◆ resizeChannels()
void juce::AudioProcessorPlayer::resizeChannels |
( |
| ) |
|
|
private |
◆ setDoublePrecisionProcessing()
void juce::AudioProcessorPlayer::setDoublePrecisionProcessing |
( |
bool |
doublePrecision | ) |
|
Switch between double and single floating point precisions processing.
The audio IO callbacks will still operate in single floating point precision, however, all internal processing including the AudioProcessor will be processed in double floating point precision if the AudioProcessor supports it (see AudioProcessor::supportsDoublePrecisionProcessing()). Otherwise, the processing will remain single precision irrespective of the parameter doublePrecision.
◆ setMidiOutput()
void juce::AudioProcessorPlayer::setMidiOutput |
( |
MidiOutput * |
midiOutputToUse | ) |
|
◆ setProcessor()
void juce::AudioProcessorPlayer::setProcessor |
( |
AudioProcessor * |
processorToPlay | ) |
|
◆ actualProcessorChannels
NumChannels juce::AudioProcessorPlayer::actualProcessorChannels |
|
private |
◆ blockSize
int juce::AudioProcessorPlayer::blockSize = 0 |
|
private |
◆ channels
std::vector<float*> juce::AudioProcessorPlayer::channels |
|
private |
◆ conversionBuffer
AudioBuffer<double> juce::AudioProcessorPlayer::conversionBuffer |
|
private |
◆ defaultProcessorChannels
NumChannels juce::AudioProcessorPlayer::defaultProcessorChannels |
|
private |
◆ deviceChannels
◆ incomingMidi
MidiBuffer juce::AudioProcessorPlayer::incomingMidi |
|
private |
◆ isDoublePrecision
bool juce::AudioProcessorPlayer::isDoublePrecision = false |
|
private |
◆ isPrepared
bool juce::AudioProcessorPlayer::isPrepared = false |
|
private |
◆ lock
◆ messageCollector
◆ midiOutput
MidiOutput* juce::AudioProcessorPlayer::midiOutput = nullptr |
|
private |
◆ processor
◆ sampleRate
double juce::AudioProcessorPlayer::sampleRate = 0 |
|
private |
◆ tempBuffer
The documentation for this class was generated from the following file: