gxAudioFactory Class Reference

Abstract class factory for audio classes in gxLib. More...

#include <gxAudioFactory.h>

List of all members.

Public Member Functions

virtual ~gxAudioFactory ()
virtual int createFilter (const char *type, gxAudioFilter **filter)=0
 Create and initialize a new gxAudioFilter object.
virtual int createGraph (gxAudioGraph **graph)=0
 Create and initialize a new gxAudioGraph object.
virtual int createMidiMerge (int inPinCount, int outPinCount, gxAudioFilter **midiMerge)=0
 Create a midi merge filter.
virtual int createMidiThru (int outPinCount, gxAudioFilter **midiThru)=0
 Create a midi thru filter.
virtual int createMidiStatusMap (gxMidiStatusMap **statusMap)=0
 Create a midi status map.
virtual int createMixer (int inputPinCount, long sampleRate, long framesPerBuffer, gxAudioFilter **mixer)=0
 Create an audio mixer.
virtual int createNullSource (long sampleRate, long framesPerBuffer, gxAudioFilter **filter)=0
 Create and initialize a new null source object.
virtual int enumAudioCards (gxAudioDeviceEnumerator **devices)=0
 Enumerate all the audio cards in the system.
virtual int enumFilters (gxAudioFilterEnumerator **filters)=0
virtual int enumMidiInPorts (gxAudioDeviceEnumerator **devices)=0
 Enumerate all the midi in ports in the system.
virtual int enumMidiOutPorts (gxAudioDeviceEnumerator **devices)=0
 Enumerate all the midi output ports in the system.
virtual int openAudioCard (const char *deviceName, long *sampleRate, long *framesPerBuffer, gxAudioFilter **filter)=0
 Open the specified audio card as an audio filter.
virtual int createMidiInBank (gxAudioFilter **inBank)=0
 Create a bank containing all midi in ports.
virtual int createMidiOutBank (gxAudioFilter **outBank)=0
 Create a bank containing all midi out ports.
virtual int initialize ()=0
 Overridable called the first time a factory instance is accessed.

Static Public Member Functions

static gxAudioFactorygetInstance ()
 Return a pointer to the singleton factory object.

Protected Member Functions

 gxAudioFactory ()
 Default constructor is protected to ensure that callers use the singleton.


Detailed Description

Abstract class factory for audio classes in gxLib.


Constructor & Destructor Documentation

virtual gxAudioFactory::~gxAudioFactory  )  [virtual]
 

gxAudioFactory::gxAudioFactory  )  [protected]
 

Default constructor is protected to ensure that callers use the singleton.


Member Function Documentation

virtual int gxAudioFactory::createFilter const char *  type,
gxAudioFilter **  filter
[pure virtual]
 

Create and initialize a new gxAudioFilter object.

The caller provides a string to identify the filter type. The format of the string depends on the platform and the filter plugin types that are supported by the implementation.

DXI2 filters are supported and the type string is of the format dxi2:{25AB2D43-DBFA-ACD4-B827-0040F64C3623}.

virtual int gxAudioFactory::createGraph gxAudioGraph **  graph  )  [pure virtual]
 

Create and initialize a new gxAudioGraph object.

virtual int gxAudioFactory::createMidiInBank gxAudioFilter **  inBank  )  [pure virtual]
 

Create a bank containing all midi in ports.

The ports are initially closed (disabled).

virtual int gxAudioFactory::createMidiMerge int  inPinCount,
int  outPinCount,
gxAudioFilter **  midiMerge
[pure virtual]
 

Create a midi merge filter.

Pretty much the same as a midithru, except it has multiple input pins which are merged together before being sent to the output

virtual int gxAudioFactory::createMidiOutBank gxAudioFilter **  outBank  )  [pure virtual]
 

Create a bank containing all midi out ports.

The ports are initially closed (disabled).

virtual int gxAudioFactory::createMidiStatusMap gxMidiStatusMap **  statusMap  )  [pure virtual]
 

Create a midi status map.

This is a midi transform that can be bound to a midi input or output pin.

virtual int gxAudioFactory::createMidiThru int  outPinCount,
gxAudioFilter **  midiThru
[pure virtual]
 

Create a midi thru filter.

virtual int gxAudioFactory::createMixer int  inputPinCount,
long  sampleRate,
long  framesPerBuffer,
gxAudioFilter **  mixer
[pure virtual]
 

Create an audio mixer.

virtual int gxAudioFactory::createNullSource long  sampleRate,
long  framesPerBuffer,
gxAudioFilter **  filter
[pure virtual]
 

Create and initialize a new null source object.

These are normally used to push sound out of a soft synth.

virtual int gxAudioFactory::enumAudioCards gxAudioDeviceEnumerator **  devices  )  [pure virtual]
 

Enumerate all the audio cards in the system.

virtual int gxAudioFactory::enumFilters gxAudioFilterEnumerator **  filters  )  [pure virtual]
 

virtual int gxAudioFactory::enumMidiInPorts gxAudioDeviceEnumerator **  devices  )  [pure virtual]
 

Enumerate all the midi in ports in the system.

virtual int gxAudioFactory::enumMidiOutPorts gxAudioDeviceEnumerator **  devices  )  [pure virtual]
 

Enumerate all the midi output ports in the system.

static gxAudioFactory* gxAudioFactory::getInstance  )  [static]
 

Return a pointer to the singleton factory object.

virtual int gxAudioFactory::initialize  )  [pure virtual]
 

Overridable called the first time a factory instance is accessed.

A convenient place to put system initialization code.

virtual int gxAudioFactory::openAudioCard const char *  deviceName,
long *  sampleRate,
long *  framesPerBuffer,
gxAudioFilter **  filter
[pure virtual]
 

Open the specified audio card as an audio filter.

Parameters:
deviceName [input] Device name of audio card to be opened
sampleRate [input/output] On input it specifies a default sample rate. On output it returns the sample rate actually used.
framesPerBuffer [input/output] On input it specifies a default buffer size. On output it returns the buffer size actually used.
filter [output] Returns the opened audio card as a filter.


The documentation for this class was generated from the following file:
Generated on Mon Nov 21 01:01:36 2005 for gxLib by  doxygen 1.4.5