-
Notifications
You must be signed in to change notification settings - Fork 41
/
rdwrops.h
82 lines (73 loc) · 1.55 KB
/
rdwrops.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*
dssi-vst: a DSSI plugin wrapper for VST effects and instruments
Copyright 2004-2007 Chris Cannam
*/
#ifndef _RD_WR_OPS_H_
#include "remoteplugin.h"
#include <linux/futex.h>
#include <syscall.h>
#include <atomic>
struct alignas(64) amessage {
int flags;
int pcount;
int parcount;
int incount;
int outcount;
int delay;
};
struct alignas(64) vinfo {
char a[64 + 8 + (sizeof(int32_t) * 2) + 48];
// char a[96];
};
struct alignas(64) winmessage {
int handle;
int width;
int height;
int winerror;
};
//#ifdef VST32
//struct alignas(32) ShmControl
//#else
struct alignas(64) ShmControl
//#endif
{
std::atomic_int runServer;
std::atomic_int runClient;
std::atomic_int nwaitersserver;
std::atomic_int nwaitersclient;
// int runServer;
// int runClient;
RemotePluginOpcode ropcode;
int retint;
float retfloat;
char retstr[512];
int opcode;
int value;
int value2;
int value3;
int value4;
float floatvalue;
bool retbool;
char timeget[sizeof(VstTimeInfo)];
char timeset[sizeof(VstTimeInfo)];
char amptr[sizeof(amessage)];
char vret[sizeof(vinfo)];
char wret[sizeof(winmessage)];
#ifndef VESTIGE
char vpin[sizeof(VstPinProperties)];
#endif
#ifdef MIDIEFF
char midikey[sizeof(MidiKeyName)];
char midiprogram[sizeof(MidiProgramName)];
char midiprogramcat[sizeof(MidiProgramCategory)];
char vstspeaker[sizeof(VstSpeakerArrangement)];
char vstspeaker2[sizeof(VstSpeakerArrangement)];
#endif
#ifdef CANDOEFF
char sendstr[512];
#endif
int createthread;
int parfin;
int timeinit;
};
#endif