forked from plugdata-team/plugdata
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSetup.cpp
More file actions
2598 lines (2518 loc) · 69.2 KB
/
Setup.cpp
File metadata and controls
2598 lines (2518 loc) · 69.2 KB
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
/*
// Copyright (c) 2021-2022 Timothy Schoen.
// For information on usage and redistribution, and for a DISCLAIMER OF ALL
// WARRANTIES, see the file, "LICENSE.txt," in this distribution.
*/
extern "C" {
#include <m_pd.h>
#include <z_hooks.h>
#include <s_net.h>
}
#include <clocale>
#include <string>
#include <cstring>
#include "Setup.h"
static t_class* plugdata_receiver_class;
typedef struct _plugdata_receiver {
t_object x_obj;
t_symbol* x_sym;
void* x_ptr;
t_plugdata_banghook x_hook_bang;
t_plugdata_floathook x_hook_float;
t_plugdata_symbolhook x_hook_symbol;
t_plugdata_listhook x_hook_list;
t_plugdata_messagehook x_hook_message;
} t_plugdata_receiver;
static void plugdata_receiver_bang(t_plugdata_receiver* x)
{
if (x->x_hook_bang)
x->x_hook_bang(x->x_ptr, x->x_sym->s_name);
}
static void plugdata_receiver_float(t_plugdata_receiver* x, t_float const f)
{
if (x->x_hook_float)
x->x_hook_float(x->x_ptr, x->x_sym->s_name, f);
}
static void plugdata_receiver_symbol(t_plugdata_receiver* x, t_symbol* s)
{
if (x->x_hook_symbol)
x->x_hook_symbol(x->x_ptr, x->x_sym->s_name, s->s_name);
}
static void plugdata_receiver_list(t_plugdata_receiver* x, t_symbol*, int const argc, t_atom* argv)
{
if (x->x_hook_list)
x->x_hook_list(x->x_ptr, x->x_sym->s_name, argc, argv);
}
static void plugdata_receiver_anything(t_plugdata_receiver* x, t_symbol* s, int const argc, t_atom* argv)
{
if (x->x_hook_message)
x->x_hook_message(x->x_ptr, x->x_sym->s_name, s->s_name, argc, argv);
}
static void plugdata_receiver_free(t_plugdata_receiver* x)
{
pd_unbind(&x->x_obj.ob_pd, x->x_sym);
}
static t_class* plugdata_midi_class;
typedef struct _plugdata_midi {
t_object x_obj;
void* x_ptr;
t_plugdata_noteonhook x_hook_noteon;
t_plugdata_controlchangehook x_hook_controlchange;
t_plugdata_programchangehook x_hook_programchange;
t_plugdata_pitchbendhook x_hook_pitchbend;
t_plugdata_aftertouchhook x_hook_aftertouch;
t_plugdata_polyaftertouchhook x_hook_polyaftertouch;
t_plugdata_midibytehook x_hook_midibyte;
} t_plugdata_midi;
static void plugdata_noteon(int const channel, int const pitch, int const velocity)
{
auto const* x = reinterpret_cast<t_plugdata_midi*>(gensym("#plugdata_midi")->s_thing);
if (x && x->x_hook_noteon) {
x->x_hook_noteon(x->x_ptr, channel, pitch, velocity);
}
}
static void plugdata_controlchange(int const channel, int const controller, int const value)
{
auto const* x = reinterpret_cast<t_plugdata_midi*>(gensym("#plugdata_midi")->s_thing);
if (x && x->x_hook_controlchange) {
x->x_hook_controlchange(x->x_ptr, channel, controller, value);
}
}
static void plugdata_programchange(int const channel, int const value)
{
auto const* x = reinterpret_cast<t_plugdata_midi*>(gensym("#plugdata_midi")->s_thing);
if (x && x->x_hook_programchange) {
x->x_hook_programchange(x->x_ptr, channel, value);
}
}
static void plugdata_pitchbend(int const channel, int const value)
{
auto const* x = reinterpret_cast<t_plugdata_midi*>(gensym("#plugdata_midi")->s_thing);
if (x && x->x_hook_pitchbend) {
x->x_hook_pitchbend(x->x_ptr, channel, value);
}
}
static void plugdata_aftertouch(int const channel, int const value)
{
auto const* x = reinterpret_cast<t_plugdata_midi*>(gensym("#plugdata_midi")->s_thing);
if (x && x->x_hook_aftertouch) {
x->x_hook_aftertouch(x->x_ptr, channel, value);
}
}
static void plugdata_polyaftertouch(int const channel, int const pitch, int const value)
{
auto const* x = reinterpret_cast<t_plugdata_midi*>(gensym("#plugdata_midi")->s_thing);
if (x && x->x_hook_polyaftertouch) {
x->x_hook_polyaftertouch(x->x_ptr, channel, pitch, value);
}
}
static void plugdata_midibyte(int const port, int const byte)
{
auto const* x = reinterpret_cast<t_plugdata_midi*>(gensym("#plugdata_midi")->s_thing);
if (x && x->x_hook_midibyte) {
x->x_hook_midibyte(x->x_ptr, port, byte);
}
}
static void plugdata_midi_free(t_plugdata_midi* x)
{
pd_unbind(&x->x_obj.ob_pd, gensym("#plugdata_midi"));
}
static t_class* plugdata_print_class;
typedef struct _plugdata_print {
t_object x_obj;
void* x_ptr;
t_plugdata_printhook x_hook;
} t_plugdata_print;
static void plugdata_print(void* object, char const* message)
{
auto const* x = reinterpret_cast<t_plugdata_print*>(gensym("#plugdata_print")->s_thing);
if (x && x->x_hook) {
x->x_hook(x->x_ptr, object, message);
}
}
extern "C" {
void pd_init();
#if ENABLE_GEM
void Gem_setup(t_symbol* plugin_path);
void gemcubeframebuffer_setup();
void gemframebuffer_setup();
void gemhead_setup();
void gemkeyboard_setup();
void gemkeyname_setup();
void gemlist_setup();
void gemlist_info_setup();
void gemlist_matrix_setup();
void gemmanager_setup();
void gemmouse_setup();
void gemreceive_setup();
void gemwin_setup();
void modelfiler_setup();
void render_trigger_setup();
void GemSplash_setup();
void circle_setup();
void colorSquare_setup();
void cone_setup();
void cube_setup();
void cuboid_setup();
void curve_setup();
void curve3d_setup();
void cylinder_setup();
void disk_setup();
void gemvertexbuffer_setup();
void imageVert_setup();
void mesh_line_setup();
void mesh_square_setup();
void model_setup();
void multimodel_setup();
void newWave_setup();
void polygon_setup();
void pqtorusknots_setup();
void primTri_setup();
void rectangle_setup();
void ripple_setup();
void rubber_setup();
void scopeXYZ_setup();
void slideSquares_setup();
void sphere_setup();
void sphere3d_setup();
void square_setup();
void surface3d_setup();
void teapot_setup();
void text2d_setup();
void text3d_setup();
void textextruded_setup();
void textoutline_setup();
void torus_setup();
void trapezoid_setup();
void triangle_setup();
void tube_setup();
void accumrotate_setup();
void alpha_setup();
void ambient_setup();
void ambientRGB_setup();
void camera_setup();
void color_setup();
void colorRGB_setup();
void depth_setup();
void diffuse_setup();
void diffuseRGB_setup();
void emission_setup();
void emissionRGB_setup();
void fragment_program_setup();
void glsl_fragment_setup();
void glsl_geometry_setup();
void glsl_program_setup();
void glsl_tesscontrol_setup();
void glsl_tesseval_setup();
void glsl_vertex_setup();
void linear_path_setup();
void ortho_setup();
void polygon_smooth_setup();
void rotate_setup();
void rotateXYZ_setup();
void scale_setup();
void gemrepeat_setup();
void scaleXYZ_setup();
void separator_setup();
void shearXY_setup();
void shearXZ_setup();
void shearYX_setup();
void shearYZ_setup();
void shearZX_setup();
void shearZY_setup();
void shininess_setup();
void specular_setup();
void specularRGB_setup();
void spline_path_setup();
void translate_setup();
void translateXYZ_setup();
void vertex_program_setup();
void light_setup();
void spot_light_setup();
void world_light_setup();
void part_color_setup();
void part_damp_setup();
void part_draw_setup();
void part_follow_setup();
void part_gravity_setup();
void part_head_setup();
void part_killold_setup();
void part_killslow_setup();
void part_orbitpoint_setup();
void part_render_setup();
void part_sink_setup();
void part_size_setup();
void part_source_setup();
void part_targetcolor_setup();
void part_targetsize_setup();
void part_velcone_setup();
void part_velocity_setup();
void part_velsphere_setup();
void part_vertex_setup();
void pix_2grey_setup();
void pix_a_2grey_setup();
void pix_add_setup();
void pix_aging_setup();
void pix_alpha_setup();
void pix_background_setup();
void pix_backlight_setup();
void pix_biquad_setup();
void pix_bitmask_setup();
void pix_blob_setup();
void pix_blur_setup();
void pix_buf_setup();
void pix_buffer_setup();
void pix_buffer_read_setup();
void pix_buffer_write_setup();
void pix_chroma_key_setup();
void pix_clearblock_setup();
void pix_color_setup();
void pix_coloralpha_setup();
void pix_colorclassify_setup();
void pix_colormatrix_setup();
void pix_colorreduce_setup();
void pix_compare_setup();
void pix_composite_setup();
void pix_contrast_setup();
void pix_convert_setup();
void pix_convolve_setup();
void pix_coordinate_setup();
void pix_crop_setup();
void pix_cubemap_setup();
void pix_curve_setup();
void pix_data_setup();
void pix_deinterlace_setup();
void pix_delay_setup();
void pix_diff_setup();
void pix_dot_setup();
void pix_draw_setup();
void pix_dump_setup();
void pix_duotone_setup();
void pix_emboss_setup();
void pix_equal_setup();
void pix_film_setup();
void pix_flip_setup();
void pix_freeframe_setup();
void pix_frei0r_setup();
void pix_gain_setup();
void pix_grey_setup();
void pix_halftone_setup();
void pix_histo_setup();
void pix_hsv2rgb_setup();
void pix_image_setup();
void pix_imageInPlace_setup();
void pix_info_setup();
void pix_invert_setup();
void pix_kaleidoscope_setup();
void pix_levels_setup();
void pix_lumaoffset_setup();
void pix_mask_setup();
void pix_mean_color_setup();
void pix_metaimage_setup();
void pix_mix_setup();
void pix_motionblur_setup();
void pix_movement_setup();
void pix_movement2_setup();
void pix_movie_setup();
void pix_multiblob_setup();
void pix_multiimage_setup();
void pix_multiply_setup();
void pix_multitexture_setup();
void pix_noise_setup();
void pix_normalize_setup();
void pix_offset_setup();
void pix_posterize_setup();
void pix_puzzle_setup();
void pix_rds_setup();
void pix_record_setup();
void pix_rectangle_setup();
void pix_refraction_setup();
void pix_resize_setup();
void pix_rgb2hsv_setup();
void pix_rgba_setup();
void pix_roi_setup();
void pix_roll_setup();
void pix_rtx_setup();
void pix_scanline_setup();
void pix_set_setup();
void pix_share_read_setup();
void pix_share_write_setup();
void pix_snap_setup();
void pix_snap2tex_setup();
void pix_subtract_setup();
void pix_sig2pix_setup();
void pix_pix2sig_setup();
void pix_tIIR_setup();
void pix_tIIRf_setup();
void pix_takealpha_setup();
void pix_test_setup();
void pix_texture_setup();
void pix_threshold_setup();
void pix_threshold_bernsen_setup();
void pix_video_setup();
void pix_vpaint_setup();
void pix_write_setup();
void pix_writer_setup();
void pix_yuv_setup();
void pix_zoom_setup();
void vertex_add_setup();
void vertex_combine_setup();
void vertex_draw_setup();
void vertex_grid_setup();
void vertex_info_setup();
// void vertex_model_setup();
void vertex_mul_setup();
void vertex_offset_setup();
void vertex_quad_setup();
void vertex_scale_setup();
void vertex_set_setup();
void vertex_tabread_setup();
void GEMglAccum_setup();
void GEMglActiveTexture_setup();
void GEMglActiveTextureARB_setup();
void GEMglAlphaFunc_setup();
void GEMglAreTexturesResident_setup();
void GEMglArrayElement_setup();
void GEMglBegin_setup();
void GEMglBindProgramARB_setup();
void GEMglBindTexture_setup();
void GEMglBitmap_setup();
void GEMglBlendEquation_setup();
void GEMglBlendFunc_setup();
void GEMglCallList_setup();
void GEMglClear_setup();
void GEMglClearAccum_setup();
void GEMglClearColor_setup();
void GEMglClearDepth_setup();
void GEMglClearIndex_setup();
void GEMglClearStencil_setup();
void GEMglClipPlane_setup();
void GEMglColor3b_setup();
void GEMglColor3bv_setup();
void GEMglColor3d_setup();
void GEMglColor3dv_setup();
void GEMglColor3f_setup();
void GEMglColor3fv_setup();
void GEMglColor3i_setup();
void GEMglColor3iv_setup();
void GEMglColor3s_setup();
void GEMglColor3sv_setup();
void GEMglColor3ub_setup();
void GEMglColor3ubv_setup();
void GEMglColor3ui_setup();
void GEMglColor3uiv_setup();
void GEMglColor3us_setup();
void GEMglColor3usv_setup();
void GEMglColor4b_setup();
void GEMglColor4bv_setup();
void GEMglColor4d_setup();
void GEMglColor4dv_setup();
void GEMglColor4f_setup();
void GEMglColor4fv_setup();
void GEMglColor4i_setup();
void GEMglColor4iv_setup();
void GEMglColor4s_setup();
void GEMglColor4sv_setup();
void GEMglColor4ub_setup();
void GEMglColor4ubv_setup();
void GEMglColor4ui_setup();
void GEMglColor4uiv_setup();
void GEMglColor4us_setup();
void GEMglColor4usv_setup();
void GEMglColorMask_setup();
void GEMglColorMaterial_setup();
void GEMglCopyPixels_setup();
void GEMglCopyTexImage1D_setup();
void GEMglCopyTexImage2D_setup();
void GEMglCopyTexSubImage1D_setup();
void GEMglCopyTexSubImage2D_setup();
void GEMglCullFace_setup();
void GEMglDeleteTextures_setup();
void GEMglDepthFunc_setup();
void GEMglDepthMask_setup();
void GEMglDepthRange_setup();
void GEMglDisable_setup();
void GEMglDisableClientState_setup();
void GEMglDrawArrays_setup();
void GEMglDrawBuffer_setup();
void GEMglDrawElements_setup();
void GEMglEdgeFlag_setup();
void GEMglEnable_setup();
void GEMglEnableClientState_setup();
void GEMglEnd_setup();
void GEMglEndList_setup();
void GEMglEvalCoord1d_setup();
void GEMglEvalCoord1dv_setup();
void GEMglEvalCoord1f_setup();
void GEMglEvalCoord1fv_setup();
void GEMglEvalCoord2d_setup();
void GEMglEvalCoord2dv_setup();
void GEMglEvalCoord2f_setup();
void GEMglEvalCoord2fv_setup();
void GEMglEvalMesh1_setup();
void GEMglEvalMesh2_setup();
void GEMglEvalPoint1_setup();
void GEMglEvalPoint2_setup();
void GEMglFeedbackBuffer_setup();
void GEMglFinish_setup();
void GEMglFlush_setup();
void GEMglFogf_setup();
void GEMglFogfv_setup();
void GEMglFogi_setup();
void GEMglFogiv_setup();
void GEMglFrontFace_setup();
void GEMglFrustum_setup();
void GEMglGenLists_setup();
void GEMglGenProgramsARB_setup();
void GEMglGenTextures_setup();
void GEMglGenerateMipmap_setup();
void GEMglGetError_setup();
void GEMglGetFloatv_setup();
void GEMglGetIntegerv_setup();
void GEMglGetMapdv_setup();
void GEMglGetMapfv_setup();
void GEMglGetMapiv_setup();
void GEMglGetPointerv_setup();
void GEMglGetString_setup();
void GEMglHint_setup();
void GEMglIndexMask_setup();
void GEMglIndexd_setup();
void GEMglIndexdv_setup();
void GEMglIndexf_setup();
void GEMglIndexfv_setup();
void GEMglIndexi_setup();
void GEMglIndexiv_setup();
void GEMglIndexs_setup();
void GEMglIndexsv_setup();
void GEMglIndexub_setup();
void GEMglIndexubv_setup();
void GEMglInitNames_setup();
void GEMglIsEnabled_setup();
void GEMglIsList_setup();
void GEMglIsTexture_setup();
void GEMglLightModelf_setup();
void GEMglLightModeli_setup();
void GEMglLightf_setup();
void GEMglLighti_setup();
void GEMglLineStipple_setup();
void GEMglLineWidth_setup();
void GEMglLoadIdentity_setup();
void GEMglLoadMatrixd_setup();
void GEMglLoadMatrixf_setup();
void GEMglLoadName_setup();
void GEMglLoadTransposeMatrixd_setup();
void GEMglLoadTransposeMatrixf_setup();
void GEMglLogicOp_setup();
void GEMglMap1d_setup();
void GEMglMap1f_setup();
void GEMglMap2d_setup();
void GEMglMap2f_setup();
void GEMglMapGrid1d_setup();
void GEMglMapGrid1f_setup();
void GEMglMapGrid2d_setup();
void GEMglMapGrid2f_setup();
void GEMglMaterialf_setup();
void GEMglMaterialfv_setup();
void GEMglMateriali_setup();
void GEMglMatrixMode_setup();
void GEMglMultMatrixd_setup();
void GEMglMultMatrixf_setup();
void GEMglMultTransposeMatrixd_setup();
void GEMglMultTransposeMatrixf_setup();
void GEMglMultiTexCoord2f_setup();
void GEMglMultiTexCoord2fARB_setup();
void GEMglNewList_setup();
void GEMglNormal3b_setup();
void GEMglNormal3bv_setup();
void GEMglNormal3d_setup();
void GEMglNormal3dv_setup();
void GEMglNormal3f_setup();
void GEMglNormal3fv_setup();
void GEMglNormal3i_setup();
void GEMglNormal3iv_setup();
void GEMglNormal3s_setup();
void GEMglNormal3sv_setup();
void GEMglOrtho_setup();
void GEMglPassThrough_setup();
void GEMglPixelStoref_setup();
void GEMglPixelStorei_setup();
void GEMglPixelTransferf_setup();
void GEMglPixelTransferi_setup();
void GEMglPixelZoom_setup();
void GEMglPointSize_setup();
void GEMglPolygonMode_setup();
void GEMglPolygonOffset_setup();
void GEMglPopAttrib_setup();
void GEMglPopClientAttrib_setup();
void GEMglPopMatrix_setup();
void GEMglPopName_setup();
void GEMglPrioritizeTextures_setup();
void GEMglProgramEnvParameter4dARB_setup();
void GEMglProgramEnvParameter4fvARB_setup();
void GEMglProgramLocalParameter4fvARB_setup();
void GEMglProgramStringARB_setup();
void GEMglPushAttrib_setup();
void GEMglPushClientAttrib_setup();
void GEMglPushMatrix_setup();
void GEMglPushName_setup();
void GEMglRasterPos2d_setup();
void GEMglRasterPos2dv_setup();
void GEMglRasterPos2f_setup();
void GEMglRasterPos2fv_setup();
void GEMglRasterPos2i_setup();
void GEMglRasterPos2iv_setup();
void GEMglRasterPos2s_setup();
void GEMglRasterPos2sv_setup();
void GEMglRasterPos3d_setup();
void GEMglRasterPos3dv_setup();
void GEMglRasterPos3f_setup();
void GEMglRasterPos3fv_setup();
void GEMglRasterPos3i_setup();
void GEMglRasterPos3iv_setup();
void GEMglRasterPos3s_setup();
void GEMglRasterPos3sv_setup();
void GEMglRasterPos4d_setup();
void GEMglRasterPos4dv_setup();
void GEMglRasterPos4f_setup();
void GEMglRasterPos4fv_setup();
void GEMglRasterPos4i_setup();
void GEMglRasterPos4iv_setup();
void GEMglRasterPos4s_setup();
void GEMglRasterPos4sv_setup();
void GEMglRectd_setup();
void GEMglRectf_setup();
void GEMglRecti_setup();
void GEMglRects_setup();
void GEMglRenderMode_setup();
void GEMglReportError_setup();
void GEMglRotated_setup();
void GEMglRotatef_setup();
void GEMglScaled_setup();
void GEMglScalef_setup();
void GEMglScissor_setup();
void GEMglSelectBuffer_setup();
void GEMglShadeModel_setup();
void GEMglStencilFunc_setup();
void GEMglStencilMask_setup();
void GEMglStencilOp_setup();
void GEMglTexCoord1d_setup();
void GEMglTexCoord1dv_setup();
void GEMglTexCoord1f_setup();
void GEMglTexCoord1fv_setup();
void GEMglTexCoord1i_setup();
void GEMglTexCoord1iv_setup();
void GEMglTexCoord1s_setup();
void GEMglTexCoord1sv_setup();
void GEMglTexCoord2d_setup();
void GEMglTexCoord2dv_setup();
void GEMglTexCoord2f_setup();
void GEMglTexCoord2fv_setup();
void GEMglTexCoord2i_setup();
void GEMglTexCoord2iv_setup();
void GEMglTexCoord2s_setup();
void GEMglTexCoord2sv_setup();
void GEMglTexCoord3d_setup();
void GEMglTexCoord3dv_setup();
void GEMglTexCoord3f_setup();
void GEMglTexCoord3fv_setup();
void GEMglTexCoord3i_setup();
void GEMglTexCoord3iv_setup();
void GEMglTexCoord3s_setup();
void GEMglTexCoord3sv_setup();
void GEMglTexCoord4d_setup();
void GEMglTexCoord4dv_setup();
void GEMglTexCoord4f_setup();
void GEMglTexCoord4fv_setup();
void GEMglTexCoord4i_setup();
void GEMglTexCoord4iv_setup();
void GEMglTexCoord4s_setup();
void GEMglTexCoord4sv_setup();
void GEMglTexEnvf_setup();
void GEMglTexEnvi_setup();
void GEMglTexGend_setup();
void GEMglTexGenf_setup();
void GEMglTexGenfv_setup();
void GEMglTexGeni_setup();
void GEMglTexImage2D_setup();
void GEMglTexParameterf_setup();
void GEMglTexParameteri_setup();
void GEMglTexSubImage1D_setup();
void GEMglTexSubImage2D_setup();
void GEMglTranslated_setup();
void GEMglTranslatef_setup();
void GEMglUniform1f_setup();
void GEMglUniform1fARB_setup();
void GEMglUseProgramObjectARB_setup();
void GEMglVertex2d_setup();
void GEMglVertex2dv_setup();
void GEMglVertex2f_setup();
void GEMglVertex2fv_setup();
void GEMglVertex2i_setup();
void GEMglVertex2iv_setup();
void GEMglVertex2s_setup();
void GEMglVertex2sv_setup();
void GEMglVertex3d_setup();
void GEMglVertex3dv_setup();
void GEMglVertex3f_setup();
void GEMglVertex3fv_setup();
void GEMglVertex3i_setup();
void GEMglVertex3iv_setup();
void GEMglVertex3s_setup();
void GEMglVertex3sv_setup();
void GEMglVertex4d_setup();
void GEMglVertex4dv_setup();
void GEMglVertex4f_setup();
void GEMglVertex4fv_setup();
void GEMglVertex4i_setup();
void GEMglVertex4iv_setup();
void GEMglVertex4s_setup();
void GEMglVertex4sv_setup();
void GEMglViewport_setup();
void GEMgluLookAt_setup();
void GEMgluPerspective_setup();
void GLdefine_setup();
void setup_modelOBJ();
void setup_modelASSIMP3();
void setup_imageSTBLoader();
void setup_imageSTBSaver();
void setup_recordPNM();
# if ENABLE_FFMPEG
void setup_filmFFMPEG();
# endif
# if __APPLE__
void setup_videoAVF();
void setup_filmAVF();
# elif _MSC_VER
void setup_videoVFW();
void setup_filmDS();
# else
// void setup_videoV4L2();
// void setup_recordV4L2();
# endif
#endif
// pd-extra objects functions declaration
void bob_tilde_setup();
void bonk_tilde_setup();
void choice_setup();
void fiddle_tilde_setup();
void loop_tilde_setup();
void lrshift_tilde_setup();
void pd_tilde_setup();
void pique_setup();
void sigmund_tilde_setup();
void stdout_setup();
// cyclone objects functions declaration
void cyclone_setup();
void accum_setup();
void acos_setup();
void acosh_setup();
void active_setup();
void anal_setup();
void append_setup();
void asin_setup();
void asinh_setup();
void atanh_setup();
void atodb_setup();
void bangbang_setup();
void bondo_setup();
void borax_setup();
void bucket_setup();
void buddy_setup();
void capture_setup();
void cartopol_setup();
void clip_setup();
void coll_setup();
void cosh_setup();
void counter_setup();
void cycle_setup();
void dbtoa_setup();
void decide_setup();
void decode_setup();
void drunk_setup();
void flush_setup();
void forward_setup();
void fromsymbol_setup();
void funnel_setup();
void funbuff_setup();
void gate_setup();
void grab_setup();
void histo_setup();
void iter_setup();
void join_setup();
void linedrive_setup();
void listfunnel_setup();
void loadmess_setup();
void match_setup();
void maximum_setup();
void mean_setup();
void midiflush_setup();
void midiformat_setup();
void midiparse_setup();
void minimum_setup();
void mousefilter_setup();
void mousestate_setup();
void mtr_setup();
void next_setup();
void offer_setup();
void onebang_setup();
void pak_setup();
void past_setup();
void peak_setup();
void poltocar_setup();
void pong_setup();
void prepend_setup();
void prob_setup();
void cyclone_pink_tilde_setup();
void pv_setup();
void rdiv_setup();
void rminus_setup();
void round_setup();
void cyclone_scale_setup();
void seq_setup();
void sinh_setup();
void speedlim_setup();
void spell_setup();
void split_setup();
void spray_setup();
void sprintf_setup();
void substitute_setup();
void sustain_setup();
void switch_setup();
void table_setup();
void tanh_setup();
void thresh_setup();
void togedge_setup();
void tosymbol_setup();
void trough_setup();
void cyclone_trunc_tilde_setup();
void universal_setup();
void unjoin_setup();
void urn_setup();
void uzi_setup();
void xbendin_setup();
void xbendin2_setup();
void xbendout_setup();
void xbendout2_setup();
void xnotein_setup();
void xnoteout_setup();
void zl_setup();
void setup_zl0x2eecils();
void setup_zl0x2egroup();
void setup_zl0x2eiter();
void setup_zl0x2ejoin();
void setup_zl0x2elen();
void setup_zl0x2emth();
void setup_zl0x2enth();
void setup_zl0x2ereg();
void setup_zl0x2erev();
void setup_zl0x2erot();
void setup_zl0x2esect();
void setup_zl0x2eslice();
void setup_zl0x2esort();
void setup_zl0x2esub();
void setup_zl0x2eunion();
void setup_zl0x2echange();
void setup_zl0x2ecompare();
void setup_zl0x2edelace();
void setup_zl0x2efilter();
void setup_zl0x2elace();
void setup_zl0x2elookup();
void setup_zl0x2emedian();
void setup_zl0x2equeue();
void setup_zl0x2escramble();
void setup_zl0x2estack();
void setup_zl0x2estream();
void setup_zl0x2esum();
void setup_zl0x2ethin();
void setup_zl0x2eunique();
void setup_zl0x2eindexmap();
void setup_zl0x2eswap();
void acos_tilde_setup();
void acosh_tilde_setup();
void allpass_tilde_setup();
void asin_tilde_setup();
void asinh_tilde_setup();
void atan_tilde_setup();
void atan2_tilde_setup();
void atanh_tilde_setup();
void atodb_tilde_setup();
void average_tilde_setup();
void avg_tilde_setup();
void bitand_tilde_setup();
void bitnot_tilde_setup();
void bitor_tilde_setup();
void bitsafe_tilde_setup();
void bitshift_tilde_setup();
void bitxor_tilde_setup();
void buffir_tilde_setup();
void capture_tilde_setup();
void cartopol_tilde_setup();
void change_tilde_setup();
void click_tilde_setup();
void clip_tilde_setup();
void comb_tilde_setup();
void cosh_tilde_setup();
void cosx_tilde_setup();
void count_tilde_setup();
void cross_tilde_setup();
void curve_tilde_setup();
void cycle_tilde_setup();
void dbtoa_tilde_setup();
void dbgain_tilde_setup();
void degrade_tilde_setup();
void delay_tilde_setup();
void delta_tilde_setup();
void deltaclip_tilde_setup();
void downsamp_tilde_setup();
void edge_tilde_setup();
void equals_tilde_setup();
void funbuff_setup();
void frameaccum_tilde_setup();
void framedelta_tilde_setup();
void gate_tilde_setup();
void greaterthan_tilde_setup();
void greaterthaneq_tilde_setup();
void index_tilde_setup();
void kink_tilde_setup();
void lessthan_tilde_setup();
void lessthaneq_tilde_setup();
void line_tilde_setup();
void lookup_tilde_setup();
void lores_tilde_setup();
void matrix_tilde_setup();
void maximum_tilde_setup();
void minimum_tilde_setup();
void minmax_tilde_setup();
void modulo_tilde_setup();
void mstosamps_tilde_setup();
void notequals_tilde_setup();
void numbox_tilde_setup();
void onepole_tilde_setup();
void overdrive_tilde_setup();
void peakamp_tilde_setup();
void peek_tilde_setup();
void phaseshift_tilde_setup();
void phasewrap_tilde_setup();
void play_tilde_setup();
void plusequals_tilde_setup();
void poke_tilde_setup();
void poltocar_tilde_setup();
void pong_tilde_setup();
void pow_tilde_setup();
void Pow_tilde_setup();
void rampsmooth_tilde_setup();
void rand_tilde_setup();
void rdiv_tilde_setup();
void record_tilde_setup();
void reson_tilde_setup();
void rminus_tilde_setup();
void round_tilde_setup();
void sah_tilde_setup();
void sampstoms_tilde_setup();
void scale_tilde_setup();
void selector_tilde_setup();
void sinh_tilde_setup();
void sinx_tilde_setup();
void slide_tilde_setup();
void snapshot_tilde_setup();
void spike_tilde_setup();
void svf_tilde_setup();
void cyclone_tanh_tilde_setup();
void tanx_tilde_setup();
void teeth_tilde_setup();
void thresh_tilde_setup();
void train_tilde_setup();
void trapezoid_tilde_setup();
void triangle_tilde_setup();
void trunc_tilde_setup();
void vectral_tilde_setup();
void wave_tilde_setup();
void zerox_tilde_setup();
void above_tilde_setup();
void add_tilde_setup();
void adsr_tilde_setup();
void asr_tilde_setup();
void setup_allpass0x2e2nd_tilde();
void setup_allpass0x2erev_tilde();
void args_setup();
void autofade_tilde_setup();
void autofade2_tilde_setup();
void balance_tilde_setup();
void bandpass_tilde_setup();
void bandstop_tilde_setup();
void setup_bend0x2ein();
void setup_bend0x2eout();
void setup_bl0x2esaw_tilde();
void setup_bl0x2esaw2_tilde();
void setup_bl0x2eimp_tilde();
void setup_bl0x2eimp2_tilde();
void setup_bl0x2esquare_tilde();
void setup_bl0x2etri_tilde();
void setup_bl0x2evsaw_tilde();
void setup_osc0x2eformat();
void setup_osc0x2eparse();
void setup_osc0x2eroute();
void beat_tilde_setup();
void bicoeff_setup();
void bicoeff2_setup();
void bitnormal_tilde_setup();
void biquads_tilde_setup();
void blocksize_tilde_setup();
void break_setup();
void brown_tilde_setup();
void buffer_setup();
void button_setup();
void setup_canvas0x2eactive();