tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
tracktion::engine::WaveInputDevice Class Reference

A (virtual) audio input device. More...

#include "tracktion_WaveInputDevice.h"

Inheritance diagram for tracktion::engine::WaveInputDevice:
tracktion::engine::InputDevice tracktion::engine::Selectable

Public Member Functions

 WaveInputDevice (Engine &, const juce::String &type, const WaveDeviceDescription &, DeviceType)
 
juce::StringArray getRecordFormatNames ()
 
void resetToDefault ()
 
void setEnabled (bool) override
 
DeviceType getDeviceType () const override
 
InputDeviceInstancecreateInstance (EditPlaybackContext &) override
 Creates an instance to use for a given playback context.
 
void setRecordAdjustmentMs (double ms)
 
double getRecordAdjustmentMs () const
 
bool isStereoPair () const
 
void setStereoPair (bool)
 
juce::Array< intgetAvailableBitDepths () 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::AudioChannelSetgetChannelSet () 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)
 
RetrospectiveRecordBuffergetRetrospectiveRecordBuffer ()
 
void updateRetrospectiveBufferLength (double length) override
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are.
 
- Public Member Functions inherited from tracktion::engine::InputDevice
 InputDevice (Engine &, juce::String type, juce::String name, juce::String deviceID)
 
const juce::StringgetName () const
 
const juce::StringgetType () 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)
 
- Public Member Functions inherited from tracktion::engine::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 Public Member Functions inherited from tracktion::engine::InputDevice
static void setRetrospectiveLock (Engine &, const juce::Array< InputDeviceInstance * > &, bool lock)
 
- Static Public Member Functions inherited from tracktion::engine::Selectable
static void initialise ()
 
static bool isSelectableValid (const Selectable *) noexcept
 checks whether this object has been deleted.
 

Protected Member Functions

juce::String openDevice ()
 
void closeDevice ()
 

Friends

class DeviceManager
 
class WaveInputDeviceInstance
 

Additional Inherited Members

- Public Types inherited from tracktion::engine::InputDevice
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...
 
- Public Types inherited from tracktion::engine::Selectable
using WeakRef = juce::WeakReference< Selectable >
 
- Public Attributes inherited from tracktion::engine::InputDevice
Engineengine
 
LevelMeasurer levelMeasurer
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 
- Protected Attributes inherited from tracktion::engine::InputDevice
std::atomic< bool > enabled
 
MonitorMode monitorMode
 
MonitorMode defaultMonitorMode
 
bool retrospectiveRecordLock
 

Detailed Description

A (virtual) audio input device.

There'll be multiple instances of these, representing mono or stereo pairs of input channels.

Definition at line 19 of file tracktion_WaveInputDevice.h.

Constructor & Destructor Documentation

◆ WaveInputDevice()

tracktion::engine::WaveInputDevice::WaveInputDevice ( Engine e,
const juce::String type,
const WaveDeviceDescription desc,
DeviceType  t 
)

Definition at line 1298 of file tracktion_WaveInputDevice.cpp.

◆ ~WaveInputDevice()

tracktion::engine::WaveInputDevice::~WaveInputDevice ( )
override

Definition at line 1309 of file tracktion_WaveInputDevice.cpp.

Member Function Documentation

◆ checkBitDepth()

void tracktion::engine::WaveInputDevice::checkBitDepth ( )

Definition at line 1530 of file tracktion_WaveInputDevice.cpp.

◆ closeDevice()

void tracktion::engine::WaveInputDevice::closeDevice ( )
protected

Definition at line 1377 of file tracktion_WaveInputDevice.cpp.

◆ consumeNextAudioBlock()

void tracktion::engine::WaveInputDevice::consumeNextAudioBlock ( const float *const *  allChannels,
int  numChannels,
int  numSamples,
double  streamTime 
)

Definition at line 1596 of file tracktion_WaveInputDevice.cpp.

◆ createInstance()

InputDeviceInstance * tracktion::engine::WaveInputDevice::createInstance ( EditPlaybackContext )
overridevirtual

Creates an instance to use for a given playback context.

Implements tracktion::engine::InputDevice.

Definition at line 1337 of file tracktion_WaveInputDevice.cpp.

◆ getAvailableBitDepths()

juce::Array< int > tracktion::engine::WaveInputDevice::getAvailableBitDepths ( ) const

Definition at line 1536 of file tracktion_WaveInputDevice.cpp.

◆ getBitDepth()

int tracktion::engine::WaveInputDevice::getBitDepth ( ) const

Definition at line 42 of file tracktion_WaveInputDevice.h.

◆ getChannels()

const std::vector< ChannelIndex > & tracktion::engine::WaveInputDevice::getChannels ( ) const
noexcept

Definition at line 58 of file tracktion_WaveInputDevice.h.

◆ getChannelSet()

const juce::AudioChannelSet & tracktion::engine::WaveInputDevice::getChannelSet ( ) const
noexcept

Definition at line 59 of file tracktion_WaveInputDevice.h.

◆ getDefaultMask()

juce::String tracktion::engine::WaveInputDevice::getDefaultMask ( )
static

Definition at line 1494 of file tracktion_WaveInputDevice.cpp.

◆ getDeviceType()

DeviceType tracktion::engine::WaveInputDevice::getDeviceType ( ) const
overridevirtual

Implements tracktion::engine::InputDevice.

Definition at line 32 of file tracktion_WaveInputDevice.h.

◆ getFilenameMask()

juce::String tracktion::engine::WaveInputDevice::getFilenameMask ( ) const

Definition at line 49 of file tracktion_WaveInputDevice.h.

◆ getInputGainDb()

float tracktion::engine::WaveInputDevice::getInputGainDb ( ) const

Definition at line 45 of file tracktion_WaveInputDevice.h.

◆ getMergeMode()

juce::String tracktion::engine::WaveInputDevice::getMergeMode ( ) const

Definition at line 1557 of file tracktion_WaveInputDevice.cpp.

◆ getMergeModes()

juce::StringArray tracktion::engine::WaveInputDevice::getMergeModes ( )
static

Definition at line 1315 of file tracktion_WaveInputDevice.cpp.

◆ getOutputFormat()

juce::String tracktion::engine::WaveInputDevice::getOutputFormat ( ) const

Definition at line 54 of file tracktion_WaveInputDevice.h.

◆ getRecordAdjustmentMs()

double tracktion::engine::WaveInputDevice::getRecordAdjustmentMs ( ) const

Definition at line 37 of file tracktion_WaveInputDevice.h.

◆ getRecordFormatNames()

juce::StringArray tracktion::engine::WaveInputDevice::getRecordFormatNames ( )

Definition at line 1325 of file tracktion_WaveInputDevice.cpp.

◆ getRecordTriggerDb()

float tracktion::engine::WaveInputDevice::getRecordTriggerDb ( ) const

Definition at line 47 of file tracktion_WaveInputDevice.h.

◆ getRetrospectiveRecordBuffer()

RetrospectiveRecordBuffer * tracktion::engine::WaveInputDevice::getRetrospectiveRecordBuffer ( )

Definition at line 65 of file tracktion_WaveInputDevice.h.

◆ getSelectableDescription()

juce::String tracktion::engine::WaveInputDevice::getSelectableDescription ( )
overridevirtual

Subclasses must return a description of what they are.

Reimplemented from tracktion::engine::InputDevice.

Definition at line 1438 of file tracktion_WaveInputDevice.cpp.

◆ isStereoPair()

bool tracktion::engine::WaveInputDevice::isStereoPair ( ) const

Definition at line 1446 of file tracktion_WaveInputDevice.cpp.

◆ masterTimeUpdate()

void tracktion::engine::WaveInputDevice::masterTimeUpdate ( double  time)
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.

Definition at line 62 of file tracktion_WaveInputDevice.h.

◆ openDevice()

juce::String tracktion::engine::WaveInputDevice::openDevice ( )
protected

Definition at line 1372 of file tracktion_WaveInputDevice.cpp.

◆ resetToDefault()

void tracktion::engine::WaveInputDevice::resetToDefault ( )

Definition at line 1345 of file tracktion_WaveInputDevice.cpp.

◆ setBitDepth()

void tracktion::engine::WaveInputDevice::setBitDepth ( int  newDepth)

Definition at line 1520 of file tracktion_WaveInputDevice.cpp.

◆ setEnabled()

void tracktion::engine::WaveInputDevice::setEnabled ( bool  b)
overridevirtual

Implements tracktion::engine::InputDevice.

Definition at line 1352 of file tracktion_WaveInputDevice.cpp.

◆ setFilenameMask()

void tracktion::engine::WaveInputDevice::setFilenameMask ( const juce::String newMask)

Definition at line 1503 of file tracktion_WaveInputDevice.cpp.

◆ setFilenameMaskToDefault()

void tracktion::engine::WaveInputDevice::setFilenameMaskToDefault ( )

Definition at line 1514 of file tracktion_WaveInputDevice.cpp.

◆ setInputGainDb()

void tracktion::engine::WaveInputDevice::setInputGainDb ( float  gain)

Definition at line 1474 of file tracktion_WaveInputDevice.cpp.

◆ setMergeMode()

void tracktion::engine::WaveInputDevice::setMergeMode ( const juce::String newMode)

Definition at line 1562 of file tracktion_WaveInputDevice.cpp.

◆ setOutputFormat()

void tracktion::engine::WaveInputDevice::setOutputFormat ( const juce::String newFormat)

Definition at line 1546 of file tracktion_WaveInputDevice.cpp.

◆ setRecordAdjustmentMs()

void tracktion::engine::WaveInputDevice::setRecordAdjustmentMs ( double  ms)

Definition at line 1467 of file tracktion_WaveInputDevice.cpp.

◆ setRecordTriggerDb()

void tracktion::engine::WaveInputDevice::setRecordTriggerDb ( float  newDB)

Definition at line 1484 of file tracktion_WaveInputDevice.cpp.

◆ setStereoPair()

void tracktion::engine::WaveInputDevice::setStereoPair ( bool  stereo)

Definition at line 1451 of file tracktion_WaveInputDevice.cpp.

◆ updateRetrospectiveBufferLength()

void tracktion::engine::WaveInputDevice::updateRetrospectiveBufferLength ( double  length)
overridevirtual

Implements tracktion::engine::InputDevice.

Definition at line 1615 of file tracktion_WaveInputDevice.cpp.

Friends And Related Symbol Documentation

◆ DeviceManager

friend class DeviceManager
friend

Definition at line 76 of file tracktion_WaveInputDevice.h.

◆ WaveInputDeviceInstance

friend class WaveInputDeviceInstance
friend

Definition at line 77 of file tracktion_WaveInputDevice.h.


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