diff options
Diffstat (limited to 'tests/Windows/asiodrivers.cpp')
| -rw-r--r-- | tests/Windows/asiodrivers.cpp | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/tests/Windows/asiodrivers.cpp b/tests/Windows/asiodrivers.cpp deleted file mode 100644 index 5f56454..0000000 --- a/tests/Windows/asiodrivers.cpp +++ /dev/null @@ -1,186 +0,0 @@ -#include <string.h>
-#include "asiodrivers.h"
-
-AsioDrivers* asioDrivers = 0;
-
-bool loadAsioDriver(char *name);
-
-bool loadAsioDriver(char *name)
-{
- if(!asioDrivers)
- asioDrivers = new AsioDrivers();
- if(asioDrivers)
- return asioDrivers->loadDriver(name);
- return false;
-}
-
-//------------------------------------------------------------------------------------
-
-#if MAC
-
-bool resolveASIO(unsigned long aconnID);
-
-AsioDrivers::AsioDrivers() : CodeFragments("ASIO Drivers", 'AsDr', 'Asio')
-{
- connID = -1;
- curIndex = -1;
-}
-
-AsioDrivers::~AsioDrivers()
-{
- removeCurrentDriver();
-}
-
-bool AsioDrivers::getCurrentDriverName(char *name)
-{
- if(curIndex >= 0)
- return getName(curIndex, name);
- return false;
-}
-
-long AsioDrivers::getDriverNames(char **names, long maxDrivers)
-{
- for(long i = 0; i < getNumFragments() && i < maxDrivers; i++)
- getName(i, names[i]);
- return getNumFragments() < maxDrivers ? getNumFragments() : maxDrivers;
-}
-
-bool AsioDrivers::loadDriver(char *name)
-{
- char dname[64];
- unsigned long newID;
-
- for(long i = 0; i < getNumFragments(); i++)
- {
- if(getName(i, dname) && !strcmp(name, dname))
- {
- if(newInstance(i, &newID))
- {
- if(resolveASIO(newID))
- {
- if(connID != -1)
- removeInstance(curIndex, connID);
- curIndex = i;
- connID = newID;
- return true;
- }
- }
- break;
- }
- }
- return false;
-}
-
-void AsioDrivers::removeCurrentDriver()
-{
- if(connID != -1)
- removeInstance(curIndex, connID);
- connID = -1;
- curIndex = -1;
-}
-
-//------------------------------------------------------------------------------------
-
-#elif WINDOWS
-
-#include "iasiodrv.h"
-
-extern IASIO* theAsioDriver;
-
-AsioDrivers::AsioDrivers() : AsioDriverList()
-{
- curIndex = -1;
-}
-
-AsioDrivers::~AsioDrivers()
-{
-}
-
-bool AsioDrivers::getCurrentDriverName(char *name)
-{
- if(curIndex >= 0)
- return asioGetDriverName(curIndex, name, 32) == 0 ? true : false;
- name[0] = 0;
- return false;
-}
-
-long AsioDrivers::getDriverNames(char **names, long maxDrivers)
-{
- for(long i = 0; i < asioGetNumDev() && i < maxDrivers; i++)
- asioGetDriverName(i, names[i], 32);
- return asioGetNumDev() < maxDrivers ? asioGetNumDev() : maxDrivers;
-}
-
-bool AsioDrivers::loadDriver(char *name)
-{
- char dname[64];
- char curName[64];
-
- for(long i = 0; i < asioGetNumDev(); i++)
- {
- if(!asioGetDriverName(i, dname, 32) && !strcmp(name, dname))
- {
- curName[0] = 0;
- getCurrentDriverName(curName); // in case we fail...
- removeCurrentDriver();
-
- if(!asioOpenDriver(i, (void **)&theAsioDriver))
- {
- curIndex = i;
- return true;
- }
- else
- {
- theAsioDriver = 0;
- if(curName[0] && strcmp(dname, curName))
- loadDriver(curName); // try restore
- }
- break;
- }
- }
- return false;
-}
-
-void AsioDrivers::removeCurrentDriver()
-{
- if(curIndex != -1)
- asioCloseDriver(curIndex);
- curIndex = -1;
-}
-
-#elif SGI || BEOS
-
-#include "asiolist.h"
-
-AsioDrivers::AsioDrivers()
- : AsioDriverList()
-{
- curIndex = -1;
-}
-
-AsioDrivers::~AsioDrivers()
-{
-}
-
-bool AsioDrivers::getCurrentDriverName(char *name)
-{
- return false;
-}
-
-long AsioDrivers::getDriverNames(char **names, long maxDrivers)
-{
- return 0;
-}
-
-bool AsioDrivers::loadDriver(char *name)
-{
- return false;
-}
-
-void AsioDrivers::removeCurrentDriver()
-{
-}
-
-#else
-#error implement me
-#endif
|
