IMMAmpMixer

The IMMAmpMixer class provides input or output switching and sound-shaping services, such as volume, treble, gain, or bass control. The amplifier-mixer is similar to a home stereo amplifier and mixer. Devices are connected to the IMMAmpMixer so that audio signals can be transferred to speakers or another device.


IMMAmpMixer - Member Functions and Data by Group

Constructors & Destructor

You can construct and destruct objects of this class.


[view class]
~IMMAmpMixer
public:
virtual ~IMMAmpMixer()

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
IMMAmpMixer


Overload 1
public:
IMMAmpMixer( unsigned long deviceIdentifier, const IString& newAlias = IString ( ) )

A derived class can construct an IMMAmpMixer from the following:

deviceIdentifier
The value the system uses to identify the device.
newAlias
The name you can use to associate a string to the device. Optional.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


Overload 2
public:
IMMAmpMixer( bool openNow = true, unsigned long instance = 0, bool openShareable = true )

You can construct an IMMAmpMixer from the following:

openNow
If true, it causes the device to automatically open the device before returning from the constructor; otherwise, you would have to call one of the open functions to open the device yourself.
instance
Specifies your own instance number instead of one being generated for you.
openShareable
If true, it allows the hardware device to be shared by different programs; otherwise, the hardware cannot be shared.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


Implementation

These members check if the passed in string is in the correct format to open the current device.


[view class]
close
public:
virtual IMMAmpMixer& close(CallType call = wait)

Closes a device.

Supported Platforms

Windows OS/2 AIX
Yes Yes No

Portability Considerations

This member is overridden in this derived class for specific operating system behavior.


[view class]
open

Opens the device.


Overload 1
public:
virtual IMMAmpMixer& open( const IString& fileOrDevice = IString ( ), bool shareable = true, CallType call = wait )

Supported Platforms

Windows OS/2 AIX
Yes Yes No

Portability Considerations

This member is overridden in this derived class for specific operating system behavior.


Overload 2
protected:
virtual IMMAmpMixer& open( unsigned long instanceNumber, bool shareable = true, CallType call = nowait )

Supported Platforms

Windows OS/2 AIX
Yes Yes No

Portability Considerations

This member is overridden in this derived class for specific operating system behavior.


[view class]
openOnThread

Opens the device.


Overload 1
public:
virtual IMMAmpMixer& openOnThread( const IString& fileOrDevice = IString ( ), bool shareable = true, CallType call = wait )

Supported Platforms

Windows OS/2 AIX
Yes Yes No

Portability Considerations

This member is overridden in this derived class for specific operating system behavior.


Overload 2
protected:
virtual IMMAmpMixer& openOnThread( unsigned long instanceNumber, bool shareable = true )

Supported Platforms

Windows OS/2 AIX
Yes Yes No

Portability Considerations

This member is overridden in this derived class for specific operating system behavior.


[view class]
isOpenStringValid
protected:
virtual bool isOpenStringValid( const IString& deviceName ) const

Returns true if the passed in open string is valid for this device.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


Mixer Attributes

Use these members to query and set the different amplifier-mixer attributes.


[view class]
balance
public:
unsigned long balance(CallType call = wait) const

Returns the balance, where 0 is defined as full left balance and 100 is defined as full right balance.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
bass
public:
unsigned long bass(CallType call = wait) const

Returns the bass, where 0 is the least amount of bass and 100 is the most amount of bass.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
gain
public:
unsigned long gain(CallType call = wait) const

Returns the gain, where 0 is the least amount of gain and 100 is the most amount of gain.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
pitch
public:
unsigned long pitch(CallType call = wait) const

Returns the pitch, where 0 is the lowest pitch and 100 the highest pitch.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
setBalance
public:
virtual IMMAmpMixer& setBalance( unsigned long balance, CallType call = wait )

Sets the balance, where 0 is defined as full left balance and 100 is defined as full right balance.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
setBass
public:
virtual IMMAmpMixer& setBass( unsigned long bass, CallType call = wait )

Sets the bass, where 0 is the least amount of bass and 100 is the most amount of bass.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
setGain
public:
virtual IMMAmpMixer& setGain( unsigned long gain, CallType call = wait )

Sets the gain, where 0 is the least amount of gain and 100 is the most amount of gain.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
setPitch
public:
virtual IMMAmpMixer& setPitch( unsigned long pitch, CallType call = wait )

Sets the pitch, where 0 is lowest pitch and 100 is the highest pitch.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
setTreble
public:
virtual IMMAmpMixer& setTreble( unsigned long treble, CallType call = wait )

Sets the treble, where 0 is the least amount of treble and 100 is the most amount of treble.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
treble
public:
unsigned long treble(CallType call = wait) const

Returns the treble, where 0 is the least amount of treble and 100 is the most amount of treble.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


Monitoring

Use these members to either allow or not allow the signal from an input device to be heard when it is being routed to another device.

The amplifier-mixer device has the ability to monitor (listen to) the audio signal from one device while the audio signal from a second device is being recorded. The main use of monitoring is for recording and mixing more than one audio source. The amplifier-mixer device supports one audio connection and the ability to monitor a second audio source.


[view class]
disableMonitoring
public:
virtual IMMAmpMixer& disableMonitoring( CallType call = wait )

Does not allow the signal from an input device to be heard as it is being routed to another device. The amplifier-mixer device has the ability to monitor (listen to) the audio signal from one device while the audio signal from a second device is being recorded. The main use of monitoring is for recording and mixing more than one audio source. The amplifier-mixer device supports one audio connection and the ability to monitor a second audio source.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
enableMonitoring
public:
virtual IMMAmpMixer& enableMonitoring( bool enable = true, CallType call = wait )

Allows the signal from an input device to be heard as it is being routed to another device. The amplifier-mixer device has the ability to monitor (listen to) the audio signal from one device while the audio signal from a second device is being recorded. The main use of monitoring is for recording and mixing more than one audio source. The amplifier-mixer device supports one audio connection and the ability to monitor a second audio source.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


[view class]
isMonitoringEnabled
public:
bool isMonitoringEnabled(CallType call = wait) const

Returns true if the monitor is turned on. The amplifier-mixer device has the ability to monitor (listen to) the audio signal from one device while the audio signal from a second device is being recorded.

Exception

IAccessError The device identifier is not valid; possibly the device is closed.
IAccessError The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process.
IAccessError An internal driver error occurred.
IInvalidRequest The device must be in the open state before calling this function.

Supported Platforms

Windows OS/2 AIX
Yes Yes No


IMMAmpMixer - Inherited Member Functions and Data

Inherited Public Functions

IMMDevice
INotifier
IStandardNotifier

Inherited Public Data

INotifier
IMMDevice

Inherited Protected Functions

IStandardNotifier
INotifier
IMMDevice

Inherited Protected Data