From a4d933571230f510d6d0adc8dff576c8fa7daf51 Mon Sep 17 00:00:00 2001 From: Timothy Schoen Date: Fri, 16 Aug 2024 13:44:27 +0200 Subject: [PATCH 1/8] Use fluidlite instead of fluidsynth, for easier compilation --- .../audio/sfont~/FluidLite/.gitignore | 3 + .../audio/sfont~/FluidLite/.travis.yml | 9 + .../audio/sfont~/FluidLite/CMakeLists.txt | 270 + .../Compiled/audio/sfont~/FluidLite/LICENSE | 15 + .../Compiled/audio/sfont~/FluidLite/README.md | 167 + .../audio/sfont~/FluidLite/aliases.cmake | 8 + .../audio/sfont~/FluidLite/android/Android.mk | 9 + .../android/include/ogg/config_types.h | 16 + .../sfont~/FluidLite/android/jni/Android.mk | 68 + .../FluidLite/android/jni/Application.mk | 5 + .../FluidLite/android/project.properties | 11 + .../sfont~/FluidLite/example/CMakeLists.txt | 30 + .../audio/sfont~/FluidLite/example/FluidLite | 1 + .../FluidLite/example/sf_/Boomwhacker.sf2 | Bin 0 -> 302328 bytes .../FluidLite/example/sf_/Boomwhacker.sf3 | Bin 0 -> 40178 bytes .../sfont~/FluidLite/example/sf_/README.md | 10 + .../audio/sfont~/FluidLite/example/src/main.c | 40 + .../FluidLite/fluidlite-config.cmake.in | 12 + .../audio/sfont~/FluidLite/fluidlite.pc.in | 12 + .../sfont~/FluidLite/include/fluid_config.h | 34 + .../sfont~/FluidLite/include/fluidlite.h | 102 + .../sfont~/FluidLite/include/fluidlite/gen.h | 135 + .../sfont~/FluidLite/include/fluidlite/log.h | 83 + .../sfont~/FluidLite/include/fluidlite/misc.h | 65 + .../sfont~/FluidLite/include/fluidlite/mod.h | 112 + .../FluidLite/include/fluidlite/ramsfont.h | 113 + .../FluidLite/include/fluidlite/settings.h | 202 + .../FluidLite/include/fluidlite/sfont.h | 252 + .../FluidLite/include/fluidlite/synth.h | 715 + .../FluidLite/include/fluidlite/types.h | 67 + .../FluidLite/include/fluidlite/version.h | 44 + .../FluidLite/include/fluidlite/voice.h | 97 + .../libogg-1.3.2/include/ogg/config_types.h | 25 + .../FluidLite/libogg-1.3.2/include/ogg/ogg.h | 210 + .../libogg-1.3.2/include/ogg/os_types.h | 147 + .../FluidLite/libogg-1.3.2/src/bitwise.c | 1088 ++ .../libogg-1.3.2/src/bitwise.pd_darwin.o | Bin 0 -> 8144 bytes .../FluidLite/libogg-1.3.2/src/framing.c | 2111 +++ .../libogg-1.3.2/src/framing.pd_darwin.o | Bin 0 -> 14048 bytes .../libvorbis-1.3.5/include/vorbis/codec.h | 243 + .../include/vorbis/vorbisenc.h | 436 + .../include/vorbis/vorbisfile.h | 206 + .../FluidLite/libvorbis-1.3.5/lib/analysis.c | 120 + .../libvorbis-1.3.5/lib/analysis.pd_darwin.o | Bin 0 -> 1376 bytes .../FluidLite/libvorbis-1.3.5/lib/backends.h | 144 + .../FluidLite/libvorbis-1.3.5/lib/bitrate.c | 253 + .../FluidLite/libvorbis-1.3.5/lib/bitrate.h | 59 + .../libvorbis-1.3.5/lib/bitrate.pd_darwin.o | Bin 0 -> 2936 bytes .../FluidLite/libvorbis-1.3.5/lib/block.c | 1047 + .../libvorbis-1.3.5/lib/block.pd_darwin.o | Bin 0 -> 15880 bytes .../lib/books/coupled/res_books_51.h | 12274 ++++++++++++ .../lib/books/coupled/res_books_stereo.h | 15783 ++++++++++++++++ .../lib/books/floor/floor_books.h | 1547 ++ .../lib/books/uncoupled/res_books_uncoupled.h | 7758 ++++++++ .../FluidLite/libvorbis-1.3.5/lib/codebook.c | 490 + .../FluidLite/libvorbis-1.3.5/lib/codebook.h | 118 + .../libvorbis-1.3.5/lib/codebook.pd_darwin.o | Bin 0 -> 7088 bytes .../libvorbis-1.3.5/lib/codec_internal.h | 167 + .../FluidLite/libvorbis-1.3.5/lib/envelope.c | 375 + .../FluidLite/libvorbis-1.3.5/lib/envelope.h | 80 + .../libvorbis-1.3.5/lib/envelope.pd_darwin.o | Bin 0 -> 6040 bytes .../FluidLite/libvorbis-1.3.5/lib/floor0.c | 224 + .../libvorbis-1.3.5/lib/floor0.pd_darwin.o | Bin 0 -> 3800 bytes .../FluidLite/libvorbis-1.3.5/lib/floor1.c | 1087 ++ .../libvorbis-1.3.5/lib/floor1.pd_darwin.o | Bin 0 -> 14808 bytes .../FluidLite/libvorbis-1.3.5/lib/highlevel.h | 58 + .../FluidLite/libvorbis-1.3.5/lib/info.c | 673 + .../libvorbis-1.3.5/lib/info.pd_darwin.o | Bin 0 -> 13168 bytes .../FluidLite/libvorbis-1.3.5/lib/lookup.c | 94 + .../FluidLite/libvorbis-1.3.5/lib/lookup.h | 32 + .../libvorbis-1.3.5/lib/lookup.pd_darwin.o | Bin 0 -> 336 bytes .../libvorbis-1.3.5/lib/lookup_data.h | 192 + .../FluidLite/libvorbis-1.3.5/lib/lookups.pl | 142 + .../FluidLite/libvorbis-1.3.5/lib/lpc.c | 160 + .../FluidLite/libvorbis-1.3.5/lib/lpc.h | 29 + .../libvorbis-1.3.5/lib/lpc.pd_darwin.o | Bin 0 -> 2816 bytes .../FluidLite/libvorbis-1.3.5/lib/lsp.c | 454 + .../FluidLite/libvorbis-1.3.5/lib/lsp.h | 28 + .../libvorbis-1.3.5/lib/lsp.pd_darwin.o | Bin 0 -> 6056 bytes .../FluidLite/libvorbis-1.3.5/lib/mapping0.c | 810 + .../libvorbis-1.3.5/lib/mapping0.pd_darwin.o | Bin 0 -> 8984 bytes .../FluidLite/libvorbis-1.3.5/lib/masking.h | 785 + .../FluidLite/libvorbis-1.3.5/lib/mdct.c | 563 + .../FluidLite/libvorbis-1.3.5/lib/mdct.h | 71 + .../libvorbis-1.3.5/lib/mdct.pd_darwin.o | Bin 0 -> 10104 bytes .../FluidLite/libvorbis-1.3.5/lib/misc.h | 58 + .../libvorbis-1.3.5/lib/modes/floor_all.h | 260 + .../libvorbis-1.3.5/lib/modes/psych_11.h | 51 + .../libvorbis-1.3.5/lib/modes/psych_16.h | 133 + .../libvorbis-1.3.5/lib/modes/psych_44.h | 642 + .../libvorbis-1.3.5/lib/modes/psych_8.h | 101 + .../libvorbis-1.3.5/lib/modes/residue_16.h | 163 + .../libvorbis-1.3.5/lib/modes/residue_44.h | 292 + .../libvorbis-1.3.5/lib/modes/residue_44p51.h | 451 + .../libvorbis-1.3.5/lib/modes/residue_44u.h | 318 + .../libvorbis-1.3.5/lib/modes/residue_8.h | 109 + .../libvorbis-1.3.5/lib/modes/setup_11.h | 143 + .../libvorbis-1.3.5/lib/modes/setup_16.h | 153 + .../libvorbis-1.3.5/lib/modes/setup_22.h | 128 + .../libvorbis-1.3.5/lib/modes/setup_32.h | 132 + .../libvorbis-1.3.5/lib/modes/setup_44.h | 117 + .../libvorbis-1.3.5/lib/modes/setup_44p51.h | 74 + .../libvorbis-1.3.5/lib/modes/setup_44u.h | 74 + .../libvorbis-1.3.5/lib/modes/setup_8.h | 149 + .../libvorbis-1.3.5/lib/modes/setup_X.h | 225 + .../sfont~/FluidLite/libvorbis-1.3.5/lib/os.h | 191 + .../FluidLite/libvorbis-1.3.5/lib/psy.c | 1206 ++ .../FluidLite/libvorbis-1.3.5/lib/psy.h | 154 + .../libvorbis-1.3.5/lib/psy.pd_darwin.o | Bin 0 -> 59704 bytes .../FluidLite/libvorbis-1.3.5/lib/registry.c | 45 + .../FluidLite/libvorbis-1.3.5/lib/registry.h | 32 + .../libvorbis-1.3.5/lib/registry.pd_darwin.o | Bin 0 -> 848 bytes .../FluidLite/libvorbis-1.3.5/lib/res0.c | 890 + .../libvorbis-1.3.5/lib/res0.pd_darwin.o | Bin 0 -> 15032 bytes .../FluidLite/libvorbis-1.3.5/lib/scales.h | 90 + .../libvorbis-1.3.5/lib/sharedbook.c | 586 + .../lib/sharedbook.pd_darwin.o | Bin 0 -> 8664 bytes .../FluidLite/libvorbis-1.3.5/lib/smallft.c | 1255 ++ .../FluidLite/libvorbis-1.3.5/lib/smallft.h | 34 + .../libvorbis-1.3.5/lib/smallft.pd_darwin.o | Bin 0 -> 25824 bytes .../FluidLite/libvorbis-1.3.5/lib/synthesis.c | 180 + .../libvorbis-1.3.5/lib/synthesis.pd_darwin.o | Bin 0 -> 2624 bytes .../FluidLite/libvorbis-1.3.5/lib/tone.c | 54 + .../FluidLite/libvorbis-1.3.5/lib/vorbisenc.c | 1224 ++ .../lib/vorbisenc.pd_darwin.o} | Bin 727936 -> 687512 bytes .../libvorbis-1.3.5/lib/vorbisfile.c | 2425 +++ .../lib/vorbisfile.pd_darwin.o | Bin 0 -> 30280 bytes .../FluidLite/libvorbis-1.3.5/lib/window.c | 2136 +++ .../FluidLite/libvorbis-1.3.5/lib/window.h | 26 + .../libvorbis-1.3.5/lib/window.pd_darwin.o | Bin 0 -> 34872 bytes .../audio/sfont~/FluidLite/src/Makefile.os2 | 53 + .../audio/sfont~/FluidLite/src/fluid_chan.c | 455 + .../audio/sfont~/FluidLite/src/fluid_chan.h | 114 + .../FluidLite/src/fluid_chan.pd_darwin.o | Bin 0 -> 6664 bytes .../audio/sfont~/FluidLite/src/fluid_chorus.c | 606 + .../audio/sfont~/FluidLite/src/fluid_chorus.h | 56 + .../FluidLite/src/fluid_chorus.pd_darwin.o | Bin 0 -> 8584 bytes .../sfont~/FluidLite/src/fluid_config.cmake | 34 + .../audio/sfont~/FluidLite/src/fluid_conv.c | 320 + .../audio/sfont~/FluidLite/src/fluid_conv.h | 63 + .../FluidLite/src/fluid_conv.pd_darwin.o | Bin 0 -> 5608 bytes .../sfont~/FluidLite/src/fluid_defsfont.c | 3417 ++++ .../sfont~/FluidLite/src/fluid_defsfont.h | 603 + .../FluidLite/src/fluid_defsfont.pd_darwin.o | Bin 0 -> 45832 bytes .../sfont~/FluidLite/src/fluid_dsp_float.c | 685 + .../FluidLite/src/fluid_dsp_float.pd_darwin.o | Bin 0 -> 7304 bytes .../sfont~/FluidLite/src/fluid_dsp_simple.c | 120 + .../audio/sfont~/FluidLite/src/fluid_gen.c | 149 + .../audio/sfont~/FluidLite/src/fluid_gen.h | 44 + .../FluidLite/src/fluid_gen.pd_darwin.o | Bin 0 -> 2224 bytes .../audio/sfont~/FluidLite/src/fluid_hash.c | 388 + .../audio/sfont~/FluidLite/src/fluid_hash.h | 64 + .../FluidLite/src/fluid_hash.pd_darwin.o | Bin 0 -> 4200 bytes .../audio/sfont~/FluidLite/src/fluid_init.c | 5 + .../FluidLite/src/fluid_init.pd_darwin.o | Bin 0 -> 336 bytes .../audio/sfont~/FluidLite/src/fluid_list.c | 257 + .../audio/sfont~/FluidLite/src/fluid_list.h | 61 + .../FluidLite/src/fluid_list.pd_darwin.o | Bin 0 -> 2808 bytes .../audio/sfont~/FluidLite/src/fluid_midi.h | 247 + .../audio/sfont~/FluidLite/src/fluid_mod.c | 434 + .../audio/sfont~/FluidLite/src/fluid_mod.h | 40 + .../FluidLite/src/fluid_mod.pd_darwin.o | Bin 0 -> 6744 bytes .../audio/sfont~/FluidLite/src/fluid_phase.h | 115 + .../sfont~/FluidLite/src/fluid_ramsfont.c | 1116 ++ .../sfont~/FluidLite/src/fluid_ramsfont.h | 114 + .../FluidLite/src/fluid_ramsfont.pd_darwin.o | Bin 0 -> 13488 bytes .../audio/sfont~/FluidLite/src/fluid_rev.c | 561 + .../audio/sfont~/FluidLite/src/fluid_rev.h | 67 + .../FluidLite/src/fluid_rev.pd_darwin.o | Bin 0 -> 10152 bytes .../sfont~/FluidLite/src/fluid_settings.c | 822 + .../sfont~/FluidLite/src/fluid_settings.h | 55 + .../FluidLite/src/fluid_settings.pd_darwin.o | Bin 0 -> 15456 bytes .../audio/sfont~/FluidLite/src/fluid_sfont.h | 77 + .../audio/sfont~/FluidLite/src/fluid_synth.c | 3550 ++++ .../audio/sfont~/FluidLite/src/fluid_synth.h | 204 + .../FluidLite/src/fluid_synth.pd_darwin.o | Bin 0 -> 52864 bytes .../audio/sfont~/FluidLite/src/fluid_sys.c | 364 + .../audio/sfont~/FluidLite/src/fluid_sys.h | 141 + .../FluidLite/src/fluid_sys.pd_darwin.o | Bin 0 -> 6416 bytes .../audio/sfont~/FluidLite/src/fluid_tuning.c | 144 + .../audio/sfont~/FluidLite/src/fluid_tuning.h | 65 + .../FluidLite/src/fluid_tuning.pd_darwin.o | Bin 0 -> 8024 bytes .../audio/sfont~/FluidLite/src/fluid_voice.c | 1996 ++ .../audio/sfont~/FluidLite/src/fluid_voice.h | 291 + .../FluidLite/src/fluid_voice.pd_darwin.o | Bin 0 -> 19104 bytes .../audio/sfont~/FluidLite/src/fluidsynth.c | 710 + .../sfont~/FluidLite/src/fluidsynth_priv.h | 207 + .../audio/sfont~/FluidLite/src/version.cmake | 44 + .../audio/sfont~/FluidLite/stb/stb_vorbis.c | 5480 ++++++ Code_source/Compiled/audio/sfont~/Makefile | 67 +- .../audio/sfont~/scripts/localdeps.linux.sh | 270 - .../audio/sfont~/scripts/localdeps.macos.sh | 310 - .../audio/sfont~/scripts/localdeps.win.sh | 296 - .../Compiled/audio/sfont~/sf/Theremin.sf2 | Bin 1490 -> 0 bytes .../Compiled/audio/sfont~/sf/Theremin.txt | 47 - .../Compiled/audio/sfont~/sf/waves.sf2 | Bin 6586 -> 0 bytes .../Compiled/audio/sfont~/sf/waves.txt | Bin 111 -> 0 bytes .../audio/sfont~/sfont-compiled/SDL2.w64 | Bin 1787177 -> 0 bytes .../sfont-compiled/amd64/libFLAC.8.dylib | Bin 273872 -> 0 bytes .../sfont~/sfont-compiled/amd64/libFLAC.so.8 | Bin 441808 -> 0 bytes .../amd64/libfluidsynth.3.dylib | Bin 414592 -> 0 bytes .../sfont-compiled/amd64/libfluidsynth.so.3 | Bin 2026920 -> 0 bytes .../sfont-compiled/amd64/libglib-2.0.0.dylib | Bin 1128128 -> 0 bytes .../sfont-compiled/amd64/libglib-2.0.so.0 | Bin 1218112 -> 0 bytes .../amd64/libgthread-2.0.0.dylib | Bin 68240 -> 0 bytes .../sfont-compiled/amd64/libgthread-2.0.so.0 | Bin 17304 -> 0 bytes .../sfont-compiled/amd64/libintl.8.dylib | Bin 77872 -> 0 bytes .../sfont-compiled/amd64/libogg.0.dylib | Bin 88704 -> 0 bytes .../sfont~/sfont-compiled/amd64/libogg.so.0 | Bin 39544 -> 0 bytes .../sfont-compiled/amd64/libopus.0.dylib | Bin 347936 -> 0 bytes .../sfont~/sfont-compiled/amd64/libopus.so.0 | Bin 384256 -> 0 bytes .../sfont-compiled/amd64/libpcre.1.dylib | Bin 507488 -> 0 bytes .../sfont~/sfont-compiled/amd64/libpcre.so.3 | Bin 481040 -> 0 bytes .../sfont-compiled/amd64/libportaudio.2.dylib | Bin 139232 -> 0 bytes .../sfont-compiled/amd64/libreadline.8.dylib | Bin 294704 -> 0 bytes .../sfont-compiled/amd64/libreadline.so.8 | Bin 360776 -> 0 bytes .../sfont-compiled/amd64/libsndfile.1.dylib | Bin 484112 -> 0 bytes .../sfont-compiled/amd64/libsndfile.so.1 | Bin 503848 -> 0 bytes .../sfont~/sfont-compiled/amd64/libtinfo.so.6 | Bin 207568 -> 0 bytes .../sfont-compiled/amd64/libvorbis.0.dylib | Bin 181712 -> 0 bytes .../sfont-compiled/amd64/libvorbis.so.0 | Bin 188680 -> 0 bytes .../sfont-compiled/amd64/libvorbisenc.2.dylib | Bin 715104 -> 0 bytes .../sfont-compiled/amd64/libvorbisenc.so.2 | Bin 697360 -> 0 bytes .../sfont~/sfont-compiled/arm/libFLAC.so.8 | Bin 230196 -> 0 bytes .../sfont-compiled/arm/libfluidsynth.so.3 | Bin 1638508 -> 0 bytes .../sfont-compiled/arm/libglib-2.0.so.0 | Bin 893716 -> 0 bytes .../sfont-compiled/arm/libgthread-2.0.so.0 | Bin 8776 -> 0 bytes .../sfont~/sfont-compiled/arm/libogg.so.0 | Bin 22308 -> 0 bytes .../sfont~/sfont-compiled/arm/libsndfile.so.1 | Bin 343464 -> 0 bytes .../sfont~/sfont-compiled/arm/libvorbis.so.0 | Bin 138316 -> 0 bytes .../sfont-compiled/arm/libvorbisenc.so.2 | Bin 533252 -> 0 bytes .../sfont-compiled/arm64/libFLAC.8.dylib | Bin 238624 -> 0 bytes .../arm64/libfluidsynth.3.dylib | Bin 414208 -> 0 bytes .../sfont-compiled/arm64/libglib-2.0.0.dylib | Bin 1143424 -> 0 bytes .../arm64/libgthread-2.0.0.dylib | Bin 51696 -> 0 bytes .../sfont-compiled/arm64/libintl.8.dylib | Bin 110624 -> 0 bytes .../sfont-compiled/arm64/libogg.0.dylib | Bin 72112 -> 0 bytes .../sfont-compiled/arm64/libopus.0.dylib | Bin 339344 -> 0 bytes .../sfont-compiled/arm64/libpcre.1.dylib | Bin 288224 -> 0 bytes .../sfont-compiled/arm64/libportaudio.2.dylib | Bin 138960 -> 0 bytes .../sfont-compiled/arm64/libreadline.8.dylib | Bin 293744 -> 0 bytes .../sfont-compiled/arm64/libsndfile.1.dylib | Bin 466656 -> 0 bytes .../sfont-compiled/arm64/libvorbis.0.dylib | Bin 193936 -> 0 bytes .../audio/sfont~/sfont-compiled/libFLAC.w64 | Bin 460250 -> 0 bytes .../sfont~/sfont-compiled/libfluidsynth-3.w64 | Bin 472613 -> 0 bytes .../sfont~/sfont-compiled/libgcc_s_seh-1.w64 | Bin 84147 -> 0 bytes .../sfont~/sfont-compiled/libglib-2.0-0.w64 | Bin 1354222 -> 0 bytes .../audio/sfont~/sfont-compiled/libgomp-1.w64 | Bin 251743 -> 0 bytes .../sfont~/sfont-compiled/libiconv-2.w64 | Bin 1058528 -> 0 bytes .../audio/sfont~/sfont-compiled/libintl-8.w64 | Bin 136724 -> 0 bytes .../audio/sfont~/sfont-compiled/libogg-0.w64 | Bin 41601 -> 0 bytes .../audio/sfont~/sfont-compiled/libopus-0.w64 | Bin 404692 -> 0 bytes .../audio/sfont~/sfont-compiled/libpcre-1.w64 | Bin 281695 -> 0 bytes .../sfont~/sfont-compiled/libportaudio.w64 | Bin 230660 -> 0 bytes .../sfont~/sfont-compiled/libreadline8.w64 | Bin 257732 -> 0 bytes .../sfont~/sfont-compiled/libsndfile-1.w64 | Bin 683220 -> 0 bytes .../audio/sfont~/sfont-compiled/libssp-0.w64 | Bin 43431 -> 0 bytes .../sfont~/sfont-compiled/libstdc++-6.w64 | Bin 1966804 -> 0 bytes .../sfont~/sfont-compiled/libtermcap-0.w64 | Bin 45347 -> 0 bytes .../sfont~/sfont-compiled/libvorbis-0.w64 | Bin 180571 -> 0 bytes .../sfont~/sfont-compiled/libvorbisenc-2.w64 | Bin 577693 -> 0 bytes .../sfont~/sfont-compiled/libwinpthread-1.w64 | Bin 58621 -> 0 bytes .../sfont~/sfont-compiled/sfont~.d_amd64 | Bin 57080 -> 0 bytes .../sfont~/sfont-compiled/sfont~.d_arm64 | Bin 57344 -> 0 bytes .../sfont~/sfont-compiled/sfont~.l_amd64 | Bin 47032 -> 0 bytes .../audio/sfont~/sfont-compiled/sfont~.l_arm | Bin 34540 -> 0 bytes .../sfont~/sfont-compiled/sfont~.m_amd64 | Bin 58880 -> 0 bytes Code_source/Compiled/audio/sfont~/sfont~.c | 30 +- .../Compiled/audio/sfont~/sfont~.pd_darwin | Bin 0 -> 1140560 bytes .../Compiled/audio/sfont~/sfont~.pd_darwin.o | Bin 0 -> 23856 bytes Code_source/Compiled/audio/sfont~/tools.txt | 1 - 271 files changed, 91497 insertions(+), 953 deletions(-) create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/.gitignore create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/.travis.yml create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/CMakeLists.txt create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/LICENSE create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/README.md create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/aliases.cmake create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/android/Android.mk create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/android/include/ogg/config_types.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/android/jni/Android.mk create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/android/jni/Application.mk create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/android/project.properties create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/example/CMakeLists.txt create mode 120000 Code_source/Compiled/audio/sfont~/FluidLite/example/FluidLite create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/example/sf_/Boomwhacker.sf2 create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/example/sf_/Boomwhacker.sf3 create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/example/sf_/README.md create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/example/src/main.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/fluidlite-config.cmake.in create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/fluidlite.pc.in create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluid_config.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite/gen.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite/log.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite/misc.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite/mod.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite/ramsfont.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite/settings.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite/sfont.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite/synth.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite/types.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite/version.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/include/fluidlite/voice.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libogg-1.3.2/include/ogg/config_types.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libogg-1.3.2/include/ogg/ogg.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libogg-1.3.2/include/ogg/os_types.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libogg-1.3.2/src/bitwise.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libogg-1.3.2/src/bitwise.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libogg-1.3.2/src/framing.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libogg-1.3.2/src/framing.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/include/vorbis/codec.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/include/vorbis/vorbisenc.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/include/vorbis/vorbisfile.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/analysis.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/analysis.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/backends.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/bitrate.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/bitrate.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/bitrate.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/block.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/block.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/books/coupled/res_books_51.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/books/coupled/res_books_stereo.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/books/floor/floor_books.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/books/uncoupled/res_books_uncoupled.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/codebook.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/codebook.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/codebook.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/codec_internal.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/envelope.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/envelope.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/envelope.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/floor0.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/floor0.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/floor1.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/floor1.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/highlevel.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/info.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/info.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/lookup.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/lookup.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/lookup.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/lookup_data.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/lookups.pl create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/lpc.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/lpc.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/lpc.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/lsp.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/lsp.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/lsp.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/mapping0.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/mapping0.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/masking.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/mdct.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/mdct.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/mdct.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/misc.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/floor_all.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/psych_11.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/psych_16.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/psych_44.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/psych_8.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/residue_16.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/residue_44.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/residue_44p51.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/residue_44u.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/residue_8.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/setup_11.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/setup_16.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/setup_22.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/setup_32.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/setup_44.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/setup_44p51.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/setup_44u.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/setup_8.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/modes/setup_X.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/os.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/psy.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/psy.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/psy.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/registry.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/registry.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/registry.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/res0.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/res0.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/scales.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/sharedbook.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/sharedbook.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/smallft.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/smallft.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/smallft.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/synthesis.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/synthesis.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/tone.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/vorbisenc.c rename Code_source/Compiled/audio/sfont~/{sfont-compiled/arm64/libvorbisenc.2.dylib => FluidLite/libvorbis-1.3.5/lib/vorbisenc.pd_darwin.o} (67%) create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/vorbisfile.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/vorbisfile.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/window.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/window.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/libvorbis-1.3.5/lib/window.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/Makefile.os2 create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_chan.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_chan.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_chan.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_chorus.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_chorus.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_chorus.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_config.cmake create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_conv.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_conv.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_conv.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_defsfont.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_defsfont.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_defsfont.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_dsp_float.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_dsp_float.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_dsp_simple.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_gen.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_gen.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_gen.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_hash.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_hash.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_hash.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_init.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_init.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_list.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_list.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_list.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_midi.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_mod.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_mod.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_mod.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_phase.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_ramsfont.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_ramsfont.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_ramsfont.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_rev.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_rev.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_rev.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_settings.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_settings.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_settings.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_sfont.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_synth.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_synth.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_synth.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_sys.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_sys.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_sys.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_tuning.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_tuning.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_tuning.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_voice.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_voice.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluid_voice.pd_darwin.o create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluidsynth.c create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/fluidsynth_priv.h create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/src/version.cmake create mode 100644 Code_source/Compiled/audio/sfont~/FluidLite/stb/stb_vorbis.c delete mode 100755 Code_source/Compiled/audio/sfont~/scripts/localdeps.linux.sh delete mode 100755 Code_source/Compiled/audio/sfont~/scripts/localdeps.macos.sh delete mode 100755 Code_source/Compiled/audio/sfont~/scripts/localdeps.win.sh delete mode 100644 Code_source/Compiled/audio/sfont~/sf/Theremin.sf2 delete mode 100644 Code_source/Compiled/audio/sfont~/sf/Theremin.txt delete mode 100644 Code_source/Compiled/audio/sfont~/sf/waves.sf2 delete mode 100644 Code_source/Compiled/audio/sfont~/sf/waves.txt delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/SDL2.w64 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libFLAC.8.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libFLAC.so.8 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libfluidsynth.3.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libfluidsynth.so.3 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libglib-2.0.0.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libglib-2.0.so.0 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libgthread-2.0.0.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libgthread-2.0.so.0 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libintl.8.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libogg.0.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libogg.so.0 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libopus.0.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libopus.so.0 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libpcre.1.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libpcre.so.3 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libportaudio.2.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libreadline.8.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libreadline.so.8 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libsndfile.1.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libsndfile.so.1 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libtinfo.so.6 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libvorbis.0.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libvorbis.so.0 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libvorbisenc.2.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/amd64/libvorbisenc.so.2 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm/libFLAC.so.8 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm/libfluidsynth.so.3 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm/libglib-2.0.so.0 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm/libgthread-2.0.so.0 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm/libogg.so.0 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm/libsndfile.so.1 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm/libvorbis.so.0 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm/libvorbisenc.so.2 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libFLAC.8.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libfluidsynth.3.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libglib-2.0.0.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libgthread-2.0.0.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libintl.8.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libogg.0.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libopus.0.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libpcre.1.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libportaudio.2.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libreadline.8.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libsndfile.1.dylib delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/arm64/libvorbis.0.dylib delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libFLAC.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libfluidsynth-3.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libgcc_s_seh-1.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libglib-2.0-0.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libgomp-1.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libiconv-2.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libintl-8.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libogg-0.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libopus-0.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libpcre-1.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libportaudio.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libreadline8.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libsndfile-1.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libssp-0.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libstdc++-6.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libtermcap-0.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libvorbis-0.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libvorbisenc-2.w64 delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/libwinpthread-1.w64 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/sfont~.d_amd64 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/sfont~.d_arm64 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/sfont~.l_amd64 delete mode 100644 Code_source/Compiled/audio/sfont~/sfont-compiled/sfont~.l_arm delete mode 100755 Code_source/Compiled/audio/sfont~/sfont-compiled/sfont~.m_amd64 create mode 100755 Code_source/Compiled/audio/sfont~/sfont~.pd_darwin create mode 100644 Code_source/Compiled/audio/sfont~/sfont~.pd_darwin.o delete mode 100644 Code_source/Compiled/audio/sfont~/tools.txt diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/.gitignore b/Code_source/Compiled/audio/sfont~/FluidLite/.gitignore new file mode 100644 index 000000000..42c91061b --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/.gitignore @@ -0,0 +1,3 @@ +build/ +out/ +*.pcm diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/.travis.yml b/Code_source/Compiled/audio/sfont~/FluidLite/.travis.yml new file mode 100644 index 000000000..ff34a4518 --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/.travis.yml @@ -0,0 +1,9 @@ +language: c +compiler: + - gcc + - clang +script: + - make -C example sf3=xiph + - make -C example clean + - make -C example sf3=stb + - make -C example clean diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/CMakeLists.txt b/Code_source/Compiled/audio/sfont~/FluidLite/CMakeLists.txt new file mode 100644 index 000000000..9e39803eb --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/CMakeLists.txt @@ -0,0 +1,270 @@ +cmake_minimum_required(VERSION 3.1) + +project(fluidlite + LANGUAGES C + VERSION 1.2.2 +) + +include(GNUInstallDirs) + +option(ENABLE_SF3 "Enable SF3 files (ogg/vorbis compressed samples)" FALSE) +option(STB_VORBIS "Use STB VORBIS library instead of ogg/vorbis" FALSE) +option(WITH_FLOAT "Use 32 bit float type samples (instead of 64 bit double type)" TRUE) +option(CMAKE_POSITION_INDEPENDENT_CODE "Use PIC for building all sources" TRUE) + +string(TOLOWER "${CMAKE_BUILD_TYPE}" LOWERCASE_BUILD_TYPE) +if("${LOWERCASE_BUILD_TYPE}" STREQUAL "debug") + set(DEBUG TRUE) +endif() +include(TestBigEndian) +test_big_endian(WORDS_BIGENDIAN) +include(CheckIncludeFiles) +check_include_files("stdlib.h;stdio.h;stdarg.h;string.h;float.h;limits.h;math.h" STDC_HEADERS) +set(HAVE_STDLIB_H ${STDC_HEADERS} CACHE INTERNAL "Have include stdlib.h") +set(HAVE_STDIO_H ${STDC_HEADERS} CACHE INTERNAL "Have include stdio.h") +set(HAVE_STDARG_H ${STDC_HEADERS} CACHE INTERNAL "Have include stdarg.h") +set(HAVE_STRING_H ${STDC_HEADERS} CACHE INTERNAL "Have include string.h") +set(HAVE_FLOAT_H ${STDC_HEADERS} CACHE INTERNAL "Have include float.h") +set(HAVE_LIMITS_H ${STDC_HEADERS} CACHE INTERNAL "Have include limits.h") +set(HAVE_MATH_H ${STDC_HEADERS} CACHE INTERNAL "Have include math.h") +include(CheckIncludeFile) +check_include_file(fcntl.h HAVE_FCNTL_H) + +list(APPEND HEADERS + include/fluidlite.h +) + +configure_file(src/version.cmake ${PROJECT_BINARY_DIR}/fluidlite/version.h @ONLY) + +list(APPEND SCOPED_HEADERS + include/fluidlite/types.h + include/fluidlite/settings.h + include/fluidlite/synth.h + include/fluidlite/sfont.h + include/fluidlite/ramsfont.h + include/fluidlite/log.h + include/fluidlite/misc.h + include/fluidlite/mod.h + include/fluidlite/gen.h + include/fluidlite/voice.h + ${PROJECT_BINARY_DIR}/fluidlite/version.h +) + +list(APPEND SOURCES + src/fluid_init.c + src/fluid_chan.c + src/fluid_chorus.c + src/fluid_conv.c + src/fluid_defsfont.c + src/fluid_dsp_float.c + src/fluid_gen.c + src/fluid_hash.c + src/fluid_list.c + src/fluid_mod.c + src/fluid_ramsfont.c + src/fluid_rev.c + src/fluid_settings.c + src/fluid_synth.c + src/fluid_sys.c + src/fluid_tuning.c + src/fluid_voice.c +) + +# Dependencies: + +set(ADDITIONAL_LIBS "") +# find the math lib, except in macOS/Windows +set(M_LIBRARY "") +if (UNIX AND NOT APPLE) + find_library(M_LIBRARY m) + message(STATUS "Math library: ${M_LIBRARY}") + if(M_LIBRARY) + set(ADDITIONAL_LIBS "-lm") + endif() +endif() + +if (ENABLE_SF3 AND NOT STB_VORBIS) + find_package(PkgConfig QUIET) + pkg_check_modules(LIBVORBIS vorbis>=1.3.5) + pkg_check_modules(LIBVORBISFILE vorbisfile>=1.3.5) + if (NOT LIBVORBIS_FOUND OR NOT LIBVORBISFILE_FOUND) + list(APPEND SOURCES + libvorbis-1.3.5/lib/vorbisenc.c + libvorbis-1.3.5/lib/info.c + libvorbis-1.3.5/lib/analysis.c + libvorbis-1.3.5/lib/bitrate.c + libvorbis-1.3.5/lib/block.c + libvorbis-1.3.5/lib/codebook.c + libvorbis-1.3.5/lib/envelope.c + libvorbis-1.3.5/lib/floor0.c + libvorbis-1.3.5/lib/floor1.c + libvorbis-1.3.5/lib/lookup.c + libvorbis-1.3.5/lib/lpc.c + libvorbis-1.3.5/lib/lsp.c + libvorbis-1.3.5/lib/mapping0.c + libvorbis-1.3.5/lib/mdct.c + libvorbis-1.3.5/lib/psy.c + libvorbis-1.3.5/lib/registry.c + libvorbis-1.3.5/lib/res0.c + libvorbis-1.3.5/lib/sharedbook.c + libvorbis-1.3.5/lib/smallft.c + libvorbis-1.3.5/lib/vorbisfile.c + libvorbis-1.3.5/lib/window.c + libvorbis-1.3.5/lib/synthesis.c + ) + list(APPEND LIBVORBIS_INCLUDE_DIRS + ${PROJECT_SOURCE_DIR}/libvorbis-1.3.5/include + ${PROJECT_SOURCE_DIR}/libvorbis-1.3.5/lib + ) + message(WARNING "Using libvorbis shipped sources.") + else() + message(STATUS "Using pkg-config provided libvorbis") + set(ADDITIONAL_LIBS "${ADDITIONAL_LIBS} ${LIBVORBIS_LDFLAGS} ${LIBVORBISFILE_LDFLAGS}") + endif() + + pkg_check_modules(LIBOGG ogg>=1.3.2) + if (NOT LIBOGG_FOUND) + list(APPEND SOURCES + libogg-1.3.2/src/bitwise.c + libogg-1.3.2/src/framing.c + ) + set(LIBOGG_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/libogg-1.3.2/include) + + message(WARNING "Using libogg shipped sources.") + else() + message(STATUS "Using pkg-config provided libogg") + set(ADDITIONAL_LIBS "${ADDITIONAL_LIBS} ${LIBOGG_LDFLAGS}") + endif() +endif() + +if (ENABLE_SF3 AND STB_VORBIS) + list(APPEND SOURCES stb/stb_vorbis.c) +endif() + +if (ENABLE_SF3) + if (STB_VORBIS) + set(SF3_SUPPORT "SF3_STB_VORBIS") + else() + set(SF3_SUPPORT "SF3_XIPH_VORBIS") + endif() +else() + set(SF3_SUPPORT "SF3_DISABLED") +endif() + +configure_file(src/fluid_config.cmake ${PROJECT_BINARY_DIR}/fluid_config.h @ONLY) + +# Common object library for the static and dynamic targets + +add_library(${PROJECT_NAME}-obj OBJECT ${SOURCES}) +set_target_properties(${PROJECT_NAME}-obj PROPERTIES C_STANDARD 99) +if(WIN32) + target_compile_definitions(${PROJECT_NAME}-obj PRIVATE _CRT_SECURE_NO_WARNINGS) +endif() + +target_include_directories(${PROJECT_NAME}-obj PRIVATE ${PROJECT_BINARY_DIR}) +target_include_directories(${PROJECT_NAME}-obj PRIVATE ${PROJECT_SOURCE_DIR}/src) +target_include_directories(${PROJECT_NAME}-obj PRIVATE ${PROJECT_SOURCE_DIR}/include) + +if (ENABLE_SF3 AND NOT STB_VORBIS) + target_include_directories(${PROJECT_NAME}-obj PRIVATE ${LIBOGG_INCLUDE_DIRS}) + target_include_directories(${PROJECT_NAME}-obj PRIVATE ${LIBVORBIS_INCLUDE_DIRS}) +endif() +if (ENABLE_SF3 AND STB_VORBIS) + target_include_directories(${PROJECT_NAME}-obj PRIVATE ${PROJECT_SOURCE_DIR}/stb) +endif() + +# Static library target + +option(FLUIDLITE_BUILD_STATIC "Build static library" TRUE) +if(FLUIDLITE_BUILD_STATIC) + add_library(${PROJECT_NAME}-static STATIC $) + target_link_libraries(${PROJECT_NAME}-static PUBLIC + ${LIBVORBIS_LIBRARIES} + ${LIBVORBISFILE_LIBRARIES} + ${LIBOGG_LIBRARIES} + ${M_LIBRARY} + ) + set_target_properties(${PROJECT_NAME}-static PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) + list(APPEND FLUIDLITE_INSTALL_TARGETS ${PROJECT_NAME}-static) + target_include_directories(${PROJECT_NAME}-static PUBLIC + "$" + "$" + ) +endif() + +# Shared dynamic library target + +option(FLUIDLITE_BUILD_SHARED "Build shared library" TRUE) +if(FLUIDLITE_BUILD_SHARED) + add_library(${PROJECT_NAME} SHARED $) + target_link_libraries(${PROJECT_NAME} PRIVATE + ${LIBVORBIS_LIBRARIES} + ${LIBVORBISFILE_LIBRARIES} + ${LIBOGG_LIBRARIES} + ${M_LIBRARY} + ) + list(APPEND FLUIDLITE_INSTALL_TARGETS ${PROJECT_NAME}) + set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION}) + set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR}) + target_include_directories(${PROJECT_NAME} PUBLIC + "$" + "$" + ) +endif() + +if((NOT FLUIDLITE_BUILD_SHARED) AND (NOT FLUIDLITE_BUILD_STATIC)) + message(FATAL_ERROR "Neither dynamic nor static library build is selected.") +endif() + +if(IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR}) + set(fluidlite_libdir "${CMAKE_INSTALL_LIBDIR}") +else() + set(fluidlite_libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") +endif() +if(IS_ABSOLUTE ${CMAKE_INSTALL_INCLUDEDIR}) + set(fluidlite_includedir "${CMAKE_INSTALL_INCLUDEDIR}") +else() + set(fluidlite_includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") +endif() +configure_file(fluidlite.pc.in ${PROJECT_BINARY_DIR}/fluidlite.pc @ONLY) + +install(TARGETS ${FLUIDLITE_INSTALL_TARGETS} + EXPORT ${PROJECT_NAME}-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +install(FILES ${SCOPED_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fluidlite) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/fluidlite.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + +# Exported targets + +install(EXPORT ${PROJECT_NAME}-targets + FILE ${PROJECT_NAME}-targets.cmake + NAMESPACE ${PROJECT_NAME}:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} +) + +export(EXPORT ${PROJECT_NAME}-targets + FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-targets.cmake" + NAMESPACE ${PROJECT_NAME}:: +) + +include(CMakePackageConfigHelpers) +write_basic_package_version_file( + ${PROJECT_NAME}-config-version.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY AnyNewerVersion +) +configure_package_config_file( + ${PROJECT_NAME}-config.cmake.in + ${PROJECT_NAME}-config.cmake + INSTALL_DESTINATION ${CMAKE_CURRENT_BINARY_DIR} +) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} +) diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/LICENSE b/Code_source/Compiled/audio/sfont~/FluidLite/LICENSE new file mode 100644 index 000000000..10cc81dd8 --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/LICENSE @@ -0,0 +1,15 @@ +FluidLite (c) 2016 Robin Lobel + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/README.md b/Code_source/Compiled/audio/sfont~/FluidLite/README.md new file mode 100644 index 000000000..11c948224 --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/README.md @@ -0,0 +1,167 @@ +# FluidLite + +[![License: LGPL-2.1](https://img.shields.io/badge/License-LGPL--2.1-brightgreen.svg)](https://opensource.org/licenses/LGPL-2.1) +[![Travis-CI Status](https://travis-ci.com/katyo/fluidlite.svg?branch=master)](https://travis-ci.com/katyo/fluidlite) + +FluidLite (c) 2016 Robin Lobel + +FluidLite is a very light version of FluidSynth +designed to be hardware, platform and external dependency independent. +It only uses standard C libraries. + +It also adds support for SF3 files (SF2 files compressed with ogg vorbis) +and an additional setting to remove the constraint of channel 9 (drums): +fluid_settings_setstr(settings, "synth.drums-channel.active", "no"); +you can still select bank 128 on any channel to use drum kits. + +FluidLite keeps very minimal functionalities (settings and synth), +therefore MIDI file reading, realtime MIDI events and audio output must be +implemented externally. + +## Configuration + +By default SF3 support is disabled. To enable it use `-DENABLE_SF3=YES` with cmake. + +Alternatively it can be configured to use [stb_vorbis](https://github.com/nothings/stb) +to decompress SF3 instead of Xiph's [libogg](https://github.com/xiph/ogg)/[libvorbis](https://github.com/xiph/vorbis). +You can pass `-DSTB_VORBIS=YES` to cmake to do it. + +You can run cmake to configure and build the sources, and also to install the +compiled products. Here are some examples + +To configure the sources with debug symbols: + +~~~ +$ cmake -S -B -DCMAKE_BUILD_TYPE=Debug +~~~ + +To configure the sources with an install prefix: + +~~~ +$ cmake -S -B -DCMAKE_INSTALL_PREFIX=/usr/local +--- +$ cmake -S -B -DCMAKE_INSTALL_PREFIX=${HOME}/FluidLite +~~~ + +To configure the sources with additional dependency search paths: + +~~~ +$ cmake -S -B -DCMAKE_PREFIX_PATH=${HOME}/tests +~~~ + +To build (compile) the sources: + +~~~ +$ cmake --build +~~~ + +To install the compiled products (needs cmake 3.15 or newer): + +~~~ +$ cmake --install +~~~ + +Here is a bash script that you can customize/use on Linux: + +~~~shell +#!/bin/bash +CMAKE="${HOME}/Qt/Tools/CMake/bin/cmake" +SRC="${HOME}/Projects/FluidLite" +BLD="${SRC}-build" +${CMAKE} -S ${SRC} -B ${BLD} \ + -DFLUIDLITE_BUILD_STATIC:BOOL="1" \ + -DFLUIDLITE_BUILD_SHARED:BOOL="1" \ + -DENABLE_SF3:BOOL="1" \ + -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_SKIP_RPATH:BOOL="0" \ + -DCMAKE_INSTALL_LIBDIR="lib" \ + -DCMAKE_INSTALL_PREFIX=$HOME/FluidLite \ + -DCMAKE_VERBOSE_MAKEFILE:BOOL="1" \ + $* +read -p "Cancel now or pulse to build" +${CMAKE} --build $BLD +read -p "Cancel now or pulse to install" +${CMAKE} --install $BLD +~~~ + +See also the [complete cmake documentation](https://cmake.org/cmake/help/latest/manual/cmake.1.html) for more information. + +## Usage + +Here is the source code of the example that resides in example/src/main.c + +```c +#include +#include + +#include "fluidlite.h" + +#define SAMPLE_RATE 44100 +#define SAMPLE_SIZE sizeof(float) +#define NUM_FRAMES SAMPLE_RATE +#define NUM_CHANNELS 2 +#define NUM_SAMPLES (NUM_FRAMES * NUM_CHANNELS) + +int main() { + fluid_settings_t* settings = new_fluid_settings(); + fluid_synth_t* synth = new_fluid_synth(settings); + fluid_synth_sfload(synth, "soundfont.sf2", 1); + + float* buffer = calloc(SAMPLE_SIZE, NUM_SAMPLES); + + FILE* file = fopen("float32output.pcm", "wb"); + + fluid_synth_noteon(synth, 0, 60, 127); + fluid_synth_write_float(synth, NUM_FRAMES, buffer, 0, NUM_CHANNELS, buffer, 1, NUM_CHANNELS); + fwrite(buffer, SAMPLE_SIZE, NUM_SAMPLES, file); + + fluid_synth_noteoff(synth, 0, 60); + fluid_synth_write_float(synth, NUM_FRAMES, buffer, 0, NUM_CHANNELS, buffer, 1, NUM_CHANNELS); + fwrite(buffer, SAMPLE_SIZE, NUM_SAMPLES, file); + + fclose(file); + + free(buffer); + + delete_fluid_synth(synth); + delete_fluid_settings(settings); +} +``` + +There is also a cmake project file that you may use to build the example, or to +model your own projects: + +~~~cmake +cmake_minimum_required(VERSION 3.1) +project(fluidlite-test LANGUAGES C) + +#1. To find an installed fluidlite with pkg-config: +#find_package(PkgConfig REQUIRED) +#pkg_check_modules(fluidlite REQUIRED fluidlite) + +#2. To find an installed fluidlite with cmake only: +#find_package(fluidlite REQUIRED) + +#3. using a subdirectory (for instance, a git submodule): +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/FluidLite) +include(${CMAKE_CURRENT_SOURCE_DIR}/FluidLite/aliases.cmake) + +add_executable(${PROJECT_NAME} + src/main.c +) + +if(UNIX AND NOT APPLE) + find_library(MATH_LIB m) +endif() + +# if you include 'aliases.cmake' or after find_package(fluidlite), +# you get two targets defined, that you may link directly here: +# 1. 'fluidlite::fluidlite-static' is the static library +# 2. 'fluidlite::fluidlite' is the shared dynamic library +target_link_libraries(${PROJECT_NAME} PRIVATE + fluidlite::fluidlite-static + ${MATH_LIB} +) +~~~ + +Warning! this repository contains symlinks. If you are a Windows user and this is new for you, please [learn about this feature in Windows](https://blogs.windows.com/windowsdeveloper/2016/12/02/symlinks-windows-10/) and [git for windows](https://github.com/orgs/community/discussions/23591). diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/aliases.cmake b/Code_source/Compiled/audio/sfont~/FluidLite/aliases.cmake new file mode 100644 index 000000000..0b1111384 --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/aliases.cmake @@ -0,0 +1,8 @@ +# The exported targets as aliases, to use FluidLite in another project +# for instance as a git submodule +if (TARGET fluidlite) + add_library(fluidlite::fluidlite ALIAS fluidlite) +endif() +if (TARGET fluidlite-static) + add_library(fluidlite::fluidlite-static ALIAS fluidlite-static) +endif() diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/android/Android.mk b/Code_source/Compiled/audio/sfont~/FluidLite/android/Android.mk new file mode 100644 index 000000000..060b2cd39 --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/android/Android.mk @@ -0,0 +1,9 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) +LOCAL_MODULE := fluidlite_shared +LOCAL_SRC_FILES := libs/$(TARGET_ARCH_ABI)/libfluidlite.so +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../include +TARGET_PLATFORM = android-10 + +include $(PREBUILT_SHARED_LIBRARY) diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/android/include/ogg/config_types.h b/Code_source/Compiled/audio/sfont~/FluidLite/android/include/ogg/config_types.h new file mode 100644 index 000000000..a5a76e864 --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/android/include/ogg/config_types.h @@ -0,0 +1,16 @@ +#ifndef _CONFIG_TYPES_H +#define _CONFIG_TYPES_H + +# if defined(ANDROID) +# include + typedef int16_t ogg_int16_t; + typedef uint16_t ogg_uint16_t; + typedef int32_t ogg_int32_t; + typedef uint32_t ogg_uint32_t; + typedef int64_t ogg_int64_t; + typedef uint64_t ogg_uint64_t; +#else +# error +#endif + +#endif diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/android/jni/Android.mk b/Code_source/Compiled/audio/sfont~/FluidLite/android/jni/Android.mk new file mode 100644 index 000000000..bd6945dfc --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/android/jni/Android.mk @@ -0,0 +1,68 @@ +LOCAL_PATH := $(call my-dir)/../.. +include $(CLEAR_VARS) + +LOCAL_MODULE := fluidlite +LOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/android/include +LOCAL_ARM_MODE := arm +LOCAL_STATIC_LIBRARIES := vorbis + +LOCAL_SRC_FILES := \ + src/fluid_chan.c \ + src/fluid_chorus.c \ + src/fluid_conv.c \ + src/fluid_defsfont.c \ + src/fluid_dsp_float.c \ + src/fluid_gen.c \ + src/fluid_hash.c \ + src/fluid_list.c \ + src/fluid_mod.c \ + src/fluid_ramsfont.c \ + src/fluid_rev.c \ + src/fluid_settings.c \ + src/fluid_synth.c \ + src/fluid_sys.c \ + src/fluid_tuning.c \ + src/fluid_voice.c + +include $(BUILD_SHARED_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := vorbis +LOCAL_C_INCLUDES := $(LOCAL_PATH)/libvorbis-1.3.5/include $(LOCAL_PATH)/android/include +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/libvorbis-1.3.5/include +LOCAL_STATIC_LIBRARIES := ogg +LOCAL_ARM_MODE := arm +LOCAL_SRC_FILES := \ + libvorbis-1.3.5/lib/analysis.c \ + libvorbis-1.3.5/lib/bitrate.c \ + libvorbis-1.3.5/lib/block.c \ + libvorbis-1.3.5/lib/codebook.c \ + libvorbis-1.3.5/lib/envelope.c \ + libvorbis-1.3.5/lib/floor0.c \ + libvorbis-1.3.5/lib/floor1.c \ + libvorbis-1.3.5/lib/info.c \ + libvorbis-1.3.5/lib/lookup.c \ + libvorbis-1.3.5/lib/lpc.c \ + libvorbis-1.3.5/lib/lsp.c \ + libvorbis-1.3.5/lib/mapping0.c \ + libvorbis-1.3.5/lib/mdct.c \ + libvorbis-1.3.5/lib/psy.c \ + libvorbis-1.3.5/lib/registry.c \ + libvorbis-1.3.5/lib/res0.c \ + libvorbis-1.3.5/lib/sharedbook.c \ + libvorbis-1.3.5/lib/smallft.c \ + libvorbis-1.3.5/lib/synthesis.c \ + libvorbis-1.3.5/lib/tone.c \ + libvorbis-1.3.5/lib/vorbisfile.c \ + libvorbis-1.3.5/lib/window.c +include $(BUILD_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := ogg +LOCAL_C_INCLUDES := $(LOCAL_PATH)/libogg-1.3.2/include $(LOCAL_PATH)/android/include +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/libogg-1.3.2/include +LOCAL_ARM_MODE := arm +LOCAL_SRC_FILES := \ + libogg-1.3.2/src/bitwise.c \ + libogg-1.3.2/src/framing.c +include $(BUILD_STATIC_LIBRARY) diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/android/jni/Application.mk b/Code_source/Compiled/audio/sfont~/FluidLite/android/jni/Application.mk new file mode 100644 index 000000000..17e48d40e --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/android/jni/Application.mk @@ -0,0 +1,5 @@ +APP_ABI := armeabi-v7a x86 +APP_MODULES := fluidlite +APP_PLATFORM := android-10 +APP_OPTIM := release +NDK_TOOLCHAIN_VERSION := 4.9 diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/android/project.properties b/Code_source/Compiled/audio/sfont~/FluidLite/android/project.properties new file mode 100644 index 000000000..f049142c1 --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/android/project.properties @@ -0,0 +1,11 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-10 diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/example/CMakeLists.txt b/Code_source/Compiled/audio/sfont~/FluidLite/example/CMakeLists.txt new file mode 100644 index 000000000..76e064b86 --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/example/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.1) +project(fluidlite-test LANGUAGES C) + +#1. To find an installed fluidlite with pkg-config: +#find_package(PkgConfig REQUIRED) +#pkg_check_modules(fluidlite REQUIRED fluidlite) + +#2. To find an installed fluidlite with cmake only: +#find_package(fluidlite REQUIRED) + +#3. using a subdirectory (for instance, a git submodule): +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/FluidLite) +include(${CMAKE_CURRENT_SOURCE_DIR}/FluidLite/aliases.cmake) + +add_executable(${PROJECT_NAME} + src/main.c +) + +if(UNIX AND NOT APPLE) + find_library(MATH_LIB m) +endif() + +# if you include 'aliases.cmake' or after find_package(fluidlite), +# you get two targets defined, that you may link directly here: +# 1. 'fluidlite::fluidlite-static' is the static library +# 2. 'fluidlite::fluidlite' is the shared dynamic library +target_link_libraries(${PROJECT_NAME} PRIVATE + fluidlite::fluidlite-static + ${MATH_LIB} +) diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/example/FluidLite b/Code_source/Compiled/audio/sfont~/FluidLite/example/FluidLite new file mode 120000 index 000000000..a96aa0ea9 --- /dev/null +++ b/Code_source/Compiled/audio/sfont~/FluidLite/example/FluidLite @@ -0,0 +1 @@ +.. \ No newline at end of file diff --git a/Code_source/Compiled/audio/sfont~/FluidLite/example/sf_/Boomwhacker.sf2 b/Code_source/Compiled/audio/sfont~/FluidLite/example/sf_/Boomwhacker.sf2 new file mode 100644 index 0000000000000000000000000000000000000000..af08cdd0f3b90aaa6cb5d11dddc66d2f547b46e0 GIT binary patch literal 302328 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