Browse Source

More rw testing

tags/1.9.4
falkTX 11 years ago
parent
commit
eb7d4313be
1 changed files with 92 additions and 11 deletions
  1. +92
    -11
      source/tests/Rewire.cpp

+ 92
- 11
source/tests/Rewire.cpp View File

@@ -17,6 +17,7 @@

#include "CarlaString.hpp"

#include "rewire/ReWireAPI.h"
#include "rewire/ReWirePanelAPI.h"

// -----------------------------------------------------------------------
@@ -28,7 +29,28 @@ typedef const char* TReWireFileSpec;
}
}

ReWire::TReWireFileSpec kDeviceSpec = "/home/falktx/.wine32/drive_c/Program Files/Image-Line/FL Studio 11/System/Plugin/ReWire/FLReWire.dll";
// static ReWire::TReWireFileSpec kDeviceSpec = "/home/falktx/.wine32/drive_c/Program Files/Image-Line/FL Studio 11/System/Plugin/ReWire/FLReWire.dll";
//static ReWire::TReWireFileSpec kDeviceSpec = "C:\\Program Files\\Waves\\ReWire\\WavesReWireDevice.dll";

static const ReWire::TReWireFileSpec kDeviceSpec = "C:\\Program Files\\AudioGL\\AudioGL.dll";
static const char* const kDeviceName = "AudioGL";
static const char* const kSinature = "Ahem";

// -----------------------------------------------------------------------
// try to figure this out...

using namespace ReWire;

// RWM2OpenImp

typedef ReWireError (*TRWM2OpenProc)(void); //long reWireLibVersion
typedef ReWireError (*TRWM2CloseProc)(void);

static const char kRWM2OpenProcName[] = "RWM2OpenImp";
static const char kRWM2CloseProcName[] = "RWM2CloseImp";

static TRWM2OpenProc gRWM2OpenProc = NULL;
static TRWM2CloseProc gRWM2CloseProc = NULL;

// -----------------------------------------------------------------------

@@ -41,7 +63,6 @@ public:
fIsLoaded(false),
fHandle(0)
{
fDevName = "";
}

~RewireThing()
@@ -62,12 +83,37 @@ public:
}
else
{
carla_stderr2("rewire open failed");
carla_stderr2("rewire open failed %i", result);
}

// get func pointers
gRWM2OpenProc = (TRWM2OpenProc)ReWireFindReWireSharedLibraryFunction(kRWM2OpenProcName);
gRWM2CloseProc = (TRWM2CloseProc)ReWireFindReWireSharedLibraryFunction(kRWM2CloseProcName);

CARLA_SAFE_ASSERT_RETURN(gRWM2OpenProc != nullptr, true);
CARLA_SAFE_ASSERT_RETURN(gRWM2CloseProc != nullptr, true);

return fIsOpen;
}

bool start()
{
ReWire::ReWireError result = (gRWM2OpenProc)();

if (result == ReWire::kReWireError_NoError)
{
fIsLoaded = true;
carla_stderr("rewire load app ok");
}
else
{
carla_stderr2("rewire load app failed %i", result);
}

return true;
}

#if 0
bool start()
{
char isRunningFlag = 0;
@@ -99,8 +145,32 @@ public:
carla_stderr("rewire mixer is running");
}

result = ReWire::RWPLoadDevice(kDeviceName);

if (result == ReWire::kReWireError_NoError)
{
fIsLoaded = true;
carla_stderr("rewire load device ok");
}
else
{
carla_stderr2("rewire load device failed %i", result);
}

result = ReWire::RWPComConnect(kSinature, &fHandle);

if (result == ReWire::kReWireError_NoError)
{
carla_stderr("rewire connect ok | %i", fHandle);
}
else
{
carla_stderr2("rewire connect failed %i | %i", result, fHandle);
}

return false;
}
#endif

void close()
{
@@ -111,6 +181,18 @@ public:
return;
}

if (fIsLoaded)
{
const ReWire::ReWireError result((gRWM2CloseProc)());
fIsLoaded = false;

if (result == ReWire::kReWireError_NoError)
carla_stderr("rewire unload app ok");
else
carla_stderr2("rewire unload app failed %i", result);
}

#if 0
if (fHandle != 0)
{
const ReWire::ReWireError result(ReWire::RWPComDisconnect(fHandle));
@@ -119,18 +201,18 @@ public:
if (result == ReWire::kReWireError_NoError)
carla_stderr("rewire disconnect ok");
else
carla_stderr2("rewire disconnect failed");
carla_stderr2("rewire disconnect failed %i", result);
}

if (fIsLoaded)
{
const ReWire::ReWireError result(ReWire::RWPUnloadDevice(fDevName.getBuffer()));
const ReWire::ReWireError result(ReWire::RWPUnloadDevice(kDeviceName));
fIsLoaded = false;

if (result == ReWire::kReWireError_NoError)
carla_stderr("rewire unload ok");
carla_stderr("rewire unload device ok");
else
carla_stderr2("rewire unload failed");
carla_stderr2("rewire unload device failed %i", result);
}

if (fIsRegistered)
@@ -141,15 +223,16 @@ public:
if (result == ReWire::kReWireError_NoError)
carla_stderr("rewire unregister ok");
else
carla_stderr2("rewire unregister failed");
carla_stderr2("rewire unregister failed %i", result);
}
#endif

const ReWire::ReWireError result(ReWire::RWPClose());

if (result == ReWire::kReWireError_NoError)
carla_stderr("rewire close ok");
else
carla_stderr2("rewire close failed");
carla_stderr2("rewire close failed %i", result);

fIsOpen = false;
}
@@ -159,8 +242,6 @@ private:
bool fIsRegistered;
bool fIsLoaded;
ReWire::TRWPPortHandle fHandle;

CarlaString fDevName;
};

// -----------------------------------------------------------------------


Loading…
Cancel
Save