-
Notifications
You must be signed in to change notification settings - Fork 3
/
Params.h
68 lines (54 loc) · 1.59 KB
/
Params.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
//
// Params.h
// Evaluator
//
// Created by Damien Quartz on 11/28/17.
//
#pragma once
#include <stdint.h>
enum EParams
{
kGain = 0,
kBitDepth = 1,
kRunMode = 2, // enumeration to control how we advance 't' in the program
kScopeWindow = 3, // amount of time in seconds that the scope window represents
kVControl0 = 4,
kVControl7 = kVControl0 + 7,
// this is only used by the standalone,
// but is included in the plug versions so that if someone saves an fxp from a DAW
// and then loads that fxp into the standalone, the tempo it was saved with will be present.
// it will be set to be not automatible, which will hide it in the VST3 version, at least.
kTempo,
kMidiNoteResetsTime, // does receiving a note-on set t to zero
kNumParams,
// used for text edit fields so the UI can call OnParamChange
kExpression = 101,
kExpressionLengthMax = 1024,
kWatch = 202, // starting paramIdx for watches
kWatchNum = 10, // total number of watches available
kTransportState = 301, // used to figure out if we should generate sound in the standalone
kBitDepthMin = 1,
kBitDepthMax = 24,
// these are in milliseconds
kScopeWindowMin = 1,
kScopeWindowMax = 2000,
kVControlMin = 0,
kVControlMax = 255,
kTempoMin = 1,
kTempoMax = 960,
};
enum RunMode : uint8_t
{
kRunModeAlways,
kRunModeMIDI, // continuously increment t if we have notes
#if !SA_API // there is no "Project Time" in the standalone version, so we don't allow this param to have that value
kRunModeProjectTime,
#endif
kRunModeCount
};
enum TransportState
{
kTransportStopped = 0,
kTransportPaused,
kTransportPlaying
};