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
Possible bug with ASIO interfaces with CVS Build
Re: Possible bug with ASIO interfaces with CVS Build
Hi,
I would like to know if ANYONE else has experienced this issue as it is preventing me from working on/completing a community project for Virtual Theater Pipe Organs in Windows. We need to use Jackd with the Jack ASIO interface and cannot do so.
GrahamG
I would like to know if ANYONE else has experienced this issue as it is preventing me from working on/completing a community project for Virtual Theater Pipe Organs in Windows. We need to use Jackd with the Jack ASIO interface and cannot do so.
GrahamG
Re: Possible bug with ASIO interfaces with CVS Build
Hi Graham,
sorry for the late answer.
Question: did older LinuxSampler version work correctly (picking the right ASIO driver) for you ? (for example the official old windows release).
if yes then probably it is due to some changes that were made in the ASIO code. (I wrote the original driver but haven't touched it further).
Andreas any thoughts ?
sorry for the late answer.
Question: did older LinuxSampler version work correctly (picking the right ASIO driver) for you ? (for example the official old windows release).
if yes then probably it is due to some changes that were made in the ASIO code. (I wrote the original driver but haven't touched it further).
Andreas any thoughts ?
Re: Possible bug with ASIO interfaces with CVS Build
Hi Benno,
As far as I can recall when I first ran into this issue the original windows release version worked fine. Take a look at the comments in the bug ticket, I think I mentioned that there. I'm at work now so will try the original version again when I get home and double confirm then. Thanks!
GrahamG
As far as I can recall when I first ran into this issue the original windows release version worked fine. Take a look at the comments in the bug ticket, I think I mentioned that there. I'm at work now so will try the original version again when I get home and double confirm then. Thanks!
GrahamG
Re: Possible bug with ASIO interfaces with CVS Build
The ASIO code (AudioOutputDeviceAsio.cpp/.h) has almost not been touched at all since your version. The only change is a trivial memory handling fix (delete => delete[] for an array).sbenno wrote:if yes then probably it is due to some changes that were made in the ASIO code. (I wrote the original driver but haven't touched it further).
Andreas any thoughts ?
Re: Possible bug with ASIO interfaces with CVS Build
Hi again,
Yes, in the original release version for Windows (0.5.1), ASIO works fine with more than one ASIO device when using the ASIO device that is second in alphabetical order. So the assumption is that something 'new' has either messed the ASIO driver up or is not reference properly by the ASIO driver.
GrahamG
Yes, in the original release version for Windows (0.5.1), ASIO works fine with more than one ASIO device when using the ASIO device that is second in alphabetical order. So the assumption is that something 'new' has either messed the ASIO driver up or is not reference properly by the ASIO driver.
GrahamG
Re: Possible bug with ASIO interfaces with CVS Build
Hi,
Andreas posted two patches to the bug (#117) that apparently were part of the original release. Applying them to the CVS version of LinuxSampler has allowed me to use the (alphabetically ordered) second ASIO device. Still doing some testing but so far it's looking good.
GrahamG
Andreas posted two patches to the bug (#117) that apparently were part of the original release. Applying them to the CVS version of LinuxSampler has allowed me to use the (alphabetically ordered) second ASIO device. Still doing some testing but so far it's looking good.
GrahamG