Namespace: Un4seen.BassAsio
Assembly: Bass.Net (in Bass.Net.dll) Version: 2.4.17.5
Parameters
- disableOutput
- Type: SystemBoolean
Disable and unjoin the ASIO output channel? =leave them enabled and joined.
Return Value
Type: BooleanOn success is returned, else will be returned (use BASS_ASIO_ErrorGetCode to retrieve the error code).
The following will be done internally:
1. The ASIO output FullDuplexDevice will be stopped (if already started).
2. The ASIO output FullDuplexChannel will be disabled and unjoined.
3. The ASIO output device will be started again (only, if it has been started before).
4. The ASIO input Device will be stopped (if already started).
5. The ASIO input Channel will be disabled.
6. Any custom dummy decoding stream (see OutputChannel) will be freed and the AsioInputCallback(Boolean, Int32, IntPtr, Int32, IntPtr) will again be used as the internal ASIOPROC.
7. The ASIO input channel will be (re)enabled, the samplerate, format and number of channels will not be changed for ASIO input, since this will be used as already specified in the constructor.
8. The ASIO input device will be started again (only, if it has been started before).
Note: This method will only disable the FullDuplexChannel if specified in the disableOutput parameter.
This method can not be used with ASIO output (see IsInput). It will immediately return with no effect.
To enable the full-duplex option again, call SetFullDuplex(Int32, Int32).
Note, that this method also resets the BypassFullDuplex property to .
private BassAsioHandler _asio; ... // assign ASIO input to the first device and channel (stereo, 32-bit float, 48kHz) _asio = new BassAsioHandler(true, 0, 0, 2, BASSASIOFormat.BASS_ASIO_FORMAT_FLOAT, 48000); // set the full-duplex option to the first ASIO output device and channel // the ASIO output format will aways be the same as the input for full-duplex _asio.SetFullDuplex(0, 0); // first output device and channel // start ASIO _asio.Start(0); ... // remove the full-duplex option and leave the channel enabled _asio.RemoveFullDuplex(false); // but pause the unused output channel BassAsio.BASS_ASIO_ChannelPause(false, 0); ...