26#if !defined(SAMPLE_TYPE_FLOAT) && !defined(SAMPLE_TYPE_DOUBLE)
27#define SAMPLE_TYPE_DOUBLE
30#ifdef SAMPLE_TYPE_DOUBLE
31using PLUG_SAMPLE_DST = double;
32using PLUG_SAMPLE_SRC = float;
34using PLUG_SAMPLE_DST = float;
35using PLUG_SAMPLE_SRC = double;
38using sample = PLUG_SAMPLE_DST;
40#define LOGFILE "IPlugLog.txt"
41#define MAX_PROCESS_TRACE_COUNT 100
42#define MAX_IDLE_TRACE_COUNT 15
54#ifdef IPLUG1_COMPATIBILITY
55 kBypassParam =
'bpas',
56 kPresetParam =
'prst',
65static const double PI = 3.1415926535897932384626433832795;
71static const double AMP_DB = 8.685889638065036553;
76static const double IAMP_DB = 0.11512925464970;
77static const double DEFAULT_SAMPLE_RATE = 48000.0;
78static const int MAX_PRESET_NAME_LEN = 256;
79#define UNUSED_PRESET_NAME "empty"
80#define DEFAULT_USER_PRESET_NAME "user preset"
82#define AU_MAX_IO_CHANNELS 128
84#define MAX_MACOS_PATH_LEN 1024
85#define MAX_WIN32_PATH_LEN 256
86#define MAX_WIN32_PARAM_LEN 256
87#define IPLUG_WIN_MAX_WIDE_PATH 4096
89#define MAX_PLUGIN_NAME_LEN 128
91#define MAX_PARAM_NAME_LEN 32
92#define MAX_PARAM_LABEL_LEN 32
93#define MAX_PARAM_DISPLAY_LEN 32
94#define MAX_PARAM_GROUP_LEN 32
95#define MAX_BUS_NAME_LEN 32
96#define MAX_CHAN_NAME_LEN 32
98#define MAX_VERSION_STR_LEN 32
99#define MAX_BUILD_INFO_STR_LEN 256
100static const int MAX_PARAM_DISPLAY_PRECISION = 6;
102#define MAX_AAX_PARAMID_LEN 32
104#define PARAM_UNINIT 99.99e-9
106#ifndef MAX_BLOB_LENGTH
107#define MAX_BLOB_LENGTH 2048
110#ifndef IDLE_TIMER_RATE
111#define IDLE_TIMER_RATE 20
114#ifndef MAX_SYSEX_SIZE
115#define MAX_SYSEX_SIZE 512
118#define PARAM_TRANSFER_SIZE 512
119#define MIDI_TRANSFER_SIZE 32
120#define SYSEX_TRANSFER_SIZE 4
123#define IPLUG_VERSION 0x010000
124#define IPLUG_VERSION_MAGIC 'pfft'
126static const int DEFAULT_BLOCK_SIZE = 1024;
127static const double DEFAULT_TEMPO = 120.0;
128static const int kNoParameter = -1;
129static const int kNoValIdx = -1;
130static const int kNoTag = -1;
132#define MAX_BUS_CHANS 64
164static const char* ParamSourceStrs[kNumParamSources] = {
"Reset",
"Host",
"Preset",
"UI",
"Editor Delegate",
"Recompile",
"Unknown"};
175static const char* RoutingDirStrs[2] = {
"Input",
"Output" };
219 kHostDigitalPerformer,
228 kHostWaveLabElements,
249enum EResourceLocation
258typedef char ChunkID[4];
271static const ChunkID commonChunks[kNumPresetChunks] = {
272 {
'V',
'S',
'T',
'3'},
273 {
'C',
'o',
'm',
'p'},
274 {
'C',
'o',
'n',
't'},
275 {
'P',
'r',
'o',
'g'},
276 {
'I',
'n',
'f',
'o'},
281static const int32_t kFormatVersion = 1;
282static const int32_t kClassIDSize = 32;
283static const int32_t kHeaderSize =
sizeof (ChunkID) +
sizeof (int32_t) + kClassIDSize +
sizeof (int64_t);
287static const int kFXPVersionNum = 1;
288static const int kFXBVersionNum = 2;
390 kVK_SEPARATOR = 0x6C,
EParamSource
Used to identify the source of a parameter change.
ERoute
Used to identify whether a bus/channel connection is an input or an output.
static const double IAMP_DB
Magic number for dB to gain conversion.
static const double AMP_DB
Magic number for gain to dB conversion.