-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreaper_functions.zig
6130 lines (5319 loc) · 346 KB
/
reaper_functions.zig
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
const MediaTrack = *opaque {};
const MediaItem = *opaque {};
const ReaProject = *opaque {};
const MediaItem_Take = *opaque {};
const audio_hook_register_t = *opaque {};
const AudioAccessor = *opaque {};
const PCM_source_transfer_t = *opaque {};
const PCM_source_peaktransfer_t = *opaque {};
const KbdSectionInfo = *opaque {};
const TrackEnvelope = *opaque {};
const midi_Input = *opaque {};
const midi_Output = *opaque {};
const IReaperControlSurface = *opaque {};
const HWND = *opaque {};
const RECT = *opaque {};
const GUID = *opaque {};
const INT_PTR = *opaque {};
const HMENU = *opaque {};
const PCM_source = *opaque {};
const LICE_IBitmap = *opaque {};
const joystick_device = *opaque {};
const ACCEL = *opaque {};
const DWORD = *opaque {};
const MIDI_event_t = *opaque {};
const MIDI_eventlist = *opaque {};
const MSG = *opaque {};
const LICE_IFont = *opaque {};
const UINT = *opaque {};
const HDC = *opaque {};
const LICE_pixel = *opaque {};
const HFONT = *opaque {};
const LICE_pixel_chan = *opaque {};
const HINSTANCE = *opaque {};
const PCM_sink = *opaque {};
const ISimpleMediaDecoder = *opaque {};
const REAPER_PeakBuild_Interface = *opaque {};
const REAPER_PeakGet_Interface = *opaque {};
const preview_register_t = *opaque {};
const IReaperPitchShift = *opaque {};
const REAPER_Resample_Interface = *opaque {};
const screensetNewCallbackFunc = *opaque {};
const WDL_VirtualWnd_BGCfg = *opaque {};
pub const fnPtrs = struct {
pub var __mergesort: *fn (base: ?*anyopaque, nmemb: usize, size: usize, cmpfunc: ?*fn (*const anyopaque, *const anyopaque) callconv(.C) c_int, tmpspace: ?*anyopaque) callconv(.C) void = undefined;
pub var AddCustomizableMenu: *fn (menuidstr: [*:0]const u8, menuname: [*:0]const u8, kbdsecname: [*:0]const u8, addtomainmenu: bool) callconv(.C) bool = undefined;
pub var AddExtensionsMainMenu: *fn () callconv(.C) bool = undefined;
pub var AddMediaItemToTrack: *fn (tr: ?MediaTrack) callconv(.C) ?MediaItem = undefined;
pub var AddProjectMarker: *fn (proj: ?ReaProject, isrgn: bool, pos: f64, rgnend: f64, name: [*:0]const u8, wantidx: c_int) callconv(.C) c_int = undefined;
pub var AddProjectMarker2: *fn (proj: ?ReaProject, isrgn: bool, pos: f64, rgnend: f64, name: [*:0]const u8, wantidx: c_int, color: c_int) callconv(.C) c_int = undefined;
pub var AddRemoveReaScript: *fn (add: bool, sectionID: c_int, scriptfn: [*:0]const u8, commit: bool) callconv(.C) c_int = undefined;
pub var AddTakeToMediaItem: *fn (item: ?MediaItem) callconv(.C) ?MediaItem_Take = undefined;
pub var AddTempoTimeSigMarker: *fn (proj: ?ReaProject, timepos: f64, bpm: f64, timesig_num: c_int, timesig_denom: c_int, lineartempochange: bool) callconv(.C) bool = undefined;
pub var adjustZoom: *fn (amt: f64, forceset: c_int, doupd: bool, centermode: c_int) callconv(.C) void = undefined;
pub var AnyTrackSolo: *fn (proj: ?ReaProject) callconv(.C) bool = undefined;
pub var APIExists: *fn (function_name: [*:0]const u8) callconv(.C) bool = undefined;
pub var APITest: *fn () callconv(.C) void = undefined;
pub var ApplyNudge: *fn (project: ?ReaProject, nudgeflag: c_int, nudgewhat: c_int, nudgeunits: c_int, value: f64, reverse: bool, copies: c_int) callconv(.C) bool = undefined;
pub var ArmCommand: *fn (cmd: c_int, sectionname: [*:0]const u8) callconv(.C) void = undefined;
pub var Audio_Init: *fn () callconv(.C) void = undefined;
pub var Audio_IsPreBuffer: *fn () callconv(.C) c_int = undefined;
pub var Audio_IsRunning: *fn () callconv(.C) c_int = undefined;
pub var Audio_Quit: *fn () callconv(.C) void = undefined;
pub var Audio_RegHardwareHook: *fn (isAdd: bool, reg: ?audio_hook_register_t) callconv(.C) c_int = undefined;
pub var AudioAccessorStateChanged: *fn (accessor: ?AudioAccessor) callconv(.C) bool = undefined;
pub var AudioAccessorUpdate: *fn (accessor: ?AudioAccessor) callconv(.C) void = undefined;
pub var AudioAccessorValidateState: *fn (accessor: ?AudioAccessor) callconv(.C) bool = undefined;
pub var BypassFxAllTracks: *fn (bypass: c_int) callconv(.C) void = undefined;
pub var CalculatePeaks: *fn (srcBlock: ?PCM_source_transfer_t, pksBlock: ?PCM_source_peaktransfer_t) callconv(.C) c_int = undefined;
pub var CalculatePeaksFloatSrcPtr: *fn (srcBlock: ?PCM_source_transfer_t, pksBlock: ?PCM_source_peaktransfer_t) callconv(.C) c_int = undefined;
pub var ClearAllRecArmed: *fn () callconv(.C) void = undefined;
pub var ClearConsole: *fn () callconv(.C) void = undefined;
pub var ClearPeakCache: *fn () callconv(.C) void = undefined;
pub var ColorFromNative: *fn (col: c_int, rOut: ?*c_int, gOut: ?*c_int, bOut: ?*c_int) callconv(.C) void = undefined;
pub var ColorToNative: *fn (r: c_int, g: c_int, b: c_int) callconv(.C) c_int = undefined;
pub var CountActionShortcuts: *fn (section: ?KbdSectionInfo, cmdID: c_int) callconv(.C) c_int = undefined;
pub var CountAutomationItems: *fn (env: ?TrackEnvelope) callconv(.C) c_int = undefined;
pub var CountEnvelopePoints: *fn (envelope: ?TrackEnvelope) callconv(.C) c_int = undefined;
pub var CountEnvelopePointsEx: *fn (envelope: ?TrackEnvelope, autoitem_idx: c_int) callconv(.C) c_int = undefined;
pub var CountMediaItems: *fn (proj: ?ReaProject) callconv(.C) c_int = undefined;
pub var CountProjectMarkers: *fn (proj: ?ReaProject, num_markersOut: ?*c_int, num_regionsOut: ?*c_int) callconv(.C) c_int = undefined;
pub var CountSelectedMediaItems: *fn (proj: ?ReaProject) callconv(.C) c_int = undefined;
pub var CountSelectedTracks: *fn (proj: ?ReaProject) callconv(.C) c_int = undefined;
pub var CountSelectedTracks2: *fn (proj: ?ReaProject, wantmaster: bool) callconv(.C) c_int = undefined;
pub var CountTakeEnvelopes: *fn (take: ?MediaItem_Take) callconv(.C) c_int = undefined;
pub var CountTakes: *fn (item: ?MediaItem) callconv(.C) c_int = undefined;
pub var CountTCPFXParms: *fn (project: ?ReaProject, track: ?MediaTrack) callconv(.C) c_int = undefined;
pub var CountTempoTimeSigMarkers: *fn (proj: ?ReaProject) callconv(.C) c_int = undefined;
pub var CountTrackEnvelopes: *fn (track: ?MediaTrack) callconv(.C) c_int = undefined;
pub var CountTrackMediaItems: *fn (track: ?MediaTrack) callconv(.C) c_int = undefined;
pub var CountTracks: *fn (projOptional: ?ReaProject) callconv(.C) c_int = undefined;
pub var CreateLocalOscHandler: *fn (obj: ?*anyopaque, callback: ?*anyopaque) callconv(.C) ?*anyopaque = undefined;
pub var CreateMIDIInput: *fn (dev: c_int) callconv(.C) ?midi_Input = undefined;
pub var CreateMIDIOutput: *fn (dev: c_int, streamMode: bool, msoffset100: ?*c_int) callconv(.C) ?midi_Output = undefined;
pub var CreateNewMIDIItemInProj: *fn (track: ?MediaTrack, starttime: f64, endtime: f64, qnInOptional: ?*const bool) callconv(.C) ?MediaItem = undefined;
pub var CreateTakeAudioAccessor: *fn (take: ?MediaItem_Take) callconv(.C) ?AudioAccessor = undefined;
pub var CreateTrackAudioAccessor: *fn (track: ?MediaTrack) callconv(.C) ?AudioAccessor = undefined;
pub var CreateTrackSend: *fn (tr: ?MediaTrack, desttrInOptional: ?MediaTrack) callconv(.C) c_int = undefined;
pub var CSurf_FlushUndo: *fn (force: bool) callconv(.C) void = undefined;
pub var CSurf_GetTouchState: *fn (trackid: ?MediaTrack, isPan: c_int) callconv(.C) bool = undefined;
pub var CSurf_GoEnd: *fn () callconv(.C) void = undefined;
pub var CSurf_GoStart: *fn () callconv(.C) void = undefined;
pub var CSurf_NumTracks: *fn (mcpView: bool) callconv(.C) c_int = undefined;
pub var CSurf_OnArrow: *fn (whichdir: c_int, wantzoom: bool) callconv(.C) void = undefined;
pub var CSurf_OnFwd: *fn (seekplay: c_int) callconv(.C) void = undefined;
pub var CSurf_OnFXChange: *fn (trackid: ?MediaTrack, en: c_int) callconv(.C) bool = undefined;
pub var CSurf_OnInputMonitorChange: *fn (trackid: ?MediaTrack, monitor: c_int) callconv(.C) c_int = undefined;
pub var CSurf_OnInputMonitorChangeEx: *fn (trackid: ?MediaTrack, monitor: c_int, allowgang: bool) callconv(.C) c_int = undefined;
pub var CSurf_OnMuteChange: *fn (trackid: ?MediaTrack, mute: c_int) callconv(.C) bool = undefined;
pub var CSurf_OnMuteChangeEx: *fn (trackid: ?MediaTrack, mute: c_int, allowgang: bool) callconv(.C) bool = undefined;
pub var CSurf_OnOscControlMessage: *fn (msg: [*:0]const u8, arg: ?*f32) callconv(.C) void = undefined;
pub var CSurf_OnPanChange: *fn (trackid: ?MediaTrack, pan: f64, relative: bool) callconv(.C) f64 = undefined;
pub var CSurf_OnPanChangeEx: *fn (trackid: ?MediaTrack, pan: f64, relative: bool, allowGang: bool) callconv(.C) f64 = undefined;
pub var CSurf_OnPause: *fn () callconv(.C) void = undefined;
pub var CSurf_OnPlay: *fn () callconv(.C) void = undefined;
pub var CSurf_OnPlayRateChange: *fn (playrate: f64) callconv(.C) void = undefined;
pub var CSurf_OnRecArmChange: *fn (trackid: ?MediaTrack, recarm: c_int) callconv(.C) bool = undefined;
pub var CSurf_OnRecArmChangeEx: *fn (trackid: ?MediaTrack, recarm: c_int, allowgang: bool) callconv(.C) bool = undefined;
pub var CSurf_OnRecord: *fn () callconv(.C) void = undefined;
pub var CSurf_OnRecvPanChange: *fn (trackid: ?MediaTrack, recv_index: c_int, pan: f64, relative: bool) callconv(.C) f64 = undefined;
pub var CSurf_OnRecvVolumeChange: *fn (trackid: ?MediaTrack, recv_index: c_int, volume: f64, relative: bool) callconv(.C) f64 = undefined;
pub var CSurf_OnRew: *fn (seekplay: c_int) callconv(.C) void = undefined;
pub var CSurf_OnRewFwd: *fn (seekplay: c_int, dir: c_int) callconv(.C) void = undefined;
pub var CSurf_OnScroll: *fn (xdir: c_int, ydir: c_int) callconv(.C) void = undefined;
pub var CSurf_OnSelectedChange: *fn (trackid: ?MediaTrack, selected: c_int) callconv(.C) bool = undefined;
pub var CSurf_OnSendPanChange: *fn (trackid: ?MediaTrack, send_index: c_int, pan: f64, relative: bool) callconv(.C) f64 = undefined;
pub var CSurf_OnSendVolumeChange: *fn (trackid: ?MediaTrack, send_index: c_int, volume: f64, relative: bool) callconv(.C) f64 = undefined;
pub var CSurf_OnSoloChange: *fn (trackid: ?MediaTrack, solo: c_int) callconv(.C) bool = undefined;
pub var CSurf_OnSoloChangeEx: *fn (trackid: ?MediaTrack, solo: c_int, allowgang: bool) callconv(.C) bool = undefined;
pub var CSurf_OnStop: *fn () callconv(.C) void = undefined;
pub var CSurf_OnTempoChange: *fn (bpm: f64) callconv(.C) void = undefined;
pub var CSurf_OnTrackSelection: *fn (trackid: ?MediaTrack) callconv(.C) void = undefined;
pub var CSurf_OnVolumeChange: *fn (trackid: ?MediaTrack, volume: f64, relative: bool) callconv(.C) f64 = undefined;
pub var CSurf_OnVolumeChangeEx: *fn (trackid: ?MediaTrack, volume: f64, relative: bool, allowGang: bool) callconv(.C) f64 = undefined;
pub var CSurf_OnWidthChange: *fn (trackid: ?MediaTrack, width: f64, relative: bool) callconv(.C) f64 = undefined;
pub var CSurf_OnWidthChangeEx: *fn (trackid: ?MediaTrack, width: f64, relative: bool, allowGang: bool) callconv(.C) f64 = undefined;
pub var CSurf_OnZoom: *fn (xdir: c_int, ydir: c_int) callconv(.C) void = undefined;
pub var CSurf_ResetAllCachedVolPanStates: *fn () callconv(.C) void = undefined;
pub var CSurf_ScrubAmt: *fn (amt: f64) callconv(.C) void = undefined;
pub var CSurf_SetAutoMode: *fn (mode: c_int, ignoresurf: ?IReaperControlSurface) callconv(.C) void = undefined;
pub var CSurf_SetPlayState: *fn (play: bool, pause: bool, rec: bool, ignoresurf: ?IReaperControlSurface) callconv(.C) void = undefined;
pub var CSurf_SetRepeatState: *fn (rep: bool, ignoresurf: ?IReaperControlSurface) callconv(.C) void = undefined;
pub var CSurf_SetSurfaceMute: *fn (trackid: ?MediaTrack, mute: bool, ignoresurf: ?IReaperControlSurface) callconv(.C) void = undefined;
pub var CSurf_SetSurfacePan: *fn (trackid: ?MediaTrack, pan: f64, ignoresurf: ?IReaperControlSurface) callconv(.C) void = undefined;
pub var CSurf_SetSurfaceRecArm: *fn (trackid: ?MediaTrack, recarm: bool, ignoresurf: ?IReaperControlSurface) callconv(.C) void = undefined;
pub var CSurf_SetSurfaceSelected: *fn (trackid: ?MediaTrack, selected: bool, ignoresurf: ?IReaperControlSurface) callconv(.C) void = undefined;
pub var CSurf_SetSurfaceSolo: *fn (trackid: ?MediaTrack, solo: bool, ignoresurf: ?IReaperControlSurface) callconv(.C) void = undefined;
pub var CSurf_SetSurfaceVolume: *fn (trackid: ?MediaTrack, volume: f64, ignoresurf: ?IReaperControlSurface) callconv(.C) void = undefined;
pub var CSurf_SetTrackListChange: *fn () callconv(.C) void = undefined;
pub var CSurf_TrackFromID: *fn (idx: c_int, mcpView: bool) callconv(.C) ?MediaTrack = undefined;
pub var CSurf_TrackToID: *fn (track: ?MediaTrack, mcpView: bool) callconv(.C) c_int = undefined;
pub var DB2SLIDER: *fn (x: f64) callconv(.C) f64 = undefined;
pub var DeleteActionShortcut: *fn (section: ?KbdSectionInfo, cmdID: c_int, shortcutidx: c_int) callconv(.C) bool = undefined;
pub var DeleteEnvelopePointEx: *fn (envelope: ?TrackEnvelope, autoitem_idx: c_int, ptidx: c_int) callconv(.C) bool = undefined;
pub var DeleteEnvelopePointRange: *fn (envelope: ?TrackEnvelope, time_start: f64, time_end: f64) callconv(.C) bool = undefined;
pub var DeleteEnvelopePointRangeEx: *fn (envelope: ?TrackEnvelope, autoitem_idx: c_int, time_start: f64, time_end: f64) callconv(.C) bool = undefined;
pub var DeleteExtState: *fn (section: [*:0]const u8, key: [*:0]const u8, persist: bool) callconv(.C) void = undefined;
pub var DeleteProjectMarker: *fn (proj: ?ReaProject, markrgnindexnumber: c_int, isrgn: bool) callconv(.C) bool = undefined;
pub var DeleteProjectMarkerByIndex: *fn (proj: ?ReaProject, markrgnidx: c_int) callconv(.C) bool = undefined;
pub var DeleteTakeMarker: *fn (take: ?MediaItem_Take, idx: c_int) callconv(.C) bool = undefined;
pub var DeleteTakeStretchMarkers: *fn (take: ?MediaItem_Take, idx: c_int, countInOptional: ?*c_int) callconv(.C) c_int = undefined;
pub var DeleteTempoTimeSigMarker: *fn (project: ?ReaProject, markerindex: c_int) callconv(.C) bool = undefined;
pub var DeleteTrack: *fn (tr: ?MediaTrack) callconv(.C) void = undefined;
pub var DeleteTrackMediaItem: *fn (tr: ?MediaTrack, it: ?MediaItem) callconv(.C) bool = undefined;
pub var DestroyAudioAccessor: *fn (accessor: ?AudioAccessor) callconv(.C) void = undefined;
pub var DestroyLocalOscHandler: *fn (local_osc_handler: ?*anyopaque) callconv(.C) void = undefined;
pub var DoActionShortcutDialog: *fn (hwnd: HWND, section: ?KbdSectionInfo, cmdID: c_int, shortcutidx: c_int) callconv(.C) bool = undefined;
pub var Dock_UpdateDockID: *fn (ident_str: [*:0]const u8, whichDock: c_int) callconv(.C) void = undefined;
pub var DockGetPosition: *fn (whichDock: c_int) callconv(.C) c_int = undefined;
pub var DockIsChildOfDock: *fn (hwnd: HWND, isFloatingDockerOut: ?*bool) callconv(.C) c_int = undefined;
pub var DockWindowActivate: *fn (hwnd: HWND) callconv(.C) void = undefined;
pub var DockWindowAdd: *fn (hwnd: HWND, name: [*:0]const u8, pos: c_int, allowShow: bool) callconv(.C) void = undefined;
pub var DockWindowAddEx: *fn (hwnd: HWND, name: [*:0]const u8, identstr: [*:0]const u8, allowShow: bool) callconv(.C) void = undefined;
pub var DockWindowRefresh: *fn () callconv(.C) void = undefined;
pub var DockWindowRefreshForHWND: *fn (hwnd: HWND) callconv(.C) void = undefined;
pub var DockWindowRemove: *fn (hwnd: HWND) callconv(.C) void = undefined;
pub var DuplicateCustomizableMenu: *fn (srcmenu: ?*anyopaque, destmenu: ?*anyopaque) callconv(.C) bool = undefined;
pub var EditTempoTimeSigMarker: *fn (project: ?ReaProject, markerindex: c_int) callconv(.C) bool = undefined;
pub var EnsureNotCompletelyOffscreen: *fn (rInOut: ?RECT) callconv(.C) void = undefined;
pub var EnumerateFiles: *fn (path: [*:0]const u8, fileindex: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var EnumerateSubdirectories: *fn (path: [*:0]const u8, subdirindex: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var EnumPitchShiftModes: *fn (mode: c_int, strOut: [*:0]const u8) callconv(.C) bool = undefined;
pub var EnumPitchShiftSubModes: *fn (mode: c_int, submode: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var EnumProjectMarkers: *fn (idx: c_int, isrgnOut: ?*bool, posOut: ?*f64, rgnendOut: ?*f64, nameOut: [*:0]const u8, markrgnindexnumberOut: ?*c_int) callconv(.C) c_int = undefined;
pub var EnumProjectMarkers2: *fn (proj: ?ReaProject, idx: c_int, isrgnOut: ?*bool, posOut: ?*f64, rgnendOut: ?*f64, nameOut: [*:0]const u8, markrgnindexnumberOut: ?*c_int) callconv(.C) c_int = undefined;
pub var EnumProjectMarkers3: *fn (proj: ?ReaProject, idx: c_int, isrgnOut: ?*bool, posOut: ?*f64, rgnendOut: ?*f64, nameOut: [*:0]const u8, markrgnindexnumberOut: ?*c_int, colorOut: ?*c_int) callconv(.C) c_int = undefined;
pub var EnumProjects: *fn (idx: c_int, projfnOutOptional: [*:0]u8, projfnOutOptional_sz: c_int) callconv(.C) ?ReaProject = undefined;
pub var EnumProjExtState: *fn (proj: ?ReaProject, extname: [*:0]const u8, idx: c_int, keyOutOptional: [*:0]u8, keyOutOptional_sz: c_int, valOutOptional: [*:0]u8, valOutOptional_sz: c_int) callconv(.C) bool = undefined;
pub var EnumRegionRenderMatrix: *fn (proj: ?ReaProject, regionindex: c_int, rendertrack: c_int) callconv(.C) ?MediaTrack = undefined;
pub var EnumTrackMIDIProgramNames: *fn (track: c_int, programNumber: c_int, programName: [*:0]u8, programName_sz: c_int) callconv(.C) bool = undefined;
pub var EnumTrackMIDIProgramNamesEx: *fn (proj: ?ReaProject, track: ?MediaTrack, programNumber: c_int, programName: [*:0]u8, programName_sz: c_int) callconv(.C) bool = undefined;
pub var Envelope_Evaluate: *fn (envelope: ?TrackEnvelope, time: f64, samplerate: f64, samplesRequested: c_int, valueOutOptional: ?*f64, dVdSOutOptional: ?*f64, ddVdSOutOptional: ?*f64, dddVdSOutOptional: ?*f64) callconv(.C) c_int = undefined;
pub var Envelope_FormatValue: *fn (env: ?TrackEnvelope, value: f64, bufOut: [*:0]u8, bufOut_sz: c_int) callconv(.C) void = undefined;
pub var Envelope_GetParentTake: *fn (env: ?TrackEnvelope, indexOutOptional: ?*c_int, index2OutOptional: ?*c_int) callconv(.C) ?MediaItem_Take = undefined;
pub var Envelope_GetParentTrack: *fn (env: ?TrackEnvelope, indexOutOptional: ?*c_int, index2OutOptional: ?*c_int) callconv(.C) ?MediaTrack = undefined;
pub var Envelope_SortPoints: *fn (envelope: ?TrackEnvelope) callconv(.C) bool = undefined;
pub var Envelope_SortPointsEx: *fn (envelope: ?TrackEnvelope, autoitem_idx: c_int) callconv(.C) bool = undefined;
pub var ExecProcess: *fn (cmdline: [*:0]const u8, timeoutmsec: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var file_exists: *fn (path: [*:0]const u8) callconv(.C) bool = undefined;
pub var FindTempoTimeSigMarker: *fn (project: ?ReaProject, time: f64) callconv(.C) c_int = undefined;
pub var format_timestr: *fn (tpos: f64, buf: [*:0]u8, buf_sz: c_int) callconv(.C) void = undefined;
pub var format_timestr_len: *fn (tpos: f64, buf: [*:0]u8, buf_sz: c_int, offset: f64, modeoverride: c_int) callconv(.C) void = undefined;
pub var format_timestr_pos: *fn (tpos: f64, buf: [*:0]u8, buf_sz: c_int, modeoverride: c_int) callconv(.C) void = undefined;
pub var FreeHeapPtr: *fn (ptr: ?*anyopaque) callconv(.C) void = undefined;
pub var genGuid: *fn (g: ?GUID) callconv(.C) void = undefined;
pub var get_config_var: *fn (name: [*:0]const u8, szOut: ?*c_int) callconv(.C) ?*anyopaque = undefined;
pub var get_config_var_string: *fn (name: [*:0]const u8, bufOut: [*:0]u8, bufOut_sz: c_int) callconv(.C) bool = undefined;
pub var get_ini_file: *fn () callconv(.C) [*:0]const u8 = undefined;
pub var get_midi_config_var: *fn (name: [*:0]const u8, szOut: ?*c_int) callconv(.C) ?*anyopaque = undefined;
pub var GetActionShortcutDesc: *fn (section: ?KbdSectionInfo, cmdID: c_int, shortcutidx: c_int, desc: [*:0]u8, desclen: c_int) callconv(.C) bool = undefined;
pub var GetActiveTake: *fn (item: ?MediaItem) callconv(.C) ?MediaItem_Take = undefined;
pub var GetAllProjectPlayStates: *fn (ignoreProject: ?ReaProject) callconv(.C) c_int = undefined;
pub var GetAppVersion: *fn () callconv(.C) [*:0]const u8 = undefined;
pub var GetArmedCommand: *fn (secOut: [*:0]u8, secOut_sz: c_int) callconv(.C) c_int = undefined;
pub var GetAudioAccessorEndTime: *fn (accessor: ?AudioAccessor) callconv(.C) f64 = undefined;
pub var GetAudioAccessorHash: *fn (accessor: ?AudioAccessor, hashNeed128: [*:0]u8) callconv(.C) void = undefined;
pub var GetAudioAccessorSamples: *fn (accessor: ?AudioAccessor, samplerate: c_int, numchannels: c_int, starttime_sec: f64, numsamplesperchannel: c_int, samplebuffer: ?*f64) callconv(.C) c_int = undefined;
pub var GetAudioAccessorStartTime: *fn (accessor: ?AudioAccessor) callconv(.C) f64 = undefined;
pub var GetAudioDeviceInfo: *fn (attribute: [*:0]const u8, desc: [*:0]u8, desc_sz: c_int) callconv(.C) bool = undefined;
pub var GetColorTheme: *fn (idx: c_int, defval: c_int) callconv(.C) INT_PTR = undefined;
pub var GetColorThemeStruct: *fn (szOut: ?*c_int) callconv(.C) ?*anyopaque = undefined;
pub var GetConfigWantsDock: *fn (ident_str: [*:0]const u8) callconv(.C) c_int = undefined;
pub var GetContextMenu: *fn (idx: c_int) callconv(.C) HMENU = undefined;
pub var GetCurrentProjectInLoadSave: *fn () callconv(.C) ?ReaProject = undefined;
pub var GetCursorContext: *fn () callconv(.C) c_int = undefined;
pub var GetCursorContext2: *fn (want_last_valid: bool) callconv(.C) c_int = undefined;
pub var GetCursorPosition: *fn () callconv(.C) f64 = undefined;
pub var GetCursorPositionEx: *fn (proj: ?ReaProject) callconv(.C) f64 = undefined;
pub var GetDisplayedMediaItemColor: *fn (item: ?MediaItem) callconv(.C) c_int = undefined;
pub var GetDisplayedMediaItemColor2: *fn (item: ?MediaItem, take: ?MediaItem_Take) callconv(.C) c_int = undefined;
pub var GetEnvelopeInfo_Value: *fn (tr: ?TrackEnvelope, parmname: [*:0]const u8) callconv(.C) f64 = undefined;
pub var GetEnvelopeName: *fn (env: ?TrackEnvelope, bufOut: [*:0]u8, bufOut_sz: c_int) callconv(.C) bool = undefined;
pub var GetEnvelopePoint: *fn (envelope: ?TrackEnvelope, ptidx: c_int, timeOutOptional: ?*f64, valueOutOptional: ?*f64, shapeOutOptional: ?*c_int, tensionOutOptional: ?*f64, selectedOutOptional: ?*bool) callconv(.C) bool = undefined;
pub var GetEnvelopePointByTime: *fn (envelope: ?TrackEnvelope, time: f64) callconv(.C) c_int = undefined;
pub var GetEnvelopePointByTimeEx: *fn (envelope: ?TrackEnvelope, autoitem_idx: c_int, time: f64) callconv(.C) c_int = undefined;
pub var GetEnvelopePointEx: *fn (envelope: ?TrackEnvelope, autoitem_idx: c_int, ptidx: c_int, timeOutOptional: ?*f64, valueOutOptional: ?*f64, shapeOutOptional: ?*c_int, tensionOutOptional: ?*f64, selectedOutOptional: ?*bool) callconv(.C) bool = undefined;
pub var GetEnvelopeScalingMode: *fn (env: ?TrackEnvelope) callconv(.C) c_int = undefined;
pub var GetEnvelopeStateChunk: *fn (env: ?TrackEnvelope, strNeedBig: [*:0]u8, strNeedBig_sz: c_int, isundoOptional: bool) callconv(.C) bool = undefined;
pub var GetExePath: *fn () callconv(.C) [*:0]const u8 = undefined;
pub var GetExtState: *fn (section: [*:0]const u8, key: [*:0]const u8) callconv(.C) [*:0]const u8 = undefined;
pub var GetFocusedFX: *fn (tracknumberOut: ?*c_int, itemnumberOut: ?*c_int, fxnumberOut: ?*c_int) callconv(.C) c_int = undefined;
pub var GetFocusedFX2: *fn (tracknumberOut: ?*c_int, itemnumberOut: ?*c_int, fxnumberOut: ?*c_int) callconv(.C) c_int = undefined;
pub var GetFreeDiskSpaceForRecordPath: *fn (proj: ?ReaProject, pathidx: c_int) callconv(.C) c_int = undefined;
pub var GetFXEnvelope: *fn (track: ?MediaTrack, fxindex: c_int, parameterindex: c_int, create: bool) callconv(.C) ?TrackEnvelope = undefined;
pub var GetGlobalAutomationOverride: *fn () callconv(.C) c_int = undefined;
pub var GetHZoomLevel: *fn () callconv(.C) f64 = undefined;
pub var GetIconThemePointer: *fn (name: [*:0]const u8) callconv(.C) ?*anyopaque = undefined;
pub var GetIconThemePointerForDPI: *fn (name: [*:0]const u8, dpisc: c_int) callconv(.C) ?*anyopaque = undefined;
pub var GetIconThemeStruct: *fn (szOut: ?*c_int) callconv(.C) ?*anyopaque = undefined;
pub var GetInputChannelName: *fn (channelIndex: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var GetInputOutputLatency: *fn (inputlatencyOut: ?*c_int, outputLatencyOut: ?*c_int) callconv(.C) void = undefined;
pub var GetItemEditingTime2: *fn (which_itemOut: ?PCM_source, flagsOut: ?*c_int) callconv(.C) f64 = undefined;
pub var GetItemFromPoint: *fn (screen_x: c_int, screen_y: c_int, allow_locked: bool, takeOutOptional: ?MediaItem_Take) callconv(.C) ?MediaItem = undefined;
pub var GetItemProjectContext: *fn (item: ?MediaItem) callconv(.C) ?ReaProject = undefined;
pub var GetItemStateChunk: *fn (item: ?MediaItem, strNeedBig: [*:0]u8, strNeedBig_sz: c_int, isundoOptional: bool) callconv(.C) bool = undefined;
pub var GetLastColorThemeFile: *fn () callconv(.C) [*:0]const u8 = undefined;
pub var GetLastMarkerAndCurRegion: *fn (proj: ?ReaProject, time: f64, markeridxOut: ?*c_int, regionidxOut: ?*c_int) callconv(.C) void = undefined;
pub var GetLastTouchedFX: *fn (tracknumberOut: ?*c_int, fxnumberOut: ?*c_int, paramnumberOut: ?*c_int) callconv(.C) bool = undefined;
pub var GetLastTouchedTrack: *fn () callconv(.C) ?MediaTrack = undefined;
pub var GetMainHwnd: *fn () callconv(.C) HWND = undefined;
pub var GetMasterMuteSoloFlags: *fn () callconv(.C) c_int = undefined;
pub var GetMasterTrack: *fn (proj: ?ReaProject) callconv(.C) ?MediaTrack = undefined;
pub var GetMasterTrackVisibility: *fn () callconv(.C) c_int = undefined;
pub var GetMaxMidiInputs: *fn () callconv(.C) c_int = undefined;
pub var GetMaxMidiOutputs: *fn () callconv(.C) c_int = undefined;
pub var GetMediaFileMetadata: *fn (mediaSource: ?PCM_source, identifier: [*:0]const u8, bufOutNeedBig: [*:0]u8, bufOutNeedBig_sz: c_int) callconv(.C) c_int = undefined;
pub var GetMediaItem: *fn (proj: ?ReaProject, itemidx: c_int) callconv(.C) ?MediaItem = undefined;
pub var GetMediaItem_Track: *fn (item: ?MediaItem) callconv(.C) ?MediaTrack = undefined;
pub var GetMediaItemInfo_Value: *fn (item: ?MediaItem, parmname: [*:0]const u8) callconv(.C) f64 = undefined;
pub var GetMediaItemNumTakes: *fn (item: ?MediaItem) callconv(.C) c_int = undefined;
pub var GetMediaItemTake: *fn (item: ?MediaItem, tk: c_int) callconv(.C) ?MediaItem_Take = undefined;
pub var GetMediaItemTake_Item: *fn (take: ?MediaItem_Take) callconv(.C) ?MediaItem = undefined;
pub var GetMediaItemTake_Peaks: *fn (take: ?MediaItem_Take, peakrate: f64, starttime: f64, numchannels: c_int, numsamplesperchannel: c_int, want_extra_type: c_int, buf: ?*f64) callconv(.C) c_int = undefined;
pub var GetMediaItemTake_Source: *fn (take: ?MediaItem_Take) callconv(.C) ?PCM_source = undefined;
pub var GetMediaItemTake_Track: *fn (take: ?MediaItem_Take) callconv(.C) ?MediaTrack = undefined;
pub var GetMediaItemTakeByGUID: *fn (project: ?ReaProject, guid: ?GUID) callconv(.C) ?MediaItem_Take = undefined;
pub var GetMediaItemTakeInfo_Value: *fn (take: ?MediaItem_Take, parmname: [*:0]const u8) callconv(.C) f64 = undefined;
pub var GetMediaItemTrack: *fn (item: ?MediaItem) callconv(.C) ?MediaTrack = undefined;
pub var GetMediaSourceFileName: *fn (source: ?PCM_source, filenamebuf: [*:0]u8, filenamebuf_sz: c_int) callconv(.C) void = undefined;
pub var GetMediaSourceLength: *fn (source: ?PCM_source, lengthIsQNOut: ?*bool) callconv(.C) f64 = undefined;
pub var GetMediaSourceNumChannels: *fn (source: ?PCM_source) callconv(.C) c_int = undefined;
pub var GetMediaSourceParent: *fn (src: ?PCM_source) callconv(.C) ?PCM_source = undefined;
pub var GetMediaSourceSampleRate: *fn (source: ?PCM_source) callconv(.C) c_int = undefined;
pub var GetMediaSourceType: *fn (source: ?PCM_source, typebuf: [*:0]u8, typebuf_sz: c_int) callconv(.C) void = undefined;
pub var GetMediaTrackInfo_Value: *fn (tr: ?MediaTrack, parmname: [*:0]const u8) callconv(.C) f64 = undefined;
pub var GetMIDIInputName: *fn (dev: c_int, nameout: [*:0]u8, nameout_sz: c_int) callconv(.C) bool = undefined;
pub var GetMIDIOutputName: *fn (dev: c_int, nameout: [*:0]u8, nameout_sz: c_int) callconv(.C) bool = undefined;
pub var GetMixerScroll: *fn () callconv(.C) ?MediaTrack = undefined;
pub var GetMouseModifier: *fn (context: [*:0]const u8, modifier_flag: c_int, action: [*:0]u8, action_sz: c_int) callconv(.C) void = undefined;
pub var GetMousePosition: *fn (xOut: ?*c_int, yOut: ?*c_int) callconv(.C) void = undefined;
pub var GetNumAudioInputs: *fn () callconv(.C) c_int = undefined;
pub var GetNumAudioOutputs: *fn () callconv(.C) c_int = undefined;
pub var GetNumMIDIInputs: *fn () callconv(.C) c_int = undefined;
pub var GetNumMIDIOutputs: *fn () callconv(.C) c_int = undefined;
pub var GetNumTakeMarkers: *fn (take: ?MediaItem_Take) callconv(.C) c_int = undefined;
pub var GetNumTracks: *fn () callconv(.C) c_int = undefined;
pub var GetOS: *fn () callconv(.C) [*:0]const u8 = undefined;
pub var GetOutputChannelName: *fn (channelIndex: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var GetOutputLatency: *fn () callconv(.C) f64 = undefined;
pub var GetParentTrack: *fn (track: ?MediaTrack) callconv(.C) ?MediaTrack = undefined;
pub var GetPeakFileName: *fn (fnOut: [*:0]const u8, buf: [*:0]u8, buf_sz: c_int) callconv(.C) void = undefined;
pub var GetPeakFileNameEx: *fn (fnOut: [*:0]const u8, buf: [*:0]u8, buf_sz: c_int, forWrite: bool) callconv(.C) void = undefined;
pub var GetPeakFileNameEx2: *fn (fnOut: [*:0]const u8, buf: [*:0]u8, buf_sz: c_int, forWrite: bool, peaksfileextension: [*:0]const u8) callconv(.C) void = undefined;
pub var GetPeaksBitmap: *fn (pks: ?PCM_source_peaktransfer_t, maxamp: f64, w: c_int, h: c_int, bmp: ?LICE_IBitmap) callconv(.C) ?*anyopaque = undefined;
pub var GetPlayPosition: *fn () callconv(.C) f64 = undefined;
pub var GetPlayPosition2: *fn () callconv(.C) f64 = undefined;
pub var GetPlayPosition2Ex: *fn (proj: ?ReaProject) callconv(.C) f64 = undefined;
pub var GetPlayPositionEx: *fn (proj: ?ReaProject) callconv(.C) f64 = undefined;
pub var GetPlayState: *fn () callconv(.C) c_int = undefined;
pub var GetPlayStateEx: *fn (proj: ?ReaProject) callconv(.C) c_int = undefined;
pub var GetPreferredDiskReadMode: *fn (mode: ?*c_int, nb: ?*c_int, bs: ?*c_int) callconv(.C) void = undefined;
pub var GetPreferredDiskReadModePeak: *fn (mode: ?*c_int, nb: ?*c_int, bs: ?*c_int) callconv(.C) void = undefined;
pub var GetPreferredDiskWriteMode: *fn (mode: ?*c_int, nb: ?*c_int, bs: ?*c_int) callconv(.C) void = undefined;
pub var GetProjectLength: *fn (proj: ?ReaProject) callconv(.C) f64 = undefined;
pub var GetProjectName: *fn (proj: ?ReaProject, buf: [*:0]u8, buf_sz: c_int) callconv(.C) void = undefined;
pub var GetProjectPath: *fn (buf: [*:0]u8, buf_sz: c_int) callconv(.C) void = undefined;
pub var GetProjectPathEx: *fn (proj: ?ReaProject, buf: [*:0]u8, buf_sz: c_int) callconv(.C) void = undefined;
pub var GetProjectStateChangeCount: *fn (proj: ?ReaProject) callconv(.C) c_int = undefined;
pub var GetProjectTimeOffset: *fn (proj: ?ReaProject, rndframe: bool) callconv(.C) f64 = undefined;
pub var GetProjectTimeSignature: *fn (bpmOut: ?*f64, bpiOut: ?*f64) callconv(.C) void = undefined;
pub var GetProjectTimeSignature2: *fn (proj: ?ReaProject, bpmOut: ?*f64, bpiOut: ?*f64) callconv(.C) void = undefined;
pub var GetProjExtState: *fn (proj: ?ReaProject, extname: [*:0]const u8, key: [*:0]const u8, valOutNeedBig: [*:0]u8, valOutNeedBig_sz: c_int) callconv(.C) c_int = undefined;
pub var GetResourcePath: *fn () callconv(.C) [*:0]const u8 = undefined;
pub var GetSelectedEnvelope: *fn (proj: ?ReaProject) callconv(.C) ?TrackEnvelope = undefined;
pub var GetSelectedMediaItem: *fn (proj: ?ReaProject, selitem: c_int) callconv(.C) ?MediaItem = undefined;
pub var GetSelectedTrack: *fn (proj: ?ReaProject, seltrackidx: c_int) callconv(.C) ?MediaTrack = undefined;
pub var GetSelectedTrack2: *fn (proj: ?ReaProject, seltrackidx: c_int, wantmaster: bool) callconv(.C) ?MediaTrack = undefined;
pub var GetSelectedTrackEnvelope: *fn (proj: ?ReaProject) callconv(.C) ?TrackEnvelope = undefined;
pub var GetSet_ArrangeView2: *fn (proj: ?ReaProject, isSet: bool, screen_x_start: c_int, screen_x_end: c_int, start_timeOut: ?*f64, end_timeOut: ?*f64) callconv(.C) void = undefined;
pub var GetSet_LoopTimeRange: *fn (isSet: bool, isLoop: bool, startOut: ?*f64, endOut: ?*f64, allowautoseek: bool) callconv(.C) void = undefined;
pub var GetSet_LoopTimeRange2: *fn (proj: ?ReaProject, isSet: bool, isLoop: bool, startOut: ?*f64, endOut: ?*f64, allowautoseek: bool) callconv(.C) void = undefined;
pub var GetSetAutomationItemInfo: *fn (env: ?TrackEnvelope, autoitem_idx: c_int, desc: [*:0]const u8, value: f64, is_set: bool) callconv(.C) f64 = undefined;
pub var GetSetAutomationItemInfo_String: *fn (env: ?TrackEnvelope, autoitem_idx: c_int, desc: [*:0]const u8, valuestrNeedBig: [*:0]u8, is_set: bool) callconv(.C) bool = undefined;
pub var GetSetEnvelopeInfo_String: *fn (env: ?TrackEnvelope, parmname: [*:0]const u8, stringNeedBig: [*:0]u8, setNewValue: bool) callconv(.C) bool = undefined;
pub var GetSetEnvelopeState: *fn (env: ?TrackEnvelope, str: [*:0]u8, str_sz: c_int) callconv(.C) bool = undefined;
pub var GetSetEnvelopeState2: *fn (env: ?TrackEnvelope, str: [*:0]u8, str_sz: c_int, isundo: bool) callconv(.C) bool = undefined;
pub var GetSetItemState: *fn (item: ?MediaItem, str: [*:0]u8, str_sz: c_int) callconv(.C) bool = undefined;
pub var GetSetItemState2: *fn (item: ?MediaItem, str: [*:0]u8, str_sz: c_int, isundo: bool) callconv(.C) bool = undefined;
pub var GetSetMediaItemInfo: *fn (item: ?MediaItem, parmname: [*:0]const u8, setNewValue: ?*anyopaque) callconv(.C) ?*anyopaque = undefined;
pub var GetSetMediaItemInfo_String: *fn (item: ?MediaItem, parmname: [*:0]const u8, stringNeedBig: [*:0]u8, setNewValue: bool) callconv(.C) bool = undefined;
pub var GetSetMediaItemTakeInfo: *fn (tk: ?MediaItem_Take, parmname: [*:0]const u8, setNewValue: ?*anyopaque) callconv(.C) ?*anyopaque = undefined;
pub var GetSetMediaItemTakeInfo_String: *fn (tk: ?MediaItem_Take, parmname: [*:0]const u8, stringNeedBig: [*:0]u8, setNewValue: bool) callconv(.C) bool = undefined;
pub var GetSetMediaTrackInfo: *fn (tr: ?MediaTrack, parmname: [*:0]const u8, setNewValue: ?*anyopaque) callconv(.C) ?*anyopaque = undefined;
pub var GetSetMediaTrackInfo_String: *fn (tr: ?MediaTrack, parmname: [*:0]const u8, stringNeedBig: [*:0]u8, setNewValue: bool) callconv(.C) bool = undefined;
pub var GetSetObjectState: *fn (obj: ?*anyopaque, str: [*:0]const u8) callconv(.C) [*:0]u8 = undefined;
pub var GetSetObjectState2: *fn (obj: ?*anyopaque, str: [*:0]const u8, isundo: bool) callconv(.C) [*:0]u8 = undefined;
pub var GetSetProjectAuthor: *fn (proj: ?ReaProject, set: bool, author: [*:0]u8, author_sz: c_int) callconv(.C) void = undefined;
pub var GetSetProjectGrid: *fn (project: ?ReaProject, set: bool, divisionInOutOptional: ?*f64, swingmodeInOutOptional: ?*c_int, swingamtInOutOptional: ?*f64) callconv(.C) c_int = undefined;
pub var GetSetProjectInfo: *fn (project: ?ReaProject, desc: [*:0]const u8, value: f64, is_set: bool) callconv(.C) f64 = undefined;
pub var GetSetProjectInfo_String: *fn (project: ?ReaProject, desc: [*:0]const u8, valuestrNeedBig: [*:0]u8, is_set: bool) callconv(.C) bool = undefined;
pub var GetSetProjectNotes: *fn (proj: ?ReaProject, set: bool, notesNeedBig: [*:0]u8, notesNeedBig_sz: c_int) callconv(.C) void = undefined;
pub var GetSetRepeat: *fn (val: c_int) callconv(.C) c_int = undefined;
pub var GetSetRepeatEx: *fn (proj: ?ReaProject, val: c_int) callconv(.C) c_int = undefined;
pub var GetSetTrackGroupMembership: *fn (tr: ?MediaTrack, groupname: [*:0]const u8, setmask: c_uint, setvalue: c_uint) callconv(.C) c_uint = undefined;
pub var GetSetTrackGroupMembershipHigh: *fn (tr: ?MediaTrack, groupname: [*:0]const u8, setmask: c_uint, setvalue: c_uint) callconv(.C) c_uint = undefined;
pub var GetSetTrackMIDISupportFile: *fn (proj: ?ReaProject, track: ?MediaTrack, which: c_int, filename: [*:0]const u8) callconv(.C) [*:0]const u8 = undefined;
pub var GetSetTrackSendInfo: *fn (tr: ?MediaTrack, category: c_int, sendidx: c_int, parmname: [*:0]const u8, setNewValue: ?*anyopaque) callconv(.C) ?*anyopaque = undefined;
pub var GetSetTrackSendInfo_String: *fn (tr: ?MediaTrack, category: c_int, sendidx: c_int, parmname: [*:0]const u8, stringNeedBig: [*:0]u8, setNewValue: bool) callconv(.C) bool = undefined;
pub var GetSetTrackState: *fn (track: ?MediaTrack, str: [*:0]u8, str_sz: c_int) callconv(.C) bool = undefined;
pub var GetSetTrackState2: *fn (track: ?MediaTrack, str: [*:0]u8, str_sz: c_int, isundo: bool) callconv(.C) bool = undefined;
pub var GetSubProjectFromSource: *fn (src: ?PCM_source) callconv(.C) ?ReaProject = undefined;
pub var GetTake: *fn (item: ?MediaItem, takeidx: c_int) callconv(.C) ?MediaItem_Take = undefined;
pub var GetTakeEnvelope: *fn (take: ?MediaItem_Take, envidx: c_int) callconv(.C) ?TrackEnvelope = undefined;
pub var GetTakeEnvelopeByName: *fn (take: ?MediaItem_Take, envname: [*:0]const u8) callconv(.C) ?TrackEnvelope = undefined;
pub var GetTakeMarker: *fn (take: ?MediaItem_Take, idx: c_int, nameOut: [*:0]u8, nameOut_sz: c_int, colorOutOptional: ?*c_int) callconv(.C) f64 = undefined;
pub var GetTakeName: *fn (take: ?MediaItem_Take) callconv(.C) [*:0]const u8 = undefined;
pub var GetTakeNumStretchMarkers: *fn (take: ?MediaItem_Take) callconv(.C) c_int = undefined;
pub var GetTakeStretchMarker: *fn (take: ?MediaItem_Take, idx: c_int, posOut: ?*f64, srcposOutOptional: ?*f64) callconv(.C) c_int = undefined;
pub var GetTakeStretchMarkerSlope: *fn (take: ?MediaItem_Take, idx: c_int) callconv(.C) f64 = undefined;
pub var GetTCPFXParm: *fn (project: ?ReaProject, track: ?MediaTrack, index: c_int, fxindexOut: ?*c_int, parmidxOut: ?*c_int) callconv(.C) bool = undefined;
pub var GetTempoMatchPlayRate: *fn (source: ?PCM_source, srcscale: f64, position: f64, mult: f64, rateOut: ?*f64, targetlenOut: ?*f64) callconv(.C) bool = undefined;
pub var GetTempoTimeSigMarker: *fn (proj: ?ReaProject, ptidx: c_int, timeposOut: ?*f64, measureposOut: ?*c_int, beatposOut: ?*f64, bpmOut: ?*f64, timesig_numOut: ?*c_int, timesig_denomOut: ?*c_int, lineartempoOut: ?*bool) callconv(.C) bool = undefined;
pub var GetThemeColor: *fn (ini_key: [*:0]const u8, flagsOptional: c_int) callconv(.C) c_int = undefined;
pub var GetToggleCommandState: *fn (command_id: c_int) callconv(.C) c_int = undefined;
pub var GetToggleCommandState2: *fn (section: ?KbdSectionInfo, command_id: c_int) callconv(.C) c_int = undefined;
pub var GetToggleCommandStateEx: *fn (section_id: c_int, command_id: c_int) callconv(.C) c_int = undefined;
pub var GetToggleCommandStateThroughHooks: *fn (section: ?KbdSectionInfo, command_id: c_int) callconv(.C) c_int = undefined;
pub var GetTooltipWindow: *fn () callconv(.C) HWND = undefined;
pub var GetTrack: *fn (proj: ?ReaProject, trackidx: c_int) callconv(.C) ?MediaTrack = undefined;
pub var GetTrackAutomationMode: *fn (tr: ?MediaTrack) callconv(.C) c_int = undefined;
pub var GetTrackColor: *fn (track: ?MediaTrack) callconv(.C) c_int = undefined;
pub var GetTrackDepth: *fn (track: ?MediaTrack) callconv(.C) c_int = undefined;
pub var GetTrackEnvelope: *fn (track: ?MediaTrack, envidx: c_int) callconv(.C) ?TrackEnvelope = undefined;
pub var GetTrackEnvelopeByChunkName: *fn (tr: ?MediaTrack, cfgchunkname: [*:0]const u8) callconv(.C) ?TrackEnvelope = undefined;
pub var GetTrackEnvelopeByName: *fn (track: ?MediaTrack, envname: [*:0]const u8) callconv(.C) ?TrackEnvelope = undefined;
pub var GetTrackFromPoint: *fn (screen_x: c_int, screen_y: c_int, infoOutOptional: ?*c_int) callconv(.C) ?MediaTrack = undefined;
pub var GetTrackGUID: *fn (tr: ?MediaTrack) callconv(.C) ?GUID = undefined;
pub var GetTrackInfo: *fn (track: INT_PTR, flags: ?*c_int) callconv(.C) [*:0]const u8 = undefined;
pub var GetTrackMediaItem: *fn (tr: ?MediaTrack, itemidx: c_int) callconv(.C) ?MediaItem = undefined;
pub var GetTrackMIDILyrics: *fn (track: ?MediaTrack, flag: c_int, bufWantNeedBig: [*:0]u8, bufWantNeedBig_sz: ?*c_int) callconv(.C) bool = undefined;
pub var GetTrackMIDINoteName: *fn (track: c_int, pitch: c_int, chan: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var GetTrackMIDINoteNameEx: *fn (proj: ?ReaProject, track: ?MediaTrack, pitch: c_int, chan: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var GetTrackMIDINoteRange: *fn (proj: ?ReaProject, track: ?MediaTrack, note_loOut: ?*c_int, note_hiOut: ?*c_int) callconv(.C) void = undefined;
pub var GetTrackName: *fn (track: ?MediaTrack, bufOut: [*:0]u8, bufOut_sz: c_int) callconv(.C) bool = undefined;
pub var GetTrackNumMediaItems: *fn (tr: ?MediaTrack) callconv(.C) c_int = undefined;
pub var GetTrackNumSends: *fn (tr: ?MediaTrack, category: c_int) callconv(.C) c_int = undefined;
pub var GetTrackReceiveName: *fn (track: ?MediaTrack, recv_index: c_int, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var GetTrackReceiveUIMute: *fn (track: ?MediaTrack, recv_index: c_int, muteOut: ?*bool) callconv(.C) bool = undefined;
pub var GetTrackReceiveUIVolPan: *fn (track: ?MediaTrack, recv_index: c_int, volumeOut: ?*f64, panOut: ?*f64) callconv(.C) bool = undefined;
pub var GetTrackSendInfo_Value: *fn (tr: ?MediaTrack, category: c_int, sendidx: c_int, parmname: [*:0]const u8) callconv(.C) f64 = undefined;
pub var GetTrackSendName: *fn (track: ?MediaTrack, send_index: c_int, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var GetTrackSendUIMute: *fn (track: ?MediaTrack, send_index: c_int, muteOut: ?*bool) callconv(.C) bool = undefined;
pub var GetTrackSendUIVolPan: *fn (track: ?MediaTrack, send_index: c_int, volumeOut: ?*f64, panOut: ?*f64) callconv(.C) bool = undefined;
pub var GetTrackState: *fn (track: ?MediaTrack, flagsOut: ?*c_int) callconv(.C) [*:0]const u8 = undefined;
pub var GetTrackStateChunk: *fn (track: ?MediaTrack, strNeedBig: [*:0]u8, strNeedBig_sz: c_int, isundoOptional: bool) callconv(.C) bool = undefined;
pub var GetTrackUIMute: *fn (track: ?MediaTrack, muteOut: ?*bool) callconv(.C) bool = undefined;
pub var GetTrackUIPan: *fn (track: ?MediaTrack, pan1Out: ?*f64, pan2Out: ?*f64, panmodeOut: ?*c_int) callconv(.C) bool = undefined;
pub var GetTrackUIVolPan: *fn (track: ?MediaTrack, volumeOut: ?*f64, panOut: ?*f64) callconv(.C) bool = undefined;
pub var GetUnderrunTime: *fn (audio_xrunOutOptional: ?*c_uint, media_xrunOutOptional: ?*c_uint, curtimeOutOptional: ?*c_uint) callconv(.C) void = undefined;
pub var GetUserFileNameForRead: *fn (filenameNeed4096: [*:0]u8, title: [*:0]const u8, defext: [*:0]const u8) callconv(.C) bool = undefined;
pub var GetUserInputs: *fn (title: [*:0]const u8, num_inputs: c_int, captions_csv: [*:0]const u8, retvals_csv: [*:0]u8, retvals_csv_sz: c_int) callconv(.C) bool = undefined;
pub var GoToMarker: *fn (proj: ?ReaProject, marker_index: c_int, use_timeline_order: bool) callconv(.C) void = undefined;
pub var GoToRegion: *fn (proj: ?ReaProject, region_index: c_int, use_timeline_order: bool) callconv(.C) void = undefined;
pub var GR_SelectColor: *fn (hwnd: HWND, colorOut: ?*c_int) callconv(.C) c_int = undefined;
pub var GSC_mainwnd: *fn (t: c_int) callconv(.C) c_int = undefined;
pub var guidToString: *fn (g: ?GUID, destNeed64: [*:0]u8) callconv(.C) void = undefined;
pub var HasExtState: *fn (section: [*:0]const u8, key: [*:0]const u8) callconv(.C) bool = undefined;
pub var HasTrackMIDIPrograms: *fn (track: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var HasTrackMIDIProgramsEx: *fn (proj: ?ReaProject, track: ?MediaTrack) callconv(.C) [*:0]const u8 = undefined;
pub var Help_Set: *fn (helpstring: [*:0]const u8, is_temporary_help: bool) callconv(.C) void = undefined;
pub var HiresPeaksFromSource: *fn (src: ?PCM_source, block: ?PCM_source_peaktransfer_t) callconv(.C) void = undefined;
pub var image_resolve_fn: *fn (in: [*:0]const u8, out: [*:0]u8, out_sz: c_int) callconv(.C) void = undefined;
pub var InsertAutomationItem: *fn (env: ?TrackEnvelope, pool_id: c_int, position: f64, length: f64) callconv(.C) c_int = undefined;
pub var InsertEnvelopePoint: *fn (envelope: ?TrackEnvelope, time: f64, value: f64, shape: c_int, tension: f64, selected: bool, noSortInOptional: ?*bool) callconv(.C) bool = undefined;
pub var InsertEnvelopePointEx: *fn (envelope: ?TrackEnvelope, autoitem_idx: c_int, time: f64, value: f64, shape: c_int, tension: f64, selected: bool, noSortInOptional: ?*bool) callconv(.C) bool = undefined;
pub var InsertMedia: *fn (file: [*:0]const u8, mode: c_int) callconv(.C) c_int = undefined;
pub var InsertMediaSection: *fn (file: [*:0]const u8, mode: c_int, startpct: f64, endpct: f64, pitchshift: f64) callconv(.C) c_int = undefined;
pub var InsertTrackAtIndex: *fn (idx: c_int, wantDefaults: bool) callconv(.C) void = undefined;
pub var IsInRealTimeAudio: *fn () callconv(.C) c_int = undefined;
pub var IsItemTakeActiveForPlayback: *fn (item: ?MediaItem, take: ?MediaItem_Take) callconv(.C) bool = undefined;
pub var IsMediaExtension: *fn (ext: [*:0]const u8, wantOthers: bool) callconv(.C) bool = undefined;
pub var IsMediaItemSelected: *fn (item: ?MediaItem) callconv(.C) bool = undefined;
pub var IsProjectDirty: *fn (proj: ?ReaProject) callconv(.C) c_int = undefined;
pub var IsREAPER: *fn () callconv(.C) bool = undefined;
pub var IsTrackSelected: *fn (track: ?MediaTrack) callconv(.C) bool = undefined;
pub var IsTrackVisible: *fn (track: ?MediaTrack, mixer: bool) callconv(.C) bool = undefined;
pub var joystick_create: *fn (guid: ?GUID) callconv(.C) ?joystick_device = undefined;
pub var joystick_destroy: *fn (device: ?joystick_device) callconv(.C) void = undefined;
pub var joystick_enum: *fn (index: c_int, namestrOutOptional: [*:0]const u8) callconv(.C) [*:0]const u8 = undefined;
pub var joystick_getaxis: *fn (dev: ?joystick_device, axis: c_int) callconv(.C) f64 = undefined;
pub var joystick_getbuttonmask: *fn (dev: ?joystick_device) callconv(.C) c_uint = undefined;
pub var joystick_getinfo: *fn (dev: ?joystick_device, axesOutOptional: ?*c_int, povsOutOptional: ?*c_int) callconv(.C) c_int = undefined;
pub var joystick_getpov: *fn (dev: ?joystick_device, pov: c_int) callconv(.C) f64 = undefined;
pub var joystick_update: *fn (dev: ?joystick_device) callconv(.C) bool = undefined;
pub var kbd_enumerateActions: *fn (section: ?KbdSectionInfo, idx: c_int, nameOut: [*:0]const u8) callconv(.C) c_int = undefined;
pub var kbd_formatKeyName: *fn (ac: ?ACCEL, s: [*:0]u8) callconv(.C) void = undefined;
pub var kbd_getCommandName: *fn (cmd: c_int, s: [*:0]u8, section: ?KbdSectionInfo) callconv(.C) void = undefined;
pub var kbd_getTextFromCmd: *fn (cmd: DWORD, section: ?KbdSectionInfo) callconv(.C) [*:0]const u8 = undefined;
pub var KBD_OnMainActionEx: *fn (cmd: c_int, val: c_int, valhw: c_int, relmode: c_int, hwnd: HWND, proj: ?ReaProject) callconv(.C) c_int = undefined;
pub var kbd_OnMidiEvent: *fn (evt: ?MIDI_event_t, dev_index: c_int) callconv(.C) void = undefined;
pub var kbd_OnMidiList: *fn (list: ?MIDI_eventlist, dev_index: c_int) callconv(.C) void = undefined;
pub var kbd_ProcessActionsMenu: *fn (menu: HMENU, section: ?KbdSectionInfo) callconv(.C) void = undefined;
pub var kbd_processMidiEventActionEx: *fn (evt: ?MIDI_event_t, section: ?KbdSectionInfo, hwndCtx: HWND) callconv(.C) bool = undefined;
pub var kbd_reprocessMenu: *fn (menu: HMENU, section: ?KbdSectionInfo) callconv(.C) void = undefined;
pub var kbd_RunCommandThroughHooks: *fn (section: ?KbdSectionInfo, actionCommandID: ?*c_int, val: ?*c_int, valhw: ?*c_int, relmode: ?*c_int, hwnd: HWND) callconv(.C) bool = undefined;
pub var kbd_translateAccelerator: *fn (hwnd: HWND, msg: ?MSG, section: ?KbdSectionInfo) callconv(.C) c_int = undefined;
pub var kbd_translateMouse: *fn (winmsg: ?*anyopaque, midimsg: u8) callconv(.C) bool = undefined;
pub var LICE__Destroy: *fn (bm: ?LICE_IBitmap) callconv(.C) void = undefined;
pub var LICE__DestroyFont: *fn (font: ?LICE_IFont) callconv(.C) void = undefined;
pub var LICE__DrawText: *fn (font: ?LICE_IFont, bm: ?LICE_IBitmap, str: [*:0]const u8, strcnt: c_int, rect: ?RECT, dtFlags: UINT) callconv(.C) c_int = undefined;
pub var LICE__GetBits: *fn (bm: ?LICE_IBitmap) callconv(.C) ?*anyopaque = undefined;
pub var LICE__GetDC: *fn (bm: ?LICE_IBitmap) callconv(.C) HDC = undefined;
pub var LICE__GetHeight: *fn (bm: ?LICE_IBitmap) callconv(.C) c_int = undefined;
pub var LICE__GetRowSpan: *fn (bm: ?LICE_IBitmap) callconv(.C) c_int = undefined;
pub var LICE__GetWidth: *fn (bm: ?LICE_IBitmap) callconv(.C) c_int = undefined;
pub var LICE__IsFlipped: *fn (bm: ?LICE_IBitmap) callconv(.C) bool = undefined;
pub var LICE__resize: *fn (bm: ?LICE_IBitmap, w: c_int, h: c_int) callconv(.C) bool = undefined;
pub var LICE__SetBkColor: *fn (font: ?LICE_IFont, color: LICE_pixel) callconv(.C) LICE_pixel = undefined;
pub var LICE__SetFromHFont: *fn (font: ?LICE_IFont, hfont: HFONT, flags: c_int) callconv(.C) void = undefined;
pub var LICE__SetTextColor: *fn (font: ?LICE_IFont, color: LICE_pixel) callconv(.C) LICE_pixel = undefined;
pub var LICE__SetTextCombineMode: *fn (ifont: ?LICE_IFont, mode: c_int, alpha: f32) callconv(.C) void = undefined;
pub var LICE_Arc: *fn (dest: ?LICE_IBitmap, cx: f32, cy: f32, r: f32, minAngle: f32, maxAngle: f32, color: LICE_pixel, alpha: f32, mode: c_int, aa: bool) callconv(.C) void = undefined;
pub var LICE_Blit: *fn (dest: ?LICE_IBitmap, src: ?LICE_IBitmap, dstx: c_int, dsty: c_int, srcx: c_int, srcy: c_int, srcw: c_int, srch: c_int, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_Blur: *fn (dest: ?LICE_IBitmap, src: ?LICE_IBitmap, dstx: c_int, dsty: c_int, srcx: c_int, srcy: c_int, srcw: c_int, srch: c_int) callconv(.C) void = undefined;
pub var LICE_BorderedRect: *fn (dest: ?LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, bgcolor: LICE_pixel, fgcolor: LICE_pixel, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_Circle: *fn (dest: ?LICE_IBitmap, cx: f32, cy: f32, r: f32, color: LICE_pixel, alpha: f32, mode: c_int, aa: bool) callconv(.C) void = undefined;
pub var LICE_Clear: *fn (dest: ?LICE_IBitmap, color: LICE_pixel) callconv(.C) void = undefined;
pub var LICE_ClearRect: *fn (dest: ?LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, mask: LICE_pixel, orbits: LICE_pixel) callconv(.C) void = undefined;
pub var LICE_ClipLine: *fn (pX1Out: ?*c_int, pY1Out: ?*c_int, pX2Out: ?*c_int, pY2Out: ?*c_int, xLo: c_int, yLo: c_int, xHi: c_int, yHi: c_int) callconv(.C) bool = undefined;
pub var LICE_Copy: *fn (dest: ?LICE_IBitmap, src: ?LICE_IBitmap) callconv(.C) void = undefined;
pub var LICE_CreateBitmap: *fn (mode: c_int, w: c_int, h: c_int) callconv(.C) ?LICE_IBitmap = undefined;
pub var LICE_CreateFont: *fn () callconv(.C) ?LICE_IFont = undefined;
pub var LICE_DrawCBezier: *fn (dest: ?LICE_IBitmap, xstart: f64, ystart: f64, xctl1: f64, yctl1: f64, xctl2: f64, yctl2: f64, xend: f64, yend: f64, color: LICE_pixel, alpha: f32, mode: c_int, aa: bool, tol: f64) callconv(.C) void = undefined;
pub var LICE_DrawChar: *fn (bm: ?LICE_IBitmap, x: c_int, y: c_int, c: [*:0]u8, color: LICE_pixel, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_DrawGlyph: *fn (dest: ?LICE_IBitmap, x: c_int, y: c_int, color: LICE_pixel, alphas: ?LICE_pixel_chan, glyph_w: c_int, glyph_h: c_int, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_DrawRect: *fn (dest: ?LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, color: LICE_pixel, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_DrawText: *fn (bm: ?LICE_IBitmap, x: c_int, y: c_int, string: [*:0]const u8, color: LICE_pixel, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_FillCBezier: *fn (dest: ?LICE_IBitmap, xstart: f64, ystart: f64, xctl1: f64, yctl1: f64, xctl2: f64, yctl2: f64, xend: f64, yend: f64, yfill: c_int, color: LICE_pixel, alpha: f32, mode: c_int, aa: bool, tol: f64) callconv(.C) void = undefined;
pub var LICE_FillCircle: *fn (dest: ?LICE_IBitmap, cx: f32, cy: f32, r: f32, color: LICE_pixel, alpha: f32, mode: c_int, aa: bool) callconv(.C) void = undefined;
pub var LICE_FillConvexPolygon: *fn (dest: ?LICE_IBitmap, x: ?*c_int, y: ?*c_int, npoints: c_int, color: LICE_pixel, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_FillRect: *fn (dest: ?LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, color: LICE_pixel, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_FillTrapezoid: *fn (dest: ?LICE_IBitmap, x1a: c_int, x1b: c_int, y1: c_int, x2a: c_int, x2b: c_int, y2: c_int, color: LICE_pixel, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_FillTriangle: *fn (dest: ?LICE_IBitmap, x1: c_int, y1: c_int, x2: c_int, y2: c_int, x3: c_int, y3: c_int, color: LICE_pixel, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_GetPixel: *fn (bm: ?LICE_IBitmap, x: c_int, y: c_int) callconv(.C) LICE_pixel = undefined;
pub var LICE_GradRect: *fn (dest: ?LICE_IBitmap, dstx: c_int, dsty: c_int, dstw: c_int, dsth: c_int, ir: f32, ig: f32, ib: f32, ia: f32, drdx: f32, dgdx: f32, dbdx: f32, dadx: f32, drdy: f32, dgdy: f32, dbdy: f32, dady: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_Line: *fn (dest: ?LICE_IBitmap, x1: f32, y1: f32, x2: f32, y2: f32, color: LICE_pixel, alpha: f32, mode: c_int, aa: bool) callconv(.C) void = undefined;
pub var LICE_LineInt: *fn (dest: ?LICE_IBitmap, x1: c_int, y1: c_int, x2: c_int, y2: c_int, color: LICE_pixel, alpha: f32, mode: c_int, aa: bool) callconv(.C) void = undefined;
pub var LICE_LoadPNG: *fn (filename: [*:0]const u8, bmp: ?LICE_IBitmap) callconv(.C) ?LICE_IBitmap = undefined;
pub var LICE_LoadPNGFromResource: *fn (hInst: HINSTANCE, resid: [*:0]const u8, bmp: ?LICE_IBitmap) callconv(.C) ?LICE_IBitmap = undefined;
pub var LICE_MeasureText: *fn (string: [*:0]const u8, w: ?*c_int, h: ?*c_int) callconv(.C) void = undefined;
pub var LICE_MultiplyAddRect: *fn (dest: ?LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, rsc: f32, gsc: f32, bsc: f32, asc: f32, radd: f32, gadd: f32, badd: f32, aadd: f32) callconv(.C) void = undefined;
pub var LICE_PutPixel: *fn (bm: ?LICE_IBitmap, x: c_int, y: c_int, color: LICE_pixel, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_RotatedBlit: *fn (dest: ?LICE_IBitmap, src: ?LICE_IBitmap, dstx: c_int, dsty: c_int, dstw: c_int, dsth: c_int, srcx: f32, srcy: f32, srcw: f32, srch: f32, angle: f32, cliptosourcerect: bool, alpha: f32, mode: c_int, rotxcent: f32, rotycent: f32) callconv(.C) void = undefined;
pub var LICE_RoundRect: *fn (drawbm: ?LICE_IBitmap, xpos: f32, ypos: f32, w: f32, h: f32, cornerradius: c_int, col: LICE_pixel, alpha: f32, mode: c_int, aa: bool) callconv(.C) void = undefined;
pub var LICE_ScaledBlit: *fn (dest: ?LICE_IBitmap, src: ?LICE_IBitmap, dstx: c_int, dsty: c_int, dstw: c_int, dsth: c_int, srcx: f32, srcy: f32, srcw: f32, srch: f32, alpha: f32, mode: c_int) callconv(.C) void = undefined;
pub var LICE_SimpleFill: *fn (dest: ?LICE_IBitmap, x: c_int, y: c_int, newcolor: LICE_pixel, comparemask: LICE_pixel, keepmask: LICE_pixel) callconv(.C) void = undefined;
pub var LocalizeString: *fn (src_string: [*:0]const u8, section: [*:0]const u8, flagsOptional: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var Loop_OnArrow: *fn (project: ?ReaProject, direction: c_int) callconv(.C) bool = undefined;
pub var Main_OnCommand: *fn (command: c_int, flag: c_int) callconv(.C) void = undefined;
pub var Main_OnCommandEx: *fn (command: c_int, flag: c_int, proj: ?ReaProject) callconv(.C) void = undefined;
pub var Main_openProject: *fn (name: [*:0]const u8) callconv(.C) void = undefined;
pub var Main_SaveProject: *fn (proj: ?ReaProject, forceSaveAsInOptional: bool) callconv(.C) void = undefined;
pub var Main_UpdateLoopInfo: *fn (ignoremask: c_int) callconv(.C) void = undefined;
pub var MarkProjectDirty: *fn (proj: ?ReaProject) callconv(.C) void = undefined;
pub var MarkTrackItemsDirty: *fn (track: ?MediaTrack, item: ?MediaItem) callconv(.C) void = undefined;
pub var Master_GetPlayRate: *fn (project: ?ReaProject) callconv(.C) f64 = undefined;
pub var Master_GetPlayRateAtTime: *fn (time_s: f64, proj: ?ReaProject) callconv(.C) f64 = undefined;
pub var Master_GetTempo: *fn () callconv(.C) f64 = undefined;
pub var Master_NormalizePlayRate: *fn (playrate: f64, isnormalized: bool) callconv(.C) f64 = undefined;
pub var Master_NormalizeTempo: *fn (bpm: f64, isnormalized: bool) callconv(.C) f64 = undefined;
pub var MB: *fn (msg: [*:0]const u8, title: [*:0]const u8, typeOut: c_int) callconv(.C) c_int = undefined;
pub var MediaItemDescendsFromTrack: *fn (item: ?MediaItem, track: ?MediaTrack) callconv(.C) c_int = undefined;
pub var MIDI_CountEvts: *fn (take: ?MediaItem_Take, notecntOut: ?*c_int, ccevtcntOut: ?*c_int, textsyxevtcntOut: ?*c_int) callconv(.C) c_int = undefined;
pub var MIDI_DeleteCC: *fn (take: ?MediaItem_Take, ccidx: c_int) callconv(.C) bool = undefined;
pub var MIDI_DeleteEvt: *fn (take: ?MediaItem_Take, evtidx: c_int) callconv(.C) bool = undefined;
pub var MIDI_DeleteNote: *fn (take: ?MediaItem_Take, noteidx: c_int) callconv(.C) bool = undefined;
pub var MIDI_DeleteTextSysexEvt: *fn (take: ?MediaItem_Take, textsyxevtidx: c_int) callconv(.C) bool = undefined;
pub var MIDI_DisableSort: *fn (take: ?MediaItem_Take) callconv(.C) void = undefined;
pub var MIDI_EnumSelCC: *fn (take: ?MediaItem_Take, ccidx: c_int) callconv(.C) c_int = undefined;
pub var MIDI_EnumSelEvts: *fn (take: ?MediaItem_Take, evtidx: c_int) callconv(.C) c_int = undefined;
pub var MIDI_EnumSelNotes: *fn (take: ?MediaItem_Take, noteidx: c_int) callconv(.C) c_int = undefined;
pub var MIDI_EnumSelTextSysexEvts: *fn (take: ?MediaItem_Take, textsyxidx: c_int) callconv(.C) c_int = undefined;
pub var MIDI_eventlist_Create: *fn () callconv(.C) ?MIDI_eventlist = undefined;
pub var MIDI_eventlist_Destroy: *fn (evtlist: ?MIDI_eventlist) callconv(.C) void = undefined;
pub var MIDI_GetAllEvts: *fn (take: ?MediaItem_Take, bufNeedBig: [*:0]u8, bufNeedBig_sz: ?*c_int) callconv(.C) bool = undefined;
pub var MIDI_GetCC: *fn (take: ?MediaItem_Take, ccidx: c_int, selectedOut: ?*bool, mutedOut: ?*bool, ppqposOut: ?*f64, chanmsgOut: ?*c_int, chanOut: ?*c_int, msg2Out: ?*c_int, msg3Out: ?*c_int) callconv(.C) bool = undefined;
pub var MIDI_GetCCShape: *fn (take: ?MediaItem_Take, ccidx: c_int, shapeOut: ?*c_int, beztensionOut: ?*f64) callconv(.C) bool = undefined;
pub var MIDI_GetEvt: *fn (take: ?MediaItem_Take, evtidx: c_int, selectedOut: ?*bool, mutedOut: ?*bool, ppqposOut: ?*f64, msg: [*:0]u8, msg_sz: ?*c_int) callconv(.C) bool = undefined;
pub var MIDI_GetGrid: *fn (take: ?MediaItem_Take, swingOutOptional: ?*f64, noteLenOutOptional: ?*f64) callconv(.C) f64 = undefined;
pub var MIDI_GetHash: *fn (take: ?MediaItem_Take, notesonly: bool, hash: [*:0]u8, hash_sz: c_int) callconv(.C) bool = undefined;
pub var MIDI_GetNote: *fn (take: ?MediaItem_Take, noteidx: c_int, selectedOut: ?*bool, mutedOut: ?*bool, startppqposOut: ?*f64, endppqposOut: ?*f64, chanOut: ?*c_int, pitchOut: ?*c_int, velOut: ?*c_int) callconv(.C) bool = undefined;
pub var MIDI_GetPPQPos_EndOfMeasure: *fn (take: ?MediaItem_Take, ppqpos: f64) callconv(.C) f64 = undefined;
pub var MIDI_GetPPQPos_StartOfMeasure: *fn (take: ?MediaItem_Take, ppqpos: f64) callconv(.C) f64 = undefined;
pub var MIDI_GetPPQPosFromProjQN: *fn (take: ?MediaItem_Take, projqn: f64) callconv(.C) f64 = undefined;
pub var MIDI_GetPPQPosFromProjTime: *fn (take: ?MediaItem_Take, projtime: f64) callconv(.C) f64 = undefined;
pub var MIDI_GetProjQNFromPPQPos: *fn (take: ?MediaItem_Take, ppqpos: f64) callconv(.C) f64 = undefined;
pub var MIDI_GetProjTimeFromPPQPos: *fn (take: ?MediaItem_Take, ppqpos: f64) callconv(.C) f64 = undefined;
pub var MIDI_GetScale: *fn (take: ?MediaItem_Take, rootOut: ?*c_int, scaleOut: ?*c_int, name: [*:0]u8, name_sz: c_int) callconv(.C) bool = undefined;
pub var MIDI_GetTextSysexEvt: *fn (take: ?MediaItem_Take, textsyxevtidx: c_int, selectedOutOptional: ?*bool, mutedOutOptional: ?*bool, ppqposOutOptional: ?*f64, typeOutOptional: ?*c_int, msgOptional: [*:0]u8, msgOptional_sz: ?*c_int) callconv(.C) bool = undefined;
pub var MIDI_GetTrackHash: *fn (track: ?MediaTrack, notesonly: bool, hash: [*:0]u8, hash_sz: c_int) callconv(.C) bool = undefined;
pub var MIDI_InsertCC: *fn (take: ?MediaItem_Take, selected: bool, muted: bool, ppqpos: f64, chanmsg: c_int, chan: c_int, msg2: c_int, msg3: c_int) callconv(.C) bool = undefined;
pub var MIDI_InsertEvt: *fn (take: ?MediaItem_Take, selected: bool, muted: bool, ppqpos: f64, bytestr: [*:0]const u8, bytestr_sz: c_int) callconv(.C) bool = undefined;
pub var MIDI_InsertNote: *fn (take: ?MediaItem_Take, selected: bool, muted: bool, startppqpos: f64, endppqpos: f64, chan: c_int, pitch: c_int, vel: c_int, noSortInOptional: ?*const bool) callconv(.C) bool = undefined;
pub var MIDI_InsertTextSysexEvt: *fn (take: ?MediaItem_Take, selected: bool, muted: bool, ppqpos: f64, typeOut: c_int, bytestr: [*:0]const u8, bytestr_sz: c_int) callconv(.C) bool = undefined;
pub var midi_reinit: *fn () callconv(.C) void = undefined;
pub var MIDI_SelectAll: *fn (take: ?MediaItem_Take, select: bool) callconv(.C) void = undefined;
pub var MIDI_SetAllEvts: *fn (take: ?MediaItem_Take, buf: [*:0]const u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var MIDI_SetCC: *fn (take: ?MediaItem_Take, ccidx: c_int, selectedInOptional: ?*const bool, mutedInOptional: ?*const bool, ppqposInOptional: ?*f64, chanmsgInOptional: ?*c_int, chanInOptional: ?*c_int, msg2InOptional: ?*c_int, msg3InOptional: ?*c_int, noSortInOptional: ?*const bool) callconv(.C) bool = undefined;
pub var MIDI_SetCCShape: *fn (take: ?MediaItem_Take, ccidx: c_int, shape: c_int, beztension: f64, noSortInOptional: ?*const bool) callconv(.C) bool = undefined;
pub var MIDI_SetEvt: *fn (take: ?MediaItem_Take, evtidx: c_int, selectedInOptional: ?*const bool, mutedInOptional: ?*const bool, ppqposInOptional: ?*f64, msgOptional: [*:0]const u8, msgOptional_sz: c_int, noSortInOptional: ?*const bool) callconv(.C) bool = undefined;
pub var MIDI_SetItemExtents: *fn (item: ?MediaItem, startQN: f64, endQN: f64) callconv(.C) bool = undefined;
pub var MIDI_SetNote: *fn (take: ?MediaItem_Take, noteidx: c_int, selectedInOptional: ?*const bool, mutedInOptional: ?*const bool, startppqposInOptional: ?*f64, endppqposInOptional: ?*f64, chanInOptional: ?*c_int, pitchInOptional: ?*c_int, velInOptional: ?*c_int, noSortInOptional: ?*const bool) callconv(.C) bool = undefined;
pub var MIDI_SetTextSysexEvt: *fn (take: ?MediaItem_Take, textsyxevtidx: c_int, selectedInOptional: ?*const bool, mutedInOptional: ?*const bool, ppqposInOptional: ?*f64, typeInOptional: ?*c_int, msgOptional: [*:0]const u8, msgOptional_sz: c_int, noSortInOptional: ?*const bool) callconv(.C) bool = undefined;
pub var MIDI_Sort: *fn (take: ?MediaItem_Take) callconv(.C) void = undefined;
pub var MIDIEditor_GetActive: *fn () callconv(.C) HWND = undefined;
pub var MIDIEditor_GetMode: *fn (midieditor: HWND) callconv(.C) c_int = undefined;
pub var MIDIEditor_GetSetting_int: *fn (midieditor: HWND, setting_desc: [*:0]const u8) callconv(.C) c_int = undefined;
pub var MIDIEditor_GetSetting_str: *fn (midieditor: HWND, setting_desc: [*:0]const u8, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var MIDIEditor_GetTake: *fn (midieditor: HWND) callconv(.C) ?MediaItem_Take = undefined;
pub var MIDIEditor_LastFocused_OnCommand: *fn (command_id: c_int, islistviewcommand: bool) callconv(.C) bool = undefined;
pub var MIDIEditor_OnCommand: *fn (midieditor: HWND, command_id: c_int) callconv(.C) bool = undefined;
pub var MIDIEditor_SetSetting_int: *fn (midieditor: HWND, setting_desc: [*:0]const u8, setting: c_int) callconv(.C) bool = undefined;
pub var mkpanstr: *fn (strNeed64: [*:0]u8, pan: f64) callconv(.C) void = undefined;
pub var mkvolpanstr: *fn (strNeed64: [*:0]u8, vol: f64, pan: f64) callconv(.C) void = undefined;
pub var mkvolstr: *fn (strNeed64: [*:0]u8, vol: f64) callconv(.C) void = undefined;
pub var MoveEditCursor: *fn (adjamt: f64, dosel: bool) callconv(.C) void = undefined;
pub var MoveMediaItemToTrack: *fn (item: ?MediaItem, desttr: ?MediaTrack) callconv(.C) bool = undefined;
pub var MuteAllTracks: *fn (mute: bool) callconv(.C) void = undefined;
pub var my_getViewport: *fn (r: ?RECT, sr: ?RECT, wantWorkArea: bool) callconv(.C) void = undefined;
pub var NamedCommandLookup: *fn (command_name: [*:0]const u8) callconv(.C) c_int = undefined;
pub var OnPauseButton: *fn () callconv(.C) void = undefined;
pub var OnPauseButtonEx: *fn (proj: ?ReaProject) callconv(.C) void = undefined;
pub var OnPlayButton: *fn () callconv(.C) void = undefined;
pub var OnPlayButtonEx: *fn (proj: ?ReaProject) callconv(.C) void = undefined;
pub var OnStopButton: *fn () callconv(.C) void = undefined;
pub var OnStopButtonEx: *fn (proj: ?ReaProject) callconv(.C) void = undefined;
pub var OpenColorThemeFile: *fn (fnOut: [*:0]const u8) callconv(.C) bool = undefined;
pub var OpenMediaExplorer: *fn (mediafn: [*:0]const u8, play: bool) callconv(.C) HWND = undefined;
pub var OscLocalMessageToHost: *fn (message: [*:0]const u8, valueInOptional: ?*f64) callconv(.C) void = undefined;
pub var parse_timestr: *fn (buf: [*:0]const u8) callconv(.C) f64 = undefined;
pub var parse_timestr_len: *fn (buf: [*:0]const u8, offset: f64, modeoverride: c_int) callconv(.C) f64 = undefined;
pub var parse_timestr_pos: *fn (buf: [*:0]const u8, modeoverride: c_int) callconv(.C) f64 = undefined;
pub var parsepanstr: *fn (str: [*:0]const u8) callconv(.C) f64 = undefined;
pub var PCM_Sink_Create: *fn (filename: [*:0]const u8, cfg: [*:0]const u8, cfg_sz: c_int, nch: c_int, srate: c_int, buildpeaks: bool) callconv(.C) ?PCM_sink = undefined;
pub var PCM_Sink_CreateEx: *fn (proj: ?ReaProject, filename: [*:0]const u8, cfg: [*:0]const u8, cfg_sz: c_int, nch: c_int, srate: c_int, buildpeaks: bool) callconv(.C) ?PCM_sink = undefined;
pub var PCM_Sink_CreateMIDIFile: *fn (filename: [*:0]const u8, cfg: [*:0]const u8, cfg_sz: c_int, bpm: f64, div: c_int) callconv(.C) ?PCM_sink = undefined;
pub var PCM_Sink_CreateMIDIFileEx: *fn (proj: ?ReaProject, filename: [*:0]const u8, cfg: [*:0]const u8, cfg_sz: c_int, bpm: f64, div: c_int) callconv(.C) ?PCM_sink = undefined;
pub var PCM_Sink_Enum: *fn (idx: c_int, descstrOut: [*:0]const u8) callconv(.C) c_uint = undefined;
pub var PCM_Sink_GetExtension: *fn (data: [*:0]const u8, data_sz: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var PCM_Sink_ShowConfig: *fn (cfg: [*:0]const u8, cfg_sz: c_int, hwndParent: HWND) callconv(.C) HWND = undefined;
pub var PCM_Source_CreateFromFile: *fn (filename: [*:0]const u8) callconv(.C) ?PCM_source = undefined;
pub var PCM_Source_CreateFromFileEx: *fn (filename: [*:0]const u8, forcenoMidiImp: bool) callconv(.C) ?PCM_source = undefined;
pub var PCM_Source_CreateFromSimple: *fn (dec: ?ISimpleMediaDecoder, fnOut: [*:0]const u8) callconv(.C) ?PCM_source = undefined;
pub var PCM_Source_CreateFromType: *fn (sourcetype: [*:0]const u8) callconv(.C) ?PCM_source = undefined;
pub var PCM_Source_Destroy: *fn (src: ?PCM_source) callconv(.C) void = undefined;
pub var PCM_Source_GetPeaks: *fn (src: ?PCM_source, peakrate: f64, starttime: f64, numchannels: c_int, numsamplesperchannel: c_int, want_extra_type: c_int, buf: ?*f64) callconv(.C) c_int = undefined;
pub var PCM_Source_GetSectionInfo: *fn (src: ?PCM_source, offsOut: ?*f64, lenOut: ?*f64, revOut: ?*bool) callconv(.C) bool = undefined;
pub var PeakBuild_Create: *fn (src: ?PCM_source, fnOut: [*:0]const u8, srate: c_int, nch: c_int) callconv(.C) ?REAPER_PeakBuild_Interface = undefined;
pub var PeakBuild_CreateEx: *fn (src: ?PCM_source, fnOut: [*:0]const u8, srate: c_int, nch: c_int, flags: c_int) callconv(.C) ?REAPER_PeakBuild_Interface = undefined;
pub var PeakGet_Create: *fn (fnOut: [*:0]const u8, srate: c_int, nch: c_int) callconv(.C) ?REAPER_PeakGet_Interface = undefined;
pub var PitchShiftSubModeMenu: *fn (hwnd: HWND, x: c_int, y: c_int, mode: c_int, submode_sel: c_int) callconv(.C) c_int = undefined;
pub var PlayPreview: *fn (preview: ?preview_register_t) callconv(.C) c_int = undefined;
pub var PlayPreviewEx: *fn (preview: ?preview_register_t, bufflags: c_int, measure_align: f64) callconv(.C) c_int = undefined;
pub var PlayTrackPreview: *fn (preview: ?preview_register_t) callconv(.C) c_int = undefined;
pub var PlayTrackPreview2: *fn (proj: ?ReaProject, preview: ?preview_register_t) callconv(.C) c_int = undefined;
pub var PlayTrackPreview2Ex: *fn (proj: ?ReaProject, preview: ?preview_register_t, flags: c_int, measure_align: f64) callconv(.C) c_int = undefined;
pub var plugin_getapi: *fn (name: [*:0]const u8) callconv(.C) ?*anyopaque = undefined;
pub var plugin_getFilterList: *fn () callconv(.C) [*:0]const u8 = undefined;
pub var plugin_getImportableProjectFilterList: *fn () callconv(.C) [*:0]const u8 = undefined;
pub var plugin_register: *fn (name: [*:0]const u8, infostruct: ?*anyopaque) callconv(.C) c_int = undefined;
pub var PluginWantsAlwaysRunFx: *fn (amt: c_int) callconv(.C) void = undefined;
pub var PreventUIRefresh: *fn (prevent_count: c_int) callconv(.C) void = undefined;
pub var projectconfig_var_addr: *fn (proj: ?ReaProject, idx: c_int) callconv(.C) ?*anyopaque = undefined;
pub var projectconfig_var_getoffs: *fn (name: [*:0]const u8, szOut: ?*c_int) callconv(.C) c_int = undefined;
pub var PromptForAction: *fn (session_mode: c_int, init_id: c_int, section_id: c_int) callconv(.C) c_int = undefined;
pub var realloc_cmd_ptr: *fn (ptr: [*:0]u8, ptr_size: ?*c_int, new_size: c_int) callconv(.C) bool = undefined;
pub var ReaperGetPitchShiftAPI: *fn (version: c_int) callconv(.C) ?IReaperPitchShift = undefined;
pub var ReaScriptError: *fn (errmsg: [*:0]const u8) callconv(.C) void = undefined;
pub var RecursiveCreateDirectory: *fn (path: [*:0]const u8, ignored: c_int) callconv(.C) c_int = undefined;
pub var reduce_open_files: *fn (flags: c_int) callconv(.C) c_int = undefined;
pub var RefreshToolbar: *fn (command_id: c_int) callconv(.C) void = undefined;
pub var RefreshToolbar2: *fn (section_id: c_int, command_id: c_int) callconv(.C) void = undefined;
pub var relative_fn: *fn (in: [*:0]const u8, out: [*:0]u8, out_sz: c_int) callconv(.C) void = undefined;
pub var RemoveTrackSend: *fn (tr: ?MediaTrack, category: c_int, sendidx: c_int) callconv(.C) bool = undefined;
pub var RenderFileSection: *fn (source_filename: [*:0]const u8, target_filename: [*:0]const u8, start_percent: f64, end_percent: f64, playrate: f64) callconv(.C) bool = undefined;
pub var ReorderSelectedTracks: *fn (beforeTrackIdx: c_int, makePrevFolder: c_int) callconv(.C) bool = undefined;
pub var Resample_EnumModes: *fn (mode: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var Resampler_Create: *fn () callconv(.C) ?REAPER_Resample_Interface = undefined;
pub var resolve_fn: *fn (in: [*:0]const u8, out: [*:0]u8, out_sz: c_int) callconv(.C) void = undefined;
pub var resolve_fn2: *fn (in: [*:0]const u8, out: [*:0]u8, out_sz: c_int, checkSubDirOptional: [*:0]const u8) callconv(.C) void = undefined;
pub var ReverseNamedCommandLookup: *fn (command_id: c_int) callconv(.C) [*:0]const u8 = undefined;
pub var ScaleFromEnvelopeMode: *fn (scaling_mode: c_int, val: f64) callconv(.C) f64 = undefined;
pub var ScaleToEnvelopeMode: *fn (scaling_mode: c_int, val: f64) callconv(.C) f64 = undefined;
pub var screenset_register: *fn (id: [*:0]u8, callbackFunc: ?*anyopaque, param: ?*anyopaque) callconv(.C) void = undefined;
pub var screenset_registerNew: *fn (id: [*:0]u8, callbackFunc: screensetNewCallbackFunc, param: ?*anyopaque) callconv(.C) void = undefined;
pub var screenset_unregister: *fn (id: [*:0]u8) callconv(.C) void = undefined;
pub var screenset_unregisterByParam: *fn (param: ?*anyopaque) callconv(.C) void = undefined;
pub var screenset_updateLastFocus: *fn (prevWin: HWND) callconv(.C) void = undefined;
pub var SectionFromUniqueID: *fn (uniqueID: c_int) callconv(.C) ?KbdSectionInfo = undefined;
pub var SelectAllMediaItems: *fn (proj: ?ReaProject, selected: bool) callconv(.C) void = undefined;
pub var SelectProjectInstance: *fn (proj: ?ReaProject) callconv(.C) void = undefined;
pub var SendLocalOscMessage: *fn (local_osc_handler: ?*anyopaque, msg: [*:0]const u8, msglen: c_int) callconv(.C) void = undefined;
pub var SetActiveTake: *fn (take: ?MediaItem_Take) callconv(.C) void = undefined;
pub var SetAutomationMode: *fn (mode: c_int, onlySel: bool) callconv(.C) void = undefined;
pub var SetCurrentBPM: *fn (__proj: ?ReaProject, bpm: f64, wantUndo: bool) callconv(.C) void = undefined;
pub var SetCursorContext: *fn (mode: c_int, envInOptional: ?TrackEnvelope) callconv(.C) void = undefined;
pub var SetEditCurPos: *fn (time: f64, moveview: bool, seekplay: bool) callconv(.C) void = undefined;
pub var SetEditCurPos2: *fn (proj: ?ReaProject, time: f64, moveview: bool, seekplay: bool) callconv(.C) void = undefined;
pub var SetEnvelopePoint: *fn (envelope: ?TrackEnvelope, ptidx: c_int, timeInOptional: ?*f64, valueInOptional: ?*f64, shapeInOptional: ?*c_int, tensionInOptional: ?*f64, selectedInOptional: ?*bool, noSortInOptional: ?*bool) callconv(.C) bool = undefined;
pub var SetEnvelopePointEx: *fn (envelope: ?TrackEnvelope, autoitem_idx: c_int, ptidx: c_int, timeInOptional: ?*f64, valueInOptional: ?*f64, shapeInOptional: ?*c_int, tensionInOptional: ?*f64, selectedInOptional: ?*bool, noSortInOptional: ?*bool) callconv(.C) bool = undefined;
pub var SetEnvelopeStateChunk: *fn (env: ?TrackEnvelope, str: [*:0]const u8, isundoOptional: bool) callconv(.C) bool = undefined;
pub var SetExtState: *fn (section: [*:0]const u8, key: [*:0]const u8, value: [*:0]const u8, persist: bool) callconv(.C) void = undefined;
pub var SetGlobalAutomationOverride: *fn (mode: c_int) callconv(.C) void = undefined;
pub var SetItemStateChunk: *fn (item: ?MediaItem, str: [*:0]const u8, isundoOptional: bool) callconv(.C) bool = undefined;
pub var SetMasterTrackVisibility: *fn (flag: c_int) callconv(.C) c_int = undefined;
pub var SetMediaItemInfo_Value: *fn (item: ?MediaItem, parmname: [*:0]const u8, newvalue: f64) callconv(.C) bool = undefined;
pub var SetMediaItemLength: *fn (item: ?MediaItem, length: f64, refreshUI: bool) callconv(.C) bool = undefined;
pub var SetMediaItemPosition: *fn (item: ?MediaItem, position: f64, refreshUI: bool) callconv(.C) bool = undefined;
pub var SetMediaItemSelected: *fn (item: ?MediaItem, selected: bool) callconv(.C) void = undefined;
pub var SetMediaItemTake_Source: *fn (take: ?MediaItem_Take, source: ?PCM_source) callconv(.C) bool = undefined;
pub var SetMediaItemTakeInfo_Value: *fn (take: ?MediaItem_Take, parmname: [*:0]const u8, newvalue: f64) callconv(.C) bool = undefined;
pub var SetMediaTrackInfo_Value: *fn (tr: ?MediaTrack, parmname: [*:0]const u8, newvalue: f64) callconv(.C) bool = undefined;
pub var SetMIDIEditorGrid: *fn (project: ?ReaProject, division: f64) callconv(.C) void = undefined;
pub var SetMixerScroll: *fn (leftmosttrack: ?MediaTrack) callconv(.C) ?MediaTrack = undefined;
pub var SetMouseModifier: *fn (context: [*:0]const u8, modifier_flag: c_int, action: [*:0]const u8) callconv(.C) void = undefined;
pub var SetOnlyTrackSelected: *fn (track: ?MediaTrack) callconv(.C) void = undefined;
pub var SetProjectGrid: *fn (project: ?ReaProject, division: f64) callconv(.C) void = undefined;
pub var SetProjectMarker: *fn (markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: [*:0]const u8) callconv(.C) bool = undefined;
pub var SetProjectMarker2: *fn (proj: ?ReaProject, markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: [*:0]const u8) callconv(.C) bool = undefined;
pub var SetProjectMarker3: *fn (proj: ?ReaProject, markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: [*:0]const u8, color: c_int) callconv(.C) bool = undefined;
pub var SetProjectMarker4: *fn (proj: ?ReaProject, markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: [*:0]const u8, color: c_int, flags: c_int) callconv(.C) bool = undefined;
pub var SetProjectMarkerByIndex: *fn (proj: ?ReaProject, markrgnidx: c_int, isrgn: bool, pos: f64, rgnend: f64, IDnumber: c_int, name: [*:0]const u8, color: c_int) callconv(.C) bool = undefined;
pub var SetProjectMarkerByIndex2: *fn (proj: ?ReaProject, markrgnidx: c_int, isrgn: bool, pos: f64, rgnend: f64, IDnumber: c_int, name: [*:0]const u8, color: c_int, flags: c_int) callconv(.C) bool = undefined;
pub var SetProjExtState: *fn (proj: ?ReaProject, extname: [*:0]const u8, key: [*:0]const u8, value: [*:0]const u8) callconv(.C) c_int = undefined;
pub var SetRegionRenderMatrix: *fn (proj: ?ReaProject, regionindex: c_int, track: ?MediaTrack, addorremove: c_int) callconv(.C) void = undefined;
pub var SetRenderLastError: *fn (errorstr: [*:0]const u8) callconv(.C) void = undefined;
pub var SetTakeMarker: *fn (take: ?MediaItem_Take, idx: c_int, nameIn: [*:0]const u8, srcposInOptional: ?*f64, colorInOptional: ?*c_int) callconv(.C) c_int = undefined;
pub var SetTakeStretchMarker: *fn (take: ?MediaItem_Take, idx: c_int, pos: f64, srcposInOptional: ?*f64) callconv(.C) c_int = undefined;
pub var SetTakeStretchMarkerSlope: *fn (take: ?MediaItem_Take, idx: c_int, slope: f64) callconv(.C) bool = undefined;
pub var SetTempoTimeSigMarker: *fn (proj: ?ReaProject, ptidx: c_int, timepos: f64, measurepos: c_int, beatpos: f64, bpm: f64, timesig_num: c_int, timesig_denom: c_int, lineartempo: bool) callconv(.C) bool = undefined;
pub var SetThemeColor: *fn (ini_key: [*:0]const u8, color: c_int, flagsOptional: c_int) callconv(.C) c_int = undefined;
pub var SetToggleCommandState: *fn (section_id: c_int, command_id: c_int, state: c_int) callconv(.C) bool = undefined;
pub var SetTrackAutomationMode: *fn (tr: ?MediaTrack, mode: c_int) callconv(.C) void = undefined;
pub var SetTrackColor: *fn (track: ?MediaTrack, color: c_int) callconv(.C) void = undefined;
pub var SetTrackMIDILyrics: *fn (track: ?MediaTrack, flag: c_int, str: [*:0]const u8) callconv(.C) bool = undefined;
pub var SetTrackMIDINoteName: *fn (track: c_int, pitch: c_int, chan: c_int, name: [*:0]const u8) callconv(.C) bool = undefined;
pub var SetTrackMIDINoteNameEx: *fn (proj: ?ReaProject, track: ?MediaTrack, pitch: c_int, chan: c_int, name: [*:0]const u8) callconv(.C) bool = undefined;
pub var SetTrackSelected: *fn (track: ?MediaTrack, selected: bool) callconv(.C) void = undefined;
pub var SetTrackSendInfo_Value: *fn (tr: ?MediaTrack, category: c_int, sendidx: c_int, parmname: [*:0]const u8, newvalue: f64) callconv(.C) bool = undefined;
pub var SetTrackSendUIPan: *fn (track: ?MediaTrack, send_idx: c_int, pan: f64, isend: c_int) callconv(.C) bool = undefined;
pub var SetTrackSendUIVol: *fn (track: ?MediaTrack, send_idx: c_int, vol: f64, isend: c_int) callconv(.C) bool = undefined;
pub var SetTrackStateChunk: *fn (track: ?MediaTrack, str: [*:0]const u8, isundoOptional: bool) callconv(.C) bool = undefined;
pub var ShowActionList: *fn (caller: ?KbdSectionInfo, callerWnd: HWND) callconv(.C) void = undefined;
pub var ShowConsoleMsg: *fn (msg: [*:0]const u8) callconv(.C) void = undefined;
pub var ShowMessageBox: *fn (msg: [*:0]const u8, title: [*:0]const u8, typeOut: c_int) callconv(.C) c_int = undefined;
pub var ShowPopupMenu: *fn (name: [*:0]const u8, x: c_int, y: c_int, hwndParentOptional: HWND, ctxOptional: ?*anyopaque, ctx2Optional: c_int, ctx3Optional: c_int) callconv(.C) void = undefined;
pub var SLIDER2DB: *fn (y: f64) callconv(.C) f64 = undefined;
pub var SnapToGrid: *fn (project: ?ReaProject, time_pos: f64) callconv(.C) f64 = undefined;
pub var SoloAllTracks: *fn (solo: c_int) callconv(.C) void = undefined;
pub var Splash_GetWnd: *fn () callconv(.C) HWND = undefined;
pub var SplitMediaItem: *fn (item: ?MediaItem, position: f64) callconv(.C) ?MediaItem = undefined;
pub var StopPreview: *fn (preview: ?preview_register_t) callconv(.C) c_int = undefined;
pub var StopTrackPreview: *fn (preview: ?preview_register_t) callconv(.C) c_int = undefined;
pub var StopTrackPreview2: *fn (proj: ?*anyopaque, preview: ?preview_register_t) callconv(.C) c_int = undefined;
pub var stringToGuid: *fn (str: [*:0]const u8, g: ?GUID) callconv(.C) void = undefined;
pub var StuffMIDIMessage: *fn (mode: c_int, msg1: c_int, msg2: c_int, msg3: c_int) callconv(.C) void = undefined;
pub var TakeFX_AddByName: *fn (take: ?MediaItem_Take, fxname: [*:0]const u8, instantiate: c_int) callconv(.C) c_int = undefined;
pub var TakeFX_CopyToTake: *fn (src_take: ?MediaItem_Take, src_fx: c_int, dest_take: ?MediaItem_Take, dest_fx: c_int, is_move: bool) callconv(.C) void = undefined;
pub var TakeFX_CopyToTrack: *fn (src_take: ?MediaItem_Take, src_fx: c_int, dest_track: ?MediaTrack, dest_fx: c_int, is_move: bool) callconv(.C) void = undefined;
pub var TakeFX_Delete: *fn (take: ?MediaItem_Take, fx: c_int) callconv(.C) bool = undefined;
pub var TakeFX_EndParamEdit: *fn (take: ?MediaItem_Take, fx: c_int, param: c_int) callconv(.C) bool = undefined;
pub var TakeFX_FormatParamValue: *fn (take: ?MediaItem_Take, fx: c_int, param: c_int, val: f64, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var TakeFX_FormatParamValueNormalized: *fn (take: ?MediaItem_Take, fx: c_int, param: c_int, value: f64, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var TakeFX_GetChainVisible: *fn (take: ?MediaItem_Take) callconv(.C) c_int = undefined;
pub var TakeFX_GetCount: *fn (take: ?MediaItem_Take) callconv(.C) c_int = undefined;
pub var TakeFX_GetEnabled: *fn (take: ?MediaItem_Take, fx: c_int) callconv(.C) bool = undefined;
pub var TakeFX_GetEnvelope: *fn (take: ?MediaItem_Take, fxindex: c_int, parameterindex: c_int, create: bool) callconv(.C) ?TrackEnvelope = undefined;
pub var TakeFX_GetFloatingWindow: *fn (take: ?MediaItem_Take, index: c_int) callconv(.C) HWND = undefined;
pub var TakeFX_GetFormattedParamValue: *fn (take: ?MediaItem_Take, fx: c_int, param: c_int, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var TakeFX_GetFXGUID: *fn (take: ?MediaItem_Take, fx: c_int) callconv(.C) ?GUID = undefined;
pub var TakeFX_GetFXName: *fn (take: ?MediaItem_Take, fx: c_int, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var TakeFX_GetIOSize: *fn (take: ?MediaItem_Take, fx: c_int, inputPinsOutOptional: ?*c_int, outputPinsOutOptional: ?*c_int) callconv(.C) c_int = undefined;
pub var TakeFX_GetNamedConfigParm: *fn (take: ?MediaItem_Take, fx: c_int, parmname: [*:0]const u8, bufOut: [*:0]u8, bufOut_sz: c_int) callconv(.C) bool = undefined;
pub var TakeFX_GetNumParams: *fn (take: ?MediaItem_Take, fx: c_int) callconv(.C) c_int = undefined;
pub var TakeFX_GetOffline: *fn (take: ?MediaItem_Take, fx: c_int) callconv(.C) bool = undefined;
pub var TakeFX_GetOpen: *fn (take: ?MediaItem_Take, fx: c_int) callconv(.C) bool = undefined;
pub var TakeFX_GetParam: *fn (take: ?MediaItem_Take, fx: c_int, param: c_int, minvalOut: ?*f64, maxvalOut: ?*f64) callconv(.C) f64 = undefined;
pub var TakeFX_GetParameterStepSizes: *fn (take: ?MediaItem_Take, fx: c_int, param: c_int, stepOut: ?*f64, smallstepOut: ?*f64, largestepOut: ?*f64, istoggleOut: ?*bool) callconv(.C) bool = undefined;
pub var TakeFX_GetParamEx: *fn (take: ?MediaItem_Take, fx: c_int, param: c_int, minvalOut: ?*f64, maxvalOut: ?*f64, midvalOut: ?*f64) callconv(.C) f64 = undefined;
pub var TakeFX_GetParamName: *fn (take: ?MediaItem_Take, fx: c_int, param: c_int, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var TakeFX_GetParamNormalized: *fn (take: ?MediaItem_Take, fx: c_int, param: c_int) callconv(.C) f64 = undefined;
pub var TakeFX_GetPinMappings: *fn (tr: ?MediaItem_Take, fx: c_int, isoutput: c_int, pin: c_int, high32OutOptional: ?*c_int) callconv(.C) c_int = undefined;
pub var TakeFX_GetPreset: *fn (take: ?MediaItem_Take, fx: c_int, presetname: [*:0]u8, presetname_sz: c_int) callconv(.C) bool = undefined;
pub var TakeFX_GetPresetIndex: *fn (take: ?MediaItem_Take, fx: c_int, numberOfPresetsOut: ?*c_int) callconv(.C) c_int = undefined;
pub var TakeFX_GetUserPresetFilename: *fn (take: ?MediaItem_Take, fx: c_int, fnOut: [*:0]u8, fn_sz: c_int) callconv(.C) void = undefined;
pub var TakeFX_NavigatePresets: *fn (take: ?MediaItem_Take, fx: c_int, presetmove: c_int) callconv(.C) bool = undefined;
pub var TakeFX_SetEnabled: *fn (take: ?MediaItem_Take, fx: c_int, enabled: bool) callconv(.C) void = undefined;
pub var TakeFX_SetNamedConfigParm: *fn (take: ?MediaItem_Take, fx: c_int, parmname: [*:0]const u8, value: [*:0]const u8) callconv(.C) bool = undefined;
pub var TakeFX_SetOffline: *fn (take: ?MediaItem_Take, fx: c_int, offline: bool) callconv(.C) void = undefined;
pub var TakeFX_SetOpen: *fn (take: ?MediaItem_Take, fx: c_int, open: bool) callconv(.C) void = undefined;
pub var TakeFX_SetParam: *fn (take: ?MediaItem_Take, fx: c_int, param: c_int, val: f64) callconv(.C) bool = undefined;
pub var TakeFX_SetParamNormalized: *fn (take: ?MediaItem_Take, fx: c_int, param: c_int, value: f64) callconv(.C) bool = undefined;
pub var TakeFX_SetPinMappings: *fn (tr: ?MediaItem_Take, fx: c_int, isoutput: c_int, pin: c_int, low32bits: c_int, hi32bits: c_int) callconv(.C) bool = undefined;
pub var TakeFX_SetPreset: *fn (take: ?MediaItem_Take, fx: c_int, presetname: [*:0]const u8) callconv(.C) bool = undefined;
pub var TakeFX_SetPresetByIndex: *fn (take: ?MediaItem_Take, fx: c_int, idx: c_int) callconv(.C) bool = undefined;
pub var TakeFX_Show: *fn (take: ?MediaItem_Take, index: c_int, showFlag: c_int) callconv(.C) void = undefined;
pub var TakeIsMIDI: *fn (take: ?MediaItem_Take) callconv(.C) bool = undefined;
pub var ThemeLayout_GetLayout: *fn (section: [*:0]const u8, idx: c_int, nameOut: [*:0]u8, nameOut_sz: c_int) callconv(.C) bool = undefined;
pub var ThemeLayout_GetParameter: *fn (wp: c_int, descOutOptional: [*:0]const u8, valueOutOptional: ?*c_int, defValueOutOptional: ?*c_int, minValueOutOptional: ?*c_int, maxValueOutOptional: ?*c_int) callconv(.C) [*:0]const u8 = undefined;
pub var ThemeLayout_RefreshAll: *fn () callconv(.C) void = undefined;
pub var ThemeLayout_SetLayout: *fn (section: [*:0]const u8, layout: [*:0]const u8) callconv(.C) bool = undefined;
pub var ThemeLayout_SetParameter: *fn (wp: c_int, value: c_int, persist: bool) callconv(.C) bool = undefined;
pub var time_precise: *fn () callconv(.C) f64 = undefined;
pub var TimeMap2_beatsToTime: *fn (proj: ?ReaProject, tpos: f64, measuresInOptional: ?*c_int) callconv(.C) f64 = undefined;
pub var TimeMap2_GetDividedBpmAtTime: *fn (proj: ?ReaProject, time: f64) callconv(.C) f64 = undefined;
pub var TimeMap2_GetNextChangeTime: *fn (proj: ?ReaProject, time: f64) callconv(.C) f64 = undefined;
pub var TimeMap2_QNToTime: *fn (proj: ?ReaProject, qn: f64) callconv(.C) f64 = undefined;
pub var TimeMap2_timeToBeats: *fn (proj: ?ReaProject, tpos: f64, measuresOutOptional: ?*c_int, cmlOutOptional: ?*c_int, fullbeatsOutOptional: ?*f64, cdenomOutOptional: ?*c_int) callconv(.C) f64 = undefined;
pub var TimeMap2_timeToQN: *fn (proj: ?ReaProject, tpos: f64) callconv(.C) f64 = undefined;
pub var TimeMap_curFrameRate: *fn (proj: ?ReaProject, dropFrameOutOptional: ?*bool) callconv(.C) f64 = undefined;
pub var TimeMap_GetDividedBpmAtTime: *fn (time: f64) callconv(.C) f64 = undefined;
pub var TimeMap_GetMeasureInfo: *fn (proj: ?ReaProject, measure: c_int, qn_startOut: ?*f64, qn_endOut: ?*f64, timesig_numOut: ?*c_int, timesig_denomOut: ?*c_int, tempoOut: ?*f64) callconv(.C) f64 = undefined;
pub var TimeMap_GetMetronomePattern: *fn (proj: ?ReaProject, time: f64, pattern: [*:0]u8, pattern_sz: c_int) callconv(.C) c_int = undefined;
pub var TimeMap_GetTimeSigAtTime: *fn (proj: ?ReaProject, time: f64, timesig_numOut: ?*c_int, timesig_denomOut: ?*c_int, tempoOut: ?*f64) callconv(.C) void = undefined;
pub var TimeMap_QNToMeasures: *fn (proj: ?ReaProject, qn: f64, qnMeasureStartOutOptional: ?*f64, qnMeasureEndOutOptional: ?*f64) callconv(.C) c_int = undefined;
pub var TimeMap_QNToTime: *fn (qn: f64) callconv(.C) f64 = undefined;
pub var TimeMap_QNToTime_abs: *fn (proj: ?ReaProject, qn: f64) callconv(.C) f64 = undefined;
pub var TimeMap_timeToQN: *fn (tpos: f64) callconv(.C) f64 = undefined;
pub var TimeMap_timeToQN_abs: *fn (proj: ?ReaProject, tpos: f64) callconv(.C) f64 = undefined;
pub var ToggleTrackSendUIMute: *fn (track: ?MediaTrack, send_idx: c_int) callconv(.C) bool = undefined;
pub var Track_GetPeakHoldDB: *fn (track: ?MediaTrack, channel: c_int, clear: bool) callconv(.C) f64 = undefined;
pub var Track_GetPeakInfo: *fn (track: ?MediaTrack, channel: c_int) callconv(.C) f64 = undefined;
pub var TrackCtl_SetToolTip: *fn (fmt: [*:0]const u8, xpos: c_int, ypos: c_int, topmost: bool) callconv(.C) void = undefined;
pub var TrackFX_AddByName: *fn (track: ?MediaTrack, fxname: [*:0]const u8, recFX: bool, instantiate: c_int) callconv(.C) c_int = undefined;
pub var TrackFX_CopyToTake: *fn (src_track: ?MediaTrack, src_fx: c_int, dest_take: ?MediaItem_Take, dest_fx: c_int, is_move: bool) callconv(.C) void = undefined;
pub var TrackFX_CopyToTrack: *fn (src_track: ?MediaTrack, src_fx: c_int, dest_track: ?MediaTrack, dest_fx: c_int, is_move: bool) callconv(.C) void = undefined;
pub var TrackFX_Delete: *fn (track: ?MediaTrack, fx: c_int) callconv(.C) bool = undefined;
pub var TrackFX_EndParamEdit: *fn (track: ?MediaTrack, fx: c_int, param: c_int) callconv(.C) bool = undefined;
pub var TrackFX_FormatParamValue: *fn (track: ?MediaTrack, fx: c_int, param: c_int, val: f64, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var TrackFX_FormatParamValueNormalized: *fn (track: ?MediaTrack, fx: c_int, param: c_int, value: f64, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var TrackFX_GetByName: *fn (track: ?MediaTrack, fxname: [*:0]const u8, instantiate: bool) callconv(.C) c_int = undefined;
pub var TrackFX_GetChainVisible: *fn (track: ?MediaTrack) callconv(.C) c_int = undefined;
pub var TrackFX_GetCount: *fn (track: ?MediaTrack) callconv(.C) c_int = undefined;
pub var TrackFX_GetEnabled: *fn (track: ?MediaTrack, fx: c_int) callconv(.C) bool = undefined;
pub var TrackFX_GetEQ: *fn (track: ?MediaTrack, instantiate: bool) callconv(.C) c_int = undefined;
pub var TrackFX_GetEQBandEnabled: *fn (track: ?MediaTrack, fxidx: c_int, bandtype: c_int, bandidx: c_int) callconv(.C) bool = undefined;
pub var TrackFX_GetEQParam: *fn (track: ?MediaTrack, fxidx: c_int, paramidx: c_int, bandtypeOut: ?*c_int, bandidxOut: ?*c_int, paramtypeOut: ?*c_int, normvalOut: ?*f64) callconv(.C) bool = undefined;
pub var TrackFX_GetFloatingWindow: *fn (track: ?MediaTrack, index: c_int) callconv(.C) HWND = undefined;
pub var TrackFX_GetFormattedParamValue: *fn (track: ?MediaTrack, fx: c_int, param: c_int, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var TrackFX_GetFXGUID: *fn (track: ?MediaTrack, fx: c_int) callconv(.C) ?GUID = undefined;
pub var TrackFX_GetFXName: *fn (track: ?MediaTrack, fx: c_int, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var TrackFX_GetInstrument: *fn (track: ?MediaTrack) callconv(.C) c_int = undefined;
pub var TrackFX_GetIOSize: *fn (track: ?MediaTrack, fx: c_int, inputPinsOutOptional: ?*c_int, outputPinsOutOptional: ?*c_int) callconv(.C) c_int = undefined;
pub var TrackFX_GetNamedConfigParm: *fn (track: ?MediaTrack, fx: c_int, parmname: [*:0]const u8, bufOut: [*:0]u8, bufOut_sz: c_int) callconv(.C) bool = undefined;
pub var TrackFX_GetNumParams: *fn (track: ?MediaTrack, fx: c_int) callconv(.C) c_int = undefined;
pub var TrackFX_GetOffline: *fn (track: ?MediaTrack, fx: c_int) callconv(.C) bool = undefined;
pub var TrackFX_GetOpen: *fn (track: ?MediaTrack, fx: c_int) callconv(.C) bool = undefined;
pub var TrackFX_GetParam: *fn (track: ?MediaTrack, fx: c_int, param: c_int, minvalOut: ?*f64, maxvalOut: ?*f64) callconv(.C) f64 = undefined;
pub var TrackFX_GetParameterStepSizes: *fn (track: ?MediaTrack, fx: c_int, param: c_int, stepOut: ?*f64, smallstepOut: ?*f64, largestepOut: ?*f64, istoggleOut: ?*bool) callconv(.C) bool = undefined;
pub var TrackFX_GetParamEx: *fn (track: ?MediaTrack, fx: c_int, param: c_int, minvalOut: ?*f64, maxvalOut: ?*f64, midvalOut: ?*f64) callconv(.C) f64 = undefined;
pub var TrackFX_GetParamName: *fn (track: ?MediaTrack, fx: c_int, param: c_int, buf: [*:0]u8, buf_sz: c_int) callconv(.C) bool = undefined;
pub var TrackFX_GetParamNormalized: *fn (track: ?MediaTrack, fx: c_int, param: c_int) callconv(.C) f64 = undefined;
pub var TrackFX_GetPinMappings: *fn (tr: ?MediaTrack, fx: c_int, isoutput: c_int, pin: c_int, high32OutOptional: ?*c_int) callconv(.C) c_int = undefined;
pub var TrackFX_GetPreset: *fn (track: ?MediaTrack, fx: c_int, presetname: [*:0]u8, presetname_sz: c_int) callconv(.C) bool = undefined;
pub var TrackFX_GetPresetIndex: *fn (track: ?MediaTrack, fx: c_int, numberOfPresetsOut: ?*c_int) callconv(.C) c_int = undefined;
pub var TrackFX_GetRecChainVisible: *fn (track: ?MediaTrack) callconv(.C) c_int = undefined;
pub var TrackFX_GetRecCount: *fn (track: ?MediaTrack) callconv(.C) c_int = undefined;
pub var TrackFX_GetUserPresetFilename: *fn (track: ?MediaTrack, fx: c_int, fnOut: [*:0]u8, fn_sz: c_int) callconv(.C) void = undefined;
pub var TrackFX_NavigatePresets: *fn (track: ?MediaTrack, fx: c_int, presetmove: c_int) callconv(.C) bool = undefined;
pub var TrackFX_SetEnabled: *fn (track: ?MediaTrack, fx: c_int, enabled: bool) callconv(.C) void = undefined;
pub var TrackFX_SetEQBandEnabled: *fn (track: ?MediaTrack, fxidx: c_int, bandtype: c_int, bandidx: c_int, enable: bool) callconv(.C) bool = undefined;
pub var TrackFX_SetEQParam: *fn (track: ?MediaTrack, fxidx: c_int, bandtype: c_int, bandidx: c_int, paramtype: c_int, val: f64, isnorm: bool) callconv(.C) bool = undefined;
pub var TrackFX_SetNamedConfigParm: *fn (track: ?MediaTrack, fx: c_int, parmname: [*:0]const u8, value: [*:0]const u8) callconv(.C) bool = undefined;
pub var TrackFX_SetOffline: *fn (track: ?MediaTrack, fx: c_int, offline: bool) callconv(.C) void = undefined;
pub var TrackFX_SetOpen: *fn (track: ?MediaTrack, fx: c_int, open: bool) callconv(.C) void = undefined;
pub var TrackFX_SetParam: *fn (track: ?MediaTrack, fx: c_int, param: c_int, val: f64) callconv(.C) bool = undefined;
pub var TrackFX_SetParamNormalized: *fn (track: ?MediaTrack, fx: c_int, param: c_int, value: f64) callconv(.C) bool = undefined;
pub var TrackFX_SetPinMappings: *fn (tr: ?MediaTrack, fx: c_int, isoutput: c_int, pin: c_int, low32bits: c_int, hi32bits: c_int) callconv(.C) bool = undefined;
pub var TrackFX_SetPreset: *fn (track: ?MediaTrack, fx: c_int, presetname: [*:0]const u8) callconv(.C) bool = undefined;
pub var TrackFX_SetPresetByIndex: *fn (track: ?MediaTrack, fx: c_int, idx: c_int) callconv(.C) bool = undefined;
pub var TrackFX_Show: *fn (track: ?MediaTrack, index: c_int, showFlag: c_int) callconv(.C) void = undefined;
pub var TrackList_AdjustWindows: *fn (isMinor: bool) callconv(.C) void = undefined;
pub var TrackList_UpdateAllExternalSurfaces: *fn () callconv(.C) void = undefined;
pub var Undo_BeginBlock: *fn () callconv(.C) void = undefined;
pub var Undo_BeginBlock2: *fn (proj: ?ReaProject) callconv(.C) void = undefined;
pub var Undo_CanRedo2: *fn (proj: ?ReaProject) callconv(.C) [*:0]const u8 = undefined;
pub var Undo_CanUndo2: *fn (proj: ?ReaProject) callconv(.C) [*:0]const u8 = undefined;
pub var Undo_DoRedo2: *fn (proj: ?ReaProject) callconv(.C) c_int = undefined;
pub var Undo_DoUndo2: *fn (proj: ?ReaProject) callconv(.C) c_int = undefined;
pub var Undo_EndBlock: *fn (descchange: [*:0]const u8, extraflags: c_int) callconv(.C) void = undefined;
pub var Undo_EndBlock2: *fn (proj: ?ReaProject, descchange: [*:0]const u8, extraflags: c_int) callconv(.C) void = undefined;
pub var Undo_OnStateChange: *fn (descchange: [*:0]const u8) callconv(.C) void = undefined;
pub var Undo_OnStateChange2: *fn (proj: ?ReaProject, descchange: [*:0]const u8) callconv(.C) void = undefined;
pub var Undo_OnStateChange_Item: *fn (proj: ?ReaProject, name: [*:0]const u8, item: ?MediaItem) callconv(.C) void = undefined;
pub var Undo_OnStateChangeEx: *fn (descchange: [*:0]const u8, whichStates: c_int, trackparm: c_int) callconv(.C) void = undefined;
pub var Undo_OnStateChangeEx2: *fn (proj: ?ReaProject, descchange: [*:0]const u8, whichStates: c_int, trackparm: c_int) callconv(.C) void = undefined;
pub var update_disk_counters: *fn (readamt: c_int, writeamt: c_int) callconv(.C) void = undefined;
pub var UpdateArrange: *fn () callconv(.C) void = undefined;
pub var UpdateItemInProject: *fn (item: ?MediaItem) callconv(.C) void = undefined;
pub var UpdateTimeline: *fn () callconv(.C) void = undefined;
pub var ValidatePtr: *fn (pointer: ?*anyopaque, ctypename: [*:0]const u8) callconv(.C) bool = undefined;
pub var ValidatePtr2: *fn (proj: ?ReaProject, pointer: ?*anyopaque, ctypename: [*:0]const u8) callconv(.C) bool = undefined;
pub var ViewPrefs: *fn (page: c_int, pageByName: [*:0]const u8) callconv(.C) void = undefined;
pub var WDL_VirtualWnd_ScaledBlitBG: *fn (dest: ?LICE_IBitmap, src: ?WDL_VirtualWnd_BGCfg, destx: c_int, desty: c_int, destw: c_int, desth: c_int, clipx: c_int, clipy: c_int, clipw: c_int, cliph: c_int, alpha: f32, mode: c_int) callconv(.C) bool = undefined;
};
// __mergesort
// __mergesort is a stable sorting function with an API similar to qsort().
// HOWEVER, it requires some temporary space, equal to the size of the data being sorted, so you can pass it as the last parameter,
// or NULL and it will allocate and free space internally.
pub fn __mergesort(base: ?*anyopaque, nmemb: usize, size: usize, cmpfunc: ?*fn (*const anyopaque, *const anyopaque) c_int, tmpspace: ?*anyopaque) void {
return fnPtrs.__mergesort(base, nmemb, size, cmpfunc, tmpspace);
}
/// AddCustomizableMenu
/// menuidstr is some unique identifying string
/// menuname is for main menus only (displayed in a menu bar somewhere), NULL otherwise
/// kbdsecname is the name of the KbdSectionInfo registered by this plugin, or NULL for the main actions section
pub fn AddCustomizableMenu(menuidstr: [*:0]const u8, menuname: [*:0]const u8, kbdsecname: [*:0]const u8, addtomainmenu: bool) bool {
return fnPtrs.AddCustomizableMenu(menuidstr, menuname, kbdsecname, addtomainmenu);
}
/// AddExtensionsMainMenu
/// Add an Extensions main menu, which the extension can populate/modify with plugin_register("hookcustommenu")
pub fn AddExtensionsMainMenu() bool {
return fnPtrs.AddExtensionsMainMenu();
}
/// AddMediaItemToTrack
/// creates a new media item.
pub fn AddMediaItemToTrack(tr: ?MediaTrack) ?MediaItem {
return fnPtrs.AddMediaItemToTrack(tr);
}
/// AddProjectMarker
/// Returns the index of the created marker/region, or -1 on failure. Supply wantidx>=0 if you want a particular index number, but you'll get a different index number a region and wantidx is already in use.
pub fn AddProjectMarker(proj: ?ReaProject, isrgn: bool, pos: f64, rgnend: f64, name: [*:0]const u8, wantidx: c_int) c_int {
return fnPtrs.AddProjectMarker(proj, isrgn, pos, rgnend, name, wantidx);
}
/// AddProjectMarker2
/// Returns the index of the created marker/region, or -1 on failure. Supply wantidx>=0 if you want a particular index number, but you'll get a different index number a region and wantidx is already in use. color should be 0 (default color), or ColorToNative(r,g,b)|0x1000000
pub fn AddProjectMarker2(proj: ?ReaProject, isrgn: bool, pos: f64, rgnend: f64, name: [*:0]const u8, wantidx: c_int, color: c_int) c_int {
return fnPtrs.AddProjectMarker2(proj, isrgn, pos, rgnend, name, wantidx, color);
}
/// AddRemoveReaScript
/// Add a ReaScript (return the new command ID, or 0 if failed) or remove a ReaScript (return >0 on success). Use commit==true when adding/removing a single script. When bulk adding/removing n scripts, you can optimize the n-1 first calls with commit==false and commit==true for the last call.
pub fn AddRemoveReaScript(add: bool, sectionID: c_int, scriptfn: [*:0]const u8, commit: bool) c_int {
return fnPtrs.AddRemoveReaScript(add, sectionID, scriptfn, commit);
}
/// AddTakeToMediaItem
/// creates a new take in an item
pub fn AddTakeToMediaItem(item: ?MediaItem) ?MediaItem_Take {
return fnPtrs.AddTakeToMediaItem(item);
}
/// AddTempoTimeSigMarker
/// Deprecated. Use SetTempoTimeSigMarker with ptidx=-1.
pub fn AddTempoTimeSigMarker(proj: ?ReaProject, timepos: f64, bpm: f64, timesig_num: c_int, timesig_denom: c_int, lineartempochange: bool) bool {
return fnPtrs.AddTempoTimeSigMarker(proj, timepos, bpm, timesig_num, timesig_denom, lineartempochange);
}
/// adjustZoom
/// forceset=0,doupd=true,centermode=-1 for default
pub fn adjustZoom(amt: f64, forceset: c_int, doupd: bool, centermode: c_int) void {
return fnPtrs.adjustZoom(amt, forceset, doupd, centermode);
}
/// AnyTrackSolo
pub fn AnyTrackSolo(proj: ?ReaProject) bool {
return fnPtrs.AnyTrackSolo(proj);
}
/// APIExists
/// Returns true if function_name exists in the REAPER API
pub fn APIExists(function_name: [*:0]const u8) bool {
return fnPtrs.APIExists(function_name);
}
/// APITest
/// Displays a message window if the API was successfully called.
pub fn APITest() void {
return fnPtrs.APITest();
}
/// ApplyNudge
/// nudgeflag: &1=set to value (otherwise nudge by value), &2=snap
/// nudgewhat: 0=position, 1=left trim, 2=left edge, 3=right edge, 4=contents, 5=duplicate, 6=edit cursor
/// nudgeunit: 0=ms, 1=seconds, 2=grid, 3=256th notes, ..., 15=whole notes, 16=measures.beats (1.15 = 1 measure + 1.5 beats), 17=samples, 18=frames, 19=pixels, 20=item lengths, 21=item selections
/// value: amount to nudge by, or value to set to
/// reverse: in nudge mode, nudges left (otherwise ignored)
/// copies: in nudge duplicate mode, number of copies (otherwise ignored)
pub fn ApplyNudge(project: ?ReaProject, nudgeflag: c_int, nudgewhat: c_int, nudgeunits: c_int, value: f64, reverse: bool, copies: c_int) bool {
return fnPtrs.ApplyNudge(project, nudgeflag, nudgewhat, nudgeunits, value, reverse, copies);
}
/// ArmCommand
/// arms a command (or disarms if 0 passed) in section sectionname (empty string for main)
pub fn ArmCommand(cmd: c_int, sectionname: [*:0]const u8) void {
return fnPtrs.ArmCommand(cmd, sectionname);
}
/// Audio_Init
/// open all audio and MIDI devices, if not open
pub fn Audio_Init() void {
return fnPtrs.Audio_Init();
}
/// Audio_IsPreBuffer
/// is in pre-buffer? threadsafe
pub fn Audio_IsPreBuffer() c_int {
return fnPtrs.Audio_IsPreBuffer();
}
/// Audio_IsRunning
/// is audio running at all? threadsafe
pub fn Audio_IsRunning() c_int {
return fnPtrs.Audio_IsRunning();
}
/// Audio_Quit
/// close all audio and MIDI devices, if open
pub fn Audio_Quit() void {
return fnPtrs.Audio_Quit();
}
/// Audio_RegHardwareHook
/// return >0 on success
pub fn Audio_RegHardwareHook(isAdd: bool, reg: ?audio_hook_register_t) c_int {
return fnPtrs.Audio_RegHardwareHook(isAdd, reg);
}
/// AudioAccessorStateChanged
/// Returns true if the underlying samples (track or media item take) have changed, but does not update the audio accessor, so the user can selectively call AudioAccessorValidateState only when needed. See CreateTakeAudioAccessor, CreateTrackAudioAccessor, DestroyAudioAccessor, GetAudioAccessorEndTime, GetAudioAccessorSamples.
pub fn AudioAccessorStateChanged(accessor: ?AudioAccessor) bool {
return fnPtrs.AudioAccessorStateChanged(accessor);
}
/// AudioAccessorUpdate
/// Force the accessor to reload its state from the underlying track or media item take. See CreateTakeAudioAccessor, CreateTrackAudioAccessor, DestroyAudioAccessor, AudioAccessorStateChanged, GetAudioAccessorStartTime, GetAudioAccessorEndTime, GetAudioAccessorSamples.
pub fn AudioAccessorUpdate(accessor: ?AudioAccessor) void {
return fnPtrs.AudioAccessorUpdate(accessor);
}
/// AudioAccessorValidateState
/// Validates the current state of the audio accessor -- must ONLY call this from the main thread. Returns true if the state changed.
pub fn AudioAccessorValidateState(accessor: ?AudioAccessor) bool {
return fnPtrs.AudioAccessorValidateState(accessor);