Possible bug with ASIO interfaces with CVS Build
Posted: Wed Feb 11, 2009 7:19 am
Hi,
I'm running into an issue when using a computer with multiple ASIO devices. Using my Dec 22nd CVS build in WindowsXP I can succesfully use Fantasia/LinuxSampler when there is one ASIO driver in the system OR when the ASIO driver that I'm using with Fantasia is alphabetically before all the other ASIO drivers (i.e when using ASIO4ALL on a system that has other ASIO drivers, as ASIO4ALL starts with 'A' which is before KX-ASIO).
When attempting to use an ASIO driver that is alphabetically later than another ASIO driver, linuxsampler incorrectly picks up the first device as the CARD description (i.e. when trying to use KX-ASIO the ASIO4ALL Card description seems to be being used in the linuxsampler terminal). See the AudioOutputDeviceAsio::ParameterCard::DefaultAsString='ASIO4ALL v2' string in the following example
Has anyone else experienced this issue?
GrahamG
Console Output showing confused ASIO interface (This is just the beginning of the console text, if you need more let me know):
Init ASIO Jack
Before ASIOGetChannels()
Before ASIOGetBufferSize()
ASIO_OpenAndQueryDeviceInfo: InputChannels = 4
ASIO_OpenAndQueryDeviceInfo: OutputChannels = 4
ASIOCanSampleRate: possible sample rate = 44100
channelInfos[0].type (sampleformat) = 18
channelInfos[1].type (sampleformat) = 18
channelInfos[2].type (sampleformat) = 18
channelInfos[3].type (sampleformat) = 18
ASIO_OpenAndQueryDeviceInfo: driver opened.
AudioOutputDeviceAsio::ParameterSampleRate::PossibilitiesAsInt
ASIO_OpenAndQueryDeviceInfo driverName='JackRouter' current='JackRouter'
asioDriver ALREADY OPENED, DOING NOTHING !
AudioOutputDeviceAsio::ParameterSampleRate::PossibilitiesAsInt samplerate[0]=441
00
AudioOutputDeviceAsio::AudioOutputDeviceAsio constructor
ASIO_OpenAndQueryDeviceInfo driverName='JackRouter' current='JackRouter'
Before ASIO_loadAsioDriver('JackRouter')
ASIO_loadAsioDriver: trying to load 'JackRouter'
Stop ASIO Jack
Stop ASIO Jack
Destructor
no message buffer overruns
Constructor
Before ASIOInit()
Init ASIO Jack
Before ASIOGetChannels()
Before ASIOGetBufferSize()
ASIO_OpenAndQueryDeviceInfo: InputChannels = 4
ASIO_OpenAndQueryDeviceInfo: OutputChannels = 4
ASIOCanSampleRate: possible sample rate = 44100
channelInfos[0].type (sampleformat) = 18
channelInfos[1].type (sampleformat) = 18
channelInfos[2].type (sampleformat) = 18
channelInfos[3].type (sampleformat) = 18
ASIO_OpenAndQueryDeviceInfo: driver opened.
AudioOutputDeviceAsio::AudioOutputDeviceAsio: after ASIO_OpenAndQueryDeviceInfo
AudioOutputDeviceAsio::AudioOutputDeviceAsio: after ASIOSetSampleRate
AudioOutputDeviceAsio::AudioOutputDeviceAsio: after ASIOOutputReady
asioMessages selector=7 value=0
AudioOutputDeviceAsio::AudioOutputDeviceAsio: after ASIOCreateBuffers
AudioOutputDeviceAsio::Play() !
Start ASIO Jack
AudioOutputDeviceAsio::SampleRate value=44100
AudioOutputDeviceAsio::ParameterCard::PossibilitiesAsString:
getAsioDriverNames: ASIO driver list already loaded, doing returning cached list
.
AudioOutputDeviceAsio::ParameterCard::DefaultAsString='ASIO4ALL v2'
AudioOutputDeviceAsio::ParameterCard::PossibilitiesAsString:
getAsioDriverNames: ASIO driver list already loaded, doing returning cached list
.
AudioOutputDeviceAsio::ParameterCard::DefaultAsString='ASIO4ALL v2'
AudioOutputDeviceAsio::ParameterCard::PossibilitiesAsString:
getAsioDriverNames: ASIO driver list already loaded, doing returning cached list
.
AudioOutputDeviceAsio::ParameterCard::DefaultAsString='ASIO4ALL v2'
AudioOutputDeviceAsio::ParameterCard::PossibilitiesAsString:
getAsioDriverNames: ASIO driver list already loaded, doing returning cached list
.
AudioOutputDeviceAsio::ParameterCard::DefaultAsString='ASIO4ALL v2'
AudioOutputDeviceAsio::ParameterChannels::DefaultAsInt
ASIO_OpenAndQueryDeviceInfo driverName='ASIO4ALL v2' current='JackRouter'
driverName != currentAsioDriverName , new asio driver specified, opening device
I'm running into an issue when using a computer with multiple ASIO devices. Using my Dec 22nd CVS build in WindowsXP I can succesfully use Fantasia/LinuxSampler when there is one ASIO driver in the system OR when the ASIO driver that I'm using with Fantasia is alphabetically before all the other ASIO drivers (i.e when using ASIO4ALL on a system that has other ASIO drivers, as ASIO4ALL starts with 'A' which is before KX-ASIO).
When attempting to use an ASIO driver that is alphabetically later than another ASIO driver, linuxsampler incorrectly picks up the first device as the CARD description (i.e. when trying to use KX-ASIO the ASIO4ALL Card description seems to be being used in the linuxsampler terminal). See the AudioOutputDeviceAsio::ParameterCard::DefaultAsString='ASIO4ALL v2' string in the following example
Has anyone else experienced this issue?
GrahamG
Console Output showing confused ASIO interface (This is just the beginning of the console text, if you need more let me know):
Init ASIO Jack
Before ASIOGetChannels()
Before ASIOGetBufferSize()
ASIO_OpenAndQueryDeviceInfo: InputChannels = 4
ASIO_OpenAndQueryDeviceInfo: OutputChannels = 4
ASIOCanSampleRate: possible sample rate = 44100
channelInfos[0].type (sampleformat) = 18
channelInfos[1].type (sampleformat) = 18
channelInfos[2].type (sampleformat) = 18
channelInfos[3].type (sampleformat) = 18
ASIO_OpenAndQueryDeviceInfo: driver opened.
AudioOutputDeviceAsio::ParameterSampleRate::PossibilitiesAsInt
ASIO_OpenAndQueryDeviceInfo driverName='JackRouter' current='JackRouter'
asioDriver ALREADY OPENED, DOING NOTHING !
AudioOutputDeviceAsio::ParameterSampleRate::PossibilitiesAsInt samplerate[0]=441
00
AudioOutputDeviceAsio::AudioOutputDeviceAsio constructor
ASIO_OpenAndQueryDeviceInfo driverName='JackRouter' current='JackRouter'
Before ASIO_loadAsioDriver('JackRouter')
ASIO_loadAsioDriver: trying to load 'JackRouter'
Stop ASIO Jack
Stop ASIO Jack
Destructor
no message buffer overruns
Constructor
Before ASIOInit()
Init ASIO Jack
Before ASIOGetChannels()
Before ASIOGetBufferSize()
ASIO_OpenAndQueryDeviceInfo: InputChannels = 4
ASIO_OpenAndQueryDeviceInfo: OutputChannels = 4
ASIOCanSampleRate: possible sample rate = 44100
channelInfos[0].type (sampleformat) = 18
channelInfos[1].type (sampleformat) = 18
channelInfos[2].type (sampleformat) = 18
channelInfos[3].type (sampleformat) = 18
ASIO_OpenAndQueryDeviceInfo: driver opened.
AudioOutputDeviceAsio::AudioOutputDeviceAsio: after ASIO_OpenAndQueryDeviceInfo
AudioOutputDeviceAsio::AudioOutputDeviceAsio: after ASIOSetSampleRate
AudioOutputDeviceAsio::AudioOutputDeviceAsio: after ASIOOutputReady
asioMessages selector=7 value=0
AudioOutputDeviceAsio::AudioOutputDeviceAsio: after ASIOCreateBuffers
AudioOutputDeviceAsio::Play() !
Start ASIO Jack
AudioOutputDeviceAsio::SampleRate value=44100
AudioOutputDeviceAsio::ParameterCard::PossibilitiesAsString:
getAsioDriverNames: ASIO driver list already loaded, doing returning cached list
.
AudioOutputDeviceAsio::ParameterCard::DefaultAsString='ASIO4ALL v2'
AudioOutputDeviceAsio::ParameterCard::PossibilitiesAsString:
getAsioDriverNames: ASIO driver list already loaded, doing returning cached list
.
AudioOutputDeviceAsio::ParameterCard::DefaultAsString='ASIO4ALL v2'
AudioOutputDeviceAsio::ParameterCard::PossibilitiesAsString:
getAsioDriverNames: ASIO driver list already loaded, doing returning cached list
.
AudioOutputDeviceAsio::ParameterCard::DefaultAsString='ASIO4ALL v2'
AudioOutputDeviceAsio::ParameterCard::PossibilitiesAsString:
getAsioDriverNames: ASIO driver list already loaded, doing returning cached list
.
AudioOutputDeviceAsio::ParameterCard::DefaultAsString='ASIO4ALL v2'
AudioOutputDeviceAsio::ParameterChannels::DefaultAsInt
ASIO_OpenAndQueryDeviceInfo driverName='ASIO4ALL v2' current='JackRouter'
driverName != currentAsioDriverName , new asio driver specified, opening device