• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..14-Feb-2021-

include/H14-Feb-2021-1,923576

libogg-1.3.2/H14-Feb-2021-3,5602,637

libvorbis-1.3.5/H14-Feb-2021-60,81751,815

src/H14-Feb-2021-18,58711,693

LICENSEH A D14-Feb-2021736 1612

README.mdH A D14-Feb-20211.3 KiB4229

fluidlite.pc.inH A D14-Feb-2021249 119

README.md

1FLUIDLITE 1.0 (c) 2016 Robin Lobel
2=========
3
4FluidLite is a very light version of FluidSynth
5designed to be hardware, platform and external dependency independant.
6It only uses standard C libraries.
7
8It also adds support for SF3 files (SF2 files compressed with ogg vorbis)
9and an additional setting to remove the constraint of channel 9 (drums):
10fluid_settings_setstr(settings, "synth.drums-channel.active", "no");
11you can still select bank 128 on any channel to use drum kits.
12
13FluidLite keeps very minimal functionnalities (settings and synth),
14therefore MIDI file reading, realtime MIDI events and audio output must be
15implemented externally.
16
17Usage:
18=====
19
20include "fluidlite.h"
21
22fluid_settings_t* settings=new_fluid_settings();
23fluid_synth_t* synth=new_fluid_synth(settings);
24fluid_synth_sfload(synth, "soundfont.sf3",1);
25
26float* buffer=new float[44100*2];
27
28FILE* file=fopen("float32output.pcm","wb");
29
30fluid_synth_noteon(synth,0,60,127);
31fluid_synth_write_float(synth, 44100,buffer, 0, 2, buffer, 1, 2);
32fwrite(buffer,sizeof(float),44100*2,file);
33
34fluid_synth_noteoff(synth,0,60);
35fluid_synth_write_float(synth, 44100,buffer, 0, 2, buffer, 1, 2);
36fwrite(buffer,sizeof(float),44100*2,file);
37
38fclose(file);
39
40delete_fluid_synth(synth);
41delete_fluid_settings(settings);
42