Merge branch 'win64-vst'
* win64-vst:
VST support layer: fixed non-working 64 bit VST plugins
VST support layer: added 32 bit VST plugin support for Win64
Win64Toolchain: added 32 bit compiler configuration
ZynAddSubFX: use new RemotePlugin::init() method
RemotePlugin: added support for running remote process multiple times
(cherry picked from commit 65c073ec63)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* RemotePlugin.h - base class providing RPC like mechanisms
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2008-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
@@ -602,6 +602,14 @@ public:
|
||||
RemotePluginBase( shmFifo * _in, shmFifo * _out );
|
||||
virtual ~RemotePluginBase();
|
||||
|
||||
void reset( shmFifo *in, shmFifo *out )
|
||||
{
|
||||
delete m_in;
|
||||
delete m_out;
|
||||
m_in = in;
|
||||
m_out = out;
|
||||
}
|
||||
|
||||
void sendMessage( const message & _m );
|
||||
message receiveMessage();
|
||||
|
||||
@@ -695,8 +703,7 @@ private:
|
||||
class EXPORT RemotePlugin : public RemotePluginBase
|
||||
{
|
||||
public:
|
||||
RemotePlugin( const QString & _plugin_executable,
|
||||
bool _wait_for_init_done = true );
|
||||
RemotePlugin();
|
||||
virtual ~RemotePlugin();
|
||||
|
||||
inline bool isRunning()
|
||||
@@ -708,10 +715,11 @@ public:
|
||||
#endif
|
||||
}
|
||||
|
||||
inline void waitForInitDone( bool _busy_waiting = true )
|
||||
bool init( const QString &pluginExecutable, bool waitForInitDoneMsg );
|
||||
|
||||
inline void waitForInitDone( bool _busyWaiting = true )
|
||||
{
|
||||
m_failed = waitForMessage( IdInitDone,
|
||||
_busy_waiting ).id != IdInitDone;
|
||||
m_failed = waitForMessage( IdInitDone, _busyWaiting ).id != IdInitDone;
|
||||
}
|
||||
|
||||
virtual bool processMessage( const message & _m );
|
||||
|
||||
@@ -167,7 +167,7 @@ public:
|
||||
// 00
|
||||
int numEvents;
|
||||
// 04
|
||||
int reserved;
|
||||
void *reserved;
|
||||
// 08
|
||||
VstEvent * events[];
|
||||
|
||||
@@ -203,7 +203,7 @@ public:
|
||||
// 00-03
|
||||
int magic;
|
||||
// dispatcher 04-07
|
||||
int (* dispatcher)( AEffect * , int , int , int , void * , float );
|
||||
intptr_t (* dispatcher)( AEffect * , int , int , intptr_t, void * , float );
|
||||
// process, quite sure 08-0b
|
||||
void (* process)( AEffect * , float * * , float * * , int );
|
||||
// setParameter 0c-0f
|
||||
@@ -221,15 +221,16 @@ public:
|
||||
// flags 24-27
|
||||
int flags;
|
||||
// Fill somewhere 28-2b
|
||||
RemoteVstPlugin * user;
|
||||
void *ptr1;
|
||||
void *ptr2;
|
||||
// Zeroes 2c-2f 30-33 34-37 38-3b
|
||||
char empty3[4 + 4 + 4 + 4];
|
||||
char empty3[4 + 4 + 4];
|
||||
// 1.0f 3c-3f
|
||||
float unkown_float;
|
||||
// An object? pointer 40-43
|
||||
char empty4[4];
|
||||
void *ptr3;
|
||||
// Zeroes 44-47
|
||||
char empty5[4];
|
||||
void *user;
|
||||
// Id 48-4b
|
||||
int32_t uniqueID;
|
||||
// Don't know 4c-4f
|
||||
@@ -268,13 +269,7 @@ public:
|
||||
|
||||
|
||||
|
||||
|
||||
typedef long int (* audioMasterCallback)( AEffect * , long int , long int ,
|
||||
long int , void * , float );
|
||||
// we don't use it, may be noise
|
||||
#define VSTCALLBACK
|
||||
|
||||
|
||||
typedef intptr_t (* audioMasterCallback)( AEffect * , int32_t, int32_t, intptr_t, void * , float );
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user