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
53#ifdef IPLUG1_COMPATIBILITY
54 kBypassParam =
'bpas',
55 kPresetParam =
'prst',
64static const double PI = 3.1415926535897932384626433832795;
70static const double AMP_DB = 8.685889638065036553;
75static const double IAMP_DB = 0.11512925464970;
76static const double DEFAULT_SAMPLE_RATE = 48000.0;
77static const int MAX_PRESET_NAME_LEN = 256;
78#define UNUSED_PRESET_NAME "empty"
79#define DEFAULT_USER_PRESET_NAME "user preset"
81#define AU_MAX_IO_CHANNELS 128
83#define MAX_MACOS_PATH_LEN 1024
84#define MAX_WIN32_PATH_LEN 256
85#define MAX_WIN32_PARAM_LEN 256
86#define IPLUG_WIN_MAX_WIDE_PATH 4096
88#define MAX_PLUGIN_NAME_LEN 128
90#define MAX_PARAM_NAME_LEN 32
91#define MAX_PARAM_LABEL_LEN 32
92#define MAX_PARAM_DISPLAY_LEN 32
93#define MAX_PARAM_GROUP_LEN 32
94#define MAX_BUS_NAME_LEN 32
95#define MAX_CHAN_NAME_LEN 32
97#define MAX_VERSION_STR_LEN 32
98#define MAX_BUILD_INFO_STR_LEN 256
99static const int MAX_PARAM_DISPLAY_PRECISION = 6;
101#define MAX_AAX_PARAMID_LEN 32
103#define PARAM_UNINIT 99.99e-9
105#ifndef MAX_BLOB_LENGTH
106#define MAX_BLOB_LENGTH 2048
109#ifndef IDLE_TIMER_RATE
110#define IDLE_TIMER_RATE 20
113#ifndef MAX_SYSEX_SIZE
114#define MAX_SYSEX_SIZE 512
117#define PARAM_TRANSFER_SIZE 512
118#define MIDI_TRANSFER_SIZE 32
119#define SYSEX_TRANSFER_SIZE 4
122#define IPLUG_VERSION 0x010000
123#define IPLUG_VERSION_MAGIC 'pfft'
125static const int DEFAULT_BLOCK_SIZE = 1024;
126static const double DEFAULT_TEMPO = 120.0;
127static const int kNoParameter = -1;
128static const int kNoValIdx = -1;
129static const int kNoTag = -1;
131#define MAX_BUS_CHANS 64
163static const char* ParamSourceStrs[kNumParamSources] = {
"Reset",
"Host",
"Preset",
"UI",
"Editor Delegate",
"Recompile",
"Unknown"};
174static const char* RoutingDirStrs[2] = {
"Input",
"Output" };
217 kHostDigitalPerformer,
226 kHostWaveLabElements,
247enum EResourceLocation
256typedef char ChunkID[4];
269static const ChunkID commonChunks[kNumPresetChunks] = {
270 {
'V',
'S',
'T',
'3'},
271 {
'C',
'o',
'm',
'p'},
272 {
'C',
'o',
'n',
't'},
273 {
'P',
'r',
'o',
'g'},
274 {
'I',
'n',
'f',
'o'},
279static const int32_t kFormatVersion = 1;
280static const int32_t kClassIDSize = 32;
281static const int32_t kHeaderSize =
sizeof (ChunkID) +
sizeof (int32_t) + kClassIDSize +
sizeof (int64_t);
285static const int kFXPVersionNum = 1;
286static const int kFXBVersionNum = 2;
388 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.