TracktionEngine
|
A (virtual) audio input device. More...
#include <tracktion_WaveInputDevice.h>
Public Member Functions | |
WaveInputDevice (Engine &, const juce::String &type, const WaveDeviceDescription &, DeviceType) | |
~WaveInputDevice () override | |
juce::StringArray | getRecordFormatNames () |
void | resetToDefault () |
void | setEnabled (bool) override |
DeviceType | getDeviceType () const override |
InputDeviceInstance * | createInstance (EditPlaybackContext &) override |
Creates an instance to use for a given playback context. | |
void | setRecordAdjustment (TimeDuration) |
TimeDuration | getRecordAdjustment () const |
void | setRecordAdjustmentMs (double ms) |
double | getRecordAdjustmentMs () const |
bool | isStereoPair () const |
void | setStereoPair (bool) |
juce::Array< int > | getAvailableBitDepths () const |
void | setBitDepth (int) |
int | getBitDepth () const |
void | checkBitDepth () |
void | setInputGainDb (float gain) |
float | getInputGainDb () const |
void | setRecordTriggerDb (float) |
float | getRecordTriggerDb () const |
void | setFilenameMask (const juce::String &) |
juce::String | getFilenameMask () const |
void | setFilenameMaskToDefault () |
void | setOutputFormat (const juce::String &) |
juce::String | getOutputFormat () const |
void | setMergeMode (const juce::String &) |
juce::String | getMergeMode () const |
const std::vector< ChannelIndex > & | getChannels () const noexcept |
const juce::AudioChannelSet & | getChannelSet () const noexcept |
void | masterTimeUpdate (double) override |
This is a bit of a hack but allows the time for MIDI devices to be set through the base class interface. | |
void | consumeNextAudioBlock (const float *const *allChannels, int numChannels, int numSamples, double streamTime) |
RetrospectiveRecordBuffer * | getRetrospectiveRecordBuffer () |
void | updateRetrospectiveBufferLength (double length) override |
juce::String | getSelectableDescription () override |
Subclasses must return a description of what they are. | |
![]() | |
InputDevice (Engine &, juce::String type, juce::String name, juce::String deviceID) | |
~InputDevice () override | |
const juce::String & | getName () const |
const juce::String & | getType () const |
juce::String | getDeviceID () const |
bool | isTrackDevice () const |
juce::String | getAlias () const |
the alias is the name shown in the draggable input device components | |
void | setAlias (const juce::String &newAlias) |
virtual bool | isAvailableToEdit () const |
bool | isEnabled () const |
virtual bool | isMidi () const |
MonitorMode | getMonitorMode () const |
void | setMonitorMode (MonitorMode) |
![]() | |
Selectable () | |
virtual | ~Selectable () |
virtual void | selectionStatusChanged (bool isNowSelected) |
Can be overridden to tell this object that it has just been selected or deselected. | |
virtual void | changed () |
This should be called to send a change notification to any SelectableListeners that are registered with this object. | |
virtual void | selectableAboutToBeDeleted () |
Called just before the selectable is about to be deleted so any subclasses should still be valid at this point. | |
void | addListener (SelectableListener *) |
void | removeListener (SelectableListener *) |
void | addSelectableListener (SelectableListener *) |
void | removeSelectableListener (SelectableListener *) |
void | cancelAnyPendingUpdates () |
If changed() has been called, this will cancel any pending async change notificaions. | |
void | deselect () |
void | propertiesChanged () |
void | notifyListenersOfDeletion () |
WeakRef | getWeakRef () |
Static Public Member Functions | |
static juce::StringArray | getMergeModes () |
static juce::String | getDefaultMask () |
![]() | |
static void | setRetrospectiveLock (Engine &, const juce::Array< InputDeviceInstance * > &, bool lock) |
![]() | |
static void | initialise () |
static bool | isSelectableValid (const Selectable *) noexcept |
checks whether this object has been deleted. | |
Protected Member Functions | |
juce::String | openDevice () |
void | closeDevice () |
Additional Inherited Members | |
![]() | |
enum | DeviceType { waveDevice , trackWaveDevice , physicalMidiDevice , virtualMidiDevice , trackMidiDevice } |
enum to allow quick querying of the device type. More... | |
enum class | MonitorMode { off , automatic , on } |
Enum to describe monitor modes. More... | |
![]() | |
using | WeakRef = juce::WeakReference< Selectable > |
![]() | |
Engine & | engine |
LevelMeasurer | levelMeasurer |
![]() | |
WeakRef::Master | masterReference |
![]() | |
std::atomic< bool > | enabled { false } |
MonitorMode | monitorMode = MonitorMode::automatic |
MonitorMode | defaultMonitorMode = MonitorMode::automatic |
bool | retrospectiveRecordLock = false |
A (virtual) audio input device.
There'll be multiple instances of these, representing mono or stereo pairs of input channels.
tracktion::engine::WaveInputDevice::WaveInputDevice | ( | Engine & | , |
const juce::String & | type, | ||
const WaveDeviceDescription & | , | ||
DeviceType | |||
) |
|
override |
|
static |
juce::StringArray tracktion::engine::WaveInputDevice::getRecordFormatNames | ( | ) |
void tracktion::engine::WaveInputDevice::resetToDefault | ( | ) |
|
overridevirtual |
Implements tracktion::engine::InputDevice.
|
overridevirtual |
Implements tracktion::engine::InputDevice.
|
overridevirtual |
Creates an instance to use for a given playback context.
Implements tracktion::engine::InputDevice.
void tracktion::engine::WaveInputDevice::setRecordAdjustment | ( | TimeDuration | ) |
TimeDuration tracktion::engine::WaveInputDevice::getRecordAdjustment | ( | ) | const |
void tracktion::engine::WaveInputDevice::setRecordAdjustmentMs | ( | double | ms | ) |
double tracktion::engine::WaveInputDevice::getRecordAdjustmentMs | ( | ) | const |
bool tracktion::engine::WaveInputDevice::isStereoPair | ( | ) | const |
void tracktion::engine::WaveInputDevice::setStereoPair | ( | bool | ) |
juce::Array< int > tracktion::engine::WaveInputDevice::getAvailableBitDepths | ( | ) | const |
void tracktion::engine::WaveInputDevice::setBitDepth | ( | int | ) |
int tracktion::engine::WaveInputDevice::getBitDepth | ( | ) | const |
void tracktion::engine::WaveInputDevice::checkBitDepth | ( | ) |
void tracktion::engine::WaveInputDevice::setInputGainDb | ( | float | gain | ) |
float tracktion::engine::WaveInputDevice::getInputGainDb | ( | ) | const |
void tracktion::engine::WaveInputDevice::setRecordTriggerDb | ( | float | ) |
float tracktion::engine::WaveInputDevice::getRecordTriggerDb | ( | ) | const |
void tracktion::engine::WaveInputDevice::setFilenameMask | ( | const juce::String & | ) |
juce::String tracktion::engine::WaveInputDevice::getFilenameMask | ( | ) | const |
void tracktion::engine::WaveInputDevice::setFilenameMaskToDefault | ( | ) |
|
static |
void tracktion::engine::WaveInputDevice::setOutputFormat | ( | const juce::String & | ) |
juce::String tracktion::engine::WaveInputDevice::getOutputFormat | ( | ) | const |
void tracktion::engine::WaveInputDevice::setMergeMode | ( | const juce::String & | ) |
juce::String tracktion::engine::WaveInputDevice::getMergeMode | ( | ) | const |
|
noexcept |
|
noexcept |
|
overridevirtual |
This is a bit of a hack but allows the time for MIDI devices to be set through the base class interface.
Implements tracktion::engine::InputDevice.
void tracktion::engine::WaveInputDevice::consumeNextAudioBlock | ( | const float *const * | allChannels, |
int | numChannels, | ||
int | numSamples, | ||
double | streamTime | ||
) |
RetrospectiveRecordBuffer * tracktion::engine::WaveInputDevice::getRetrospectiveRecordBuffer | ( | ) |
|
overridevirtual |
Implements tracktion::engine::InputDevice.
|
overridevirtual |
Subclasses must return a description of what they are.
Reimplemented from tracktion::engine::InputDevice.
|
protected |
|
protected |