-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsf2-service.d.ts
104 lines (98 loc) · 1.97 KB
/
sf2-service.d.ts
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
export interface SF2Program {
zMap: ZMap[];
pid: number;
bkid: number;
shdrMap: { [key: string]: Shdr };
url: URL;
zref: number;
name: string;
}
export interface Shdr {
nsamples: number;
range: number[];
loops: number[];
SampleId: number;
sampleRate: number;
originalPitch: number;
url: URL;
name: string;
}
export enum URL {
Sf2ServiceFileSf2 = "sf2-service/file.sf2",
}
export interface ZMap {
pid: number;
bkid: number;
ref: number;
StartAddrOfs: number;
EndAddrOfs: number;
StartLoopAddrOfs: number;
EndLoopAddrOfs: number;
StartAddrCoarseOfs: number;
ModLFO2Pitch: number;
VibLFO2Pitch: number;
ModEnv2Pitch: number;
FilterFc: number;
FilterQ: number;
ModLFO2FilterFc: number;
ModEnv2FilterFc: number;
EndAddrCoarseOfs: number;
ModLFO2Vol: number;
Unused1: number;
ChorusSend: number;
ReverbSend: number;
Pan: number;
IbagId: number;
PBagId: number;
Unused4: number;
ModLFODelay: number;
ModLFOFreq: number;
VibLFODelay: number;
VibLFOFreq: number;
ModEnvDelay: number;
ModEnvAttack: number;
ModEnvHold: number;
ModEnvDecay: number;
ModEnvSustain: number;
ModEnvRelease: number;
Key2ModEnvHold: number;
Key2ModEnvDecay: number;
VolEnvDelay: number;
VolEnvAttack: number;
VolEnvHold: number;
VolEnvDecay: number;
VolEnvSustain: number;
VolEnvRelease: number;
Key2VolEnvHold: number;
Key2VolEnvDecay: number;
Instrument: number;
Reserved1: number;
KeyRange: Range;
VelRange: Range;
StartLoopAddrCoarseOfs: number;
Keynum: number;
Velocity: number;
Attenuation: number;
Reserved2: number;
EndLoopAddrCoarseOfs: number;
CoarseTune: number;
FineTune: number;
SampleId: number;
SampleModes: number;
Reserved3: number;
ScaleTune: number;
ExclusiveClass: number;
OverrideRootKey: number;
Dummy: number;
arr: { [key: string]: number };
shdr: Shdr;
instrument: Instrument;
}
export interface Range {
hi: number;
lo: number;
}
export enum Instrument {
The0PulseWidth75 = "0 Pulse Width 75%",
The0SawIncline = "0 Saw Incline",
}