Cinder  0.9.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cinder::audio::DeviceManager Class Referenceabstract

#include <Device.h>

Inherits cinder::Noncopyable.

Inherited by cinder::audio::cocoa::DeviceManagerAudioSession, cinder::audio::cocoa::DeviceManagerCoreAudio, and cinder::audio::msw::DeviceManagerWasapi.

Public Member Functions

virtual ~DeviceManager ()
 
virtual DeviceRef findDeviceByName (const std::string &name)
 
virtual DeviceRef findDeviceByKey (const std::string &key)
 
virtual const std::vector< DeviceRef > & getDevices ()=0
 
virtual DeviceRef getDefaultOutput ()=0
 
virtual DeviceRef getDefaultInput ()=0
 
virtual std::string getName (const DeviceRef &device)=0
 
virtual size_t getNumInputChannels (const DeviceRef &device)=0
 
virtual size_t getNumOutputChannels (const DeviceRef &device)=0
 
virtual size_t getSampleRate (const DeviceRef &device)=0
 
virtual size_t getFramesPerBlock (const DeviceRef &device)=0
 
virtual void setSampleRate (const DeviceRef &device, size_t sampleRate)=0
 
virtual void setFramesPerBlock (const DeviceRef &device, size_t framesPerBlock)=0
 
virtual bool isFormatUpdatedAsync () const
 

Protected Member Functions

 DeviceManager ()
 
DeviceRef addDevice (const std::string &key)
 
void emitParamsWillChange (const DeviceRef &device)
 
void emitParamsDidChange (const DeviceRef &device)
 

Protected Attributes

std::vector< DeviceRefmDevices
 

Detailed Description

Platform-specific Singleton for managing hardware devices. Applications normally should not need to use this, but instead should use the equivalent methods from Device.

Constructor & Destructor Documentation

virtual cinder::audio::DeviceManager::~DeviceManager ( )
virtual
cinder::audio::DeviceManager::DeviceManager ( )
protected

Member Function Documentation

DeviceRef cinder::audio::DeviceManager::findDeviceByName ( const std::string &  name)
virtual
DeviceRef cinder::audio::DeviceManager::findDeviceByKey ( const std::string &  key)
virtual
virtual const std::vector<DeviceRef>& cinder::audio::DeviceManager::getDevices ( )
pure virtual
virtual DeviceRef cinder::audio::DeviceManager::getDefaultOutput ( )
pure virtual
virtual DeviceRef cinder::audio::DeviceManager::getDefaultInput ( )
pure virtual
virtual std::string cinder::audio::DeviceManager::getName ( const DeviceRef device)
pure virtual
virtual size_t cinder::audio::DeviceManager::getNumInputChannels ( const DeviceRef device)
pure virtual
virtual size_t cinder::audio::DeviceManager::getNumOutputChannels ( const DeviceRef device)
pure virtual
virtual size_t cinder::audio::DeviceManager::getSampleRate ( const DeviceRef device)
pure virtual
virtual size_t cinder::audio::DeviceManager::getFramesPerBlock ( const DeviceRef device)
pure virtual
virtual void cinder::audio::DeviceManager::setSampleRate ( const DeviceRef device,
size_t  sampleRate 
)
pure virtual
virtual void cinder::audio::DeviceManager::setFramesPerBlock ( const DeviceRef device,
size_t  framesPerBlock 
)
pure virtual
virtual bool cinder::audio::DeviceManager::isFormatUpdatedAsync ( ) const
virtual

override if subclass needs to update params async, and will issue formatWillChange callbacks

Reimplemented in cinder::audio::cocoa::DeviceManagerCoreAudio.

DeviceRef cinder::audio::DeviceManager::addDevice ( const std::string &  key)
protected
void cinder::audio::DeviceManager::emitParamsWillChange ( const DeviceRef device)
protected
void cinder::audio::DeviceManager::emitParamsDidChange ( const DeviceRef device)
protected

Member Data Documentation

std::vector<DeviceRef> cinder::audio::DeviceManager::mDevices
protected

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