-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathensemble.tl
145 lines (73 loc) · 4.28 KB
/
ensemble.tl
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
vector {t:Type} # [ t ] = Vector t;
apiError message:String = ApiError;
audioDevice index:Int name:String = AudioDevice;
audioOutput left:vector<Float> right:vector<Float> = AudioOutput;
clapVersion major:Word32 minor:Word32 revision:Word32 = ClapVersion;
eventNoteOn noteId:Int32 portIndex:Int16 channel:Int16 key:Int16 velocity:Double = Event;
eventNoteOff noteId:Int32 portIndex:Int16 channel:Int16 key:Int16 velocity:Double = Event;
eventNoteChoke noteId:Int32 portIndex:Int16 channel:Int16 key:Int16 = Event;
eventNoteEnd noteId:Int32 portIndex:Int16 channel:Int16 key:Int16 = Event;
eventNoteExpression noteId:Int32 portIndex:Int16 channel:Int16 key:Int16 value:NoteExpression = Event;
eventParamValue paramId:Int cookie:Void noteId:Int32 portIndex:Int16 channel:Int16 key:Int16 value:Double = Event;
eventParamMod paramId:Int cookie:Void noteId:Int32 portIndex:Int16 channel:Int16 key:Int16 amount:Double = Event;
eventParamGestureBegin paramId:Int = Event;
eventParamGestureEnd paramId:Int = Event;
eventTransport flags:vector<TransportFlag> songPositionBeats:Word64 songPositionSeconds:Word64 tempo:Double tempoIncrement:Double loopStartBeats:Word64 loopEndBeats:Word64 loopStartSeconds:Word64 loopEndSeconds:Word64 barStart:Word64 barNumber:Int32 timeSignatureNumerator:Word16 timeSignatureDenominator:Word16 = Event;
eventMidi portIndex:Word16 data:MidiData = Event;
eventMidiSysex portIndex:Word16 buffer:vector<Word8> = Event;
eventMidi2 portIndex:Word16 data:Midi2Data = Event;
eventConfig time:Word32 spaceId:Word16 flags:vector<EventFlag> = EventConfig;
eventFlagIsLive = EventFlag;
eventFlagDoNotRecord = EventFlag;
parameterInfo index:Int id:Int flags:vector<ParameterFlag> cookie:Void name:String module:String minimumValue:Double maximumValue:Double defaultValue:Double = ParameterInfo;
pluginDescriptor clapVersion:ClapVersion id:String name:String vendor:String url:String manualUrl:String supportUrl:String version:String description:String features:vector<String> = PluginDescriptor;
pluginId id:Int = PluginId;
pluginInfo filePath:String index:Int descriptor:PluginDescriptor = PluginInfo;
midiData first:Word8 second:Word8 third:Word8 = MidiData;
midi2Data first:Word32 second:Word32 third:Word32 fourth:Word32 = Midi2Data;
noteExpressionVolume value:Double = NoteExpression;
noteExpressionPan value:Double = NoteExpression;
noteExpressionTuning value:Double = NoteExpression;
noteExpressionVibrato value:Double = NoteExpression;
noteExpressionExpression value:Double = NoteExpression;
noteExpressionBrightness value:Double = NoteExpression;
noteExpressionPressure value:Double = NoteExpression;
transportFlagHasTempo = TransportFlag;
transportFlagHasBeatsTimeline = TransportFlag;
transportFlagHasSecondsTimeline = TransportFlag;
transportFlagHasTimeSignature = TransportFlag;
transportFlagIsPlaying = TransportFlag;
transportFlagIsRecording = TransportFlag;
transportFlagIsLoopActive = TransportFlag;
transportFlagIsWithinPreRoll = TransportFlag;
midiDevice index:Int interface:String name:String input:Bool output:Bool opened:Bool = MidiDevice;
ok = Ok;
playbackEventRendering = PlaybackEvent;
playbackEventStarted = PlaybackEvent;
playbackEventStopped = PlaybackEvent;
playbackEventLooped = PlaybackEvent;
playbackEventCurrentTick value:Int = PlaybackEvent;
sequencerEvent nodeId:Int eventConfig:EventConfig event:Event = SequencerEvent;
size width:Int height:Int = Size;
windowInfo parentHandle:Int handle:Int width:Int height:Int = WindowInfo;
---functions---
clearSequence = Ok;
createMidiDeviceNode deviceId:Int = Int;
createPluginNode filePath:String pluginIndex:Int = Int;
deleteNode nodeId:Int = Ok;
echo string:String = String;
getAudioDevices = vector<AudioDevice>;
getCurrentTick = Int;
getMidiDevices = vector<MidiDevice>;
getPluginLocations = vector<String>;
getPluginParameters nodeId:Int = vector<ParameterInfo>;
getPluginParameterValue nodeId:Int parameterId:Int = Double;
openPluginGUI nodeId:Int name:String parentWindow:Int scale:Double preferredSize:Size = Size;
ping = Ok;
playSequence startTick:Int endTick:Int loop:Bool = Ok;
scanForPlugins filePaths:vector<String> = vector<PluginInfo>;
sendEvent sequencerEvent:SequencerEvent = Ok;
scheduleEvent tick:Int sequencerEvent:SequencerEvent = Ok;
startEngine = Ok;
stopEngine = Ok;
stopPlayback = Ok;