diff --git a/windows/sound.cpp b/windows/sound.cpp
index 74b4e58c..08201e18 100755
--- a/windows/sound.cpp
+++ b/windows/sound.cpp
@@ -302,13 +302,13 @@ int CSound::GetActualBufferSize ( const int iDesiredBufferSizeMono )
// calculate "nearest" buffer size and set internal parameter accordingly
// first check minimum and maximum values
- if ( iDesiredBufferSizeMono < HWBufferInfo.lMinSize )
+ if ( iDesiredBufferSizeMono <= HWBufferInfo.lMinSize )
{
iActualBufferSizeMono = HWBufferInfo.lMinSize;
}
else
{
- if ( iDesiredBufferSizeMono > HWBufferInfo.lMaxSize )
+ if ( iDesiredBufferSizeMono >= HWBufferInfo.lMaxSize )
{
iActualBufferSizeMono = HWBufferInfo.lMaxSize;
}
@@ -449,7 +449,13 @@ pSound = this;
// in case we do not have a driver available, throw error
if ( lNumDevs == 0 )
{
- throw CGenErr ( tr ( "No ASIO audio device (driver) found." ) );
+ throw CGenErr ( tr ( "No ASIO audio device (driver) found.
"
+ "The " ) + APP_NAME + tr ( " software requires the low latency audio "
+ "interface ASIO to work properly. This is no standard "
+ "Windows audio interface and therefore a special audio driver is "
+ "required. Either your sound card has a native ASIO driver (which "
+ "is recommended) or you might want to use alternative drivers like "
+ "the ASIO4All or kX driver." ) );
}
asioDrivers->removeCurrentDriver();