check if sample rate can be set in ASIO driver
This commit is contained in:
parent
fccbb4144c
commit
b4fbb9ca95
1 changed files with 1175 additions and 1159 deletions
|
@ -102,6 +102,22 @@ QString CSound::CheckDeviceCapabilities()
|
||||||
QString().setNum ( SYSTEM_SAMPLE_RATE_HZ ) + " Hz";
|
QString().setNum ( SYSTEM_SAMPLE_RATE_HZ ) + " Hz";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check if sample rate can be set
|
||||||
|
const ASIOError SetSaRateReturn = ASIOSetSampleRate ( SYSTEM_SAMPLE_RATE_HZ );
|
||||||
|
|
||||||
|
if ( ( SetSaRateReturn == ASE_NoClock ) ||
|
||||||
|
( SetSaRateReturn == ASE_InvalidMode ) ||
|
||||||
|
( SetSaRateReturn == ASE_NotPresent ) )
|
||||||
|
{
|
||||||
|
// return error string
|
||||||
|
return tr ( "The audio device does not support to set the required sampling "
|
||||||
|
"rate. This error can happen if you have an audio interface like the "
|
||||||
|
"Roland UA-25EX where you set the sample rate with a hardware switch "
|
||||||
|
"on the audio device. If this is the case, please change the sample rate "
|
||||||
|
"to " ) + QString().setNum ( SYSTEM_SAMPLE_RATE_HZ ) + tr ( " Hz on the "
|
||||||
|
"device and restart the " ) + APP_NAME + tr ( " software." );
|
||||||
|
}
|
||||||
|
|
||||||
// check the number of available channels
|
// check the number of available channels
|
||||||
ASIOGetChannels ( &lNumInChan, &lNumOutChan );
|
ASIOGetChannels ( &lNumInChan, &lNumOutChan );
|
||||||
|
|
||||||
|
@ -486,7 +502,7 @@ CSound::CSound ( void (*fpNewCallback) ( CVector<int16_t>& psData, void* a
|
||||||
"Windows audio interface and therefore a special audio driver is "
|
"Windows audio interface and therefore a special audio driver is "
|
||||||
"required. Either your sound card has a native ASIO driver (which "
|
"required. Either your sound card has a native ASIO driver (which "
|
||||||
"is recommended) or you might want to use alternative drivers like "
|
"is recommended) or you might want to use alternative drivers like "
|
||||||
"the ASIO4All or kX driver." ) );
|
"the ASIO4All driver." ) );
|
||||||
}
|
}
|
||||||
asioDrivers->removeCurrentDriver();
|
asioDrivers->removeCurrentDriver();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue