BASS.NET API for the Un4seen BASS Audio Library

BassAsioBASS_ASIO_Monitor Method

BASS.NET API for the Un4seen BASS Audio Library
Set the direct input monitoring state.

Namespace:  Un4seen.BassAsio
Assembly:  Bass.Net (in Bass.Net.dll) Version: 2.4.17.5
Syntax

[DllImportAttribute("bassasio")]
public static bool BASS_ASIO_Monitor(
	int input,
	int output,
	int gain,
	int state,
	int pan
)

Parameters

input
Type: SystemInt32
The input channel to set the monitoring state of... -1 = all.
output
Type: SystemInt32
The suggested output channel for the monitoring.
gain
Type: SystemInt32
Suggested Gain, ranging from 0 to 0x7fffffff (-inf to +12 dB), 0x20000000 equals 0 dB.
state
Type: SystemInt32
Monitoring state... 0 = off, 1 = on. Other settings may be possible depending on the drivers, e.g.:

0 = input monitoring off.

1 = input monitoring on.

2 = playback monitoring off.

3 = playback monitoring on.

pan
Type: SystemInt32
Suggested Pan, ranging from 0 = left to 0x7fffffff = right (centre should be 0x40000000).

Return Value

Type: Boolean
If succesful, then is returned, else is returned. Use BASS_ASIO_ErrorGetCode to get the error code.
Remarks

If the hardware does not support patching and mixing a straight 1 to 1 routing is suggested. The driver should ignore all the information of ASIOMonitor it cannot deal with, usually these might be either or all of output, gain, pan.

Output is the base channel of a stereo channel pair, i.e. output is always an even channel (0,2,4...). If an odd input channel should be monitored and no panning or output routing can be applied, the driver has to use the next higher output (imply a hard right pan). Note that the output, gain and pan settings are just suggestions, and may be ignored by the device/driver.

Some cards/drivers might also support direct output monitoring, in such case use the input parameter to denote the output channel to monitor and specify an appropriate state value.

ADM has originally been based on a mono in - stereo out scheme. Meaning if you need to monitor a stereo input channel pair you need to call this twice, both using the same output value, but using an odd and an even input value. In such case set the odd input to pan hard left and the even input to pan hard right.

Also note, that if you have channels in-between not activated in ASIO these will not counted. So if for example channels 3 and 4 are inactive, ADM input 3 is related to the physical input channel 5!

ERROR CODEDescription
BASS_ERROR_INITBASS_ASIO_Init(Int32, BASSASIOInit) has not been successfully called.
BASS_ERROR_UNKNOWNSome other mystery problem!

See Also

Reference