libvwad: updated -- vwadwrite: free file buffers on close (otherwise archive creation...
[k8vavoom.git] / libs / fluidsynth_lite / TODO
blob59ca17727dda89f9ad9d2f9df096c940c600cea3
1 New features
2 ------------
3 - 24 bit sample support
4 - Non-realtime MIDI file rendering
5 - Sample streaming, load/unload sample on demand
6 - Synth sample rate change after initial creation
7 - handle tuning sysex messages
8 - Audio level metering
9 - Active voice count monitoring
11 Synthesis
12 ---------
13 - Improve voice stealing algorithm
14 - Dynamic voice killing (based on CPU usage)
15 - Batch voice activation (stereo synch. as per SoundFont spec)
16 - Pitch control on stereo samples not managed as should
17 - soft clipping, compressor, limitor, or automatic gain control
19 Drivers
20 -------
21 - libao audio output driver
22 - MacOS X MidiCore component
23 - Windows DirectMusic component
24 - ASIO driver
25 - DirectSound 3D and EAX
27 Bugs to mash
28 ------------
29 - Fix warnings on 64 bit platforms and type-puned pointer warning
30 - Add byte swapping support (on synthesis or sample load?)
31 - Investigate why MIDI rendering causes burst of notes at start
33 Validation
34 ----------
35 - Validation tests: create soundfont with basic wave forms [sine,
36   square, triangle]; make test midi file; compare with SBLive output;
37   "regression" test
38 - Validate chorus (often sounds rather crappy)
39 - Analyse performance
41 Documentation
42 -------------
43 - Write documention on tuning
44 - fluid_synth_program_select2() with name of soundfont instead of font_id
45 - fluid_synth_set_gen2()
46 - Add usage scenarios in the documentation
47 - User and system configuration file
49 Binaries
50 --------
51 - FluidSynth 
52   * Linux 
53   * Win
54   * MacOS X
55 - fluid~  (Pd/Linux, MaxMSP/MacOSX, MaxMSP/Windows)
56 - fluidsynth~ (MaxMSP/MacOSX, MaxMSP/Windows)
57 - FluidXtra
59 Misc
60 ----
61 - Remove dependency of settings on audio driver and other (see
62   fluid_settings_init())
63 - Add "unselect" command to shell to set a MIDI channel to not sound.
64 - When specifying -i -s (no console and TCP server) log to TCP clients
65   with easier parsable messages ("warning:", "error:", etc)
66 - add function to get initial soundfont generator value
67 - Pause and resume the synthesizer/audio thread (run synthesizer as a daemon)
68 - set loop on/off on a sample (set_gen GEN_SAMPLEMODE?)
71 FluidSynth Next Generation
72 --------------------------------------------
74 Top of the list
75 - Use FIFOs to send events to the audio thread
76 - Redo sfloader api using "interface" api
77 - 3D audio output
79 Design
80 - turn ladspa fx unit and router in indepedent 
81   objects, remove their dependencies from the synth object
83 MIDI player
84 - Add API to manipulate and query MIDI file list
85 - generalize use of fluid_event_t, remove fluid_midi_event_t
87 Shell & command handler
88 - Add "note" command that plays a note with a duration (sequencer)
89 - MIDI file player commands (load/play/stop)
90 - Relax dependency of the command handler on the synthesizer
91 - Allow settings to be loaded before the synthesizer is created
93 SoundFont Specs:
95 MIDI Specs
96 - Omni and poly modes
97 - sample dump
98 - MIDI thru
99 - Scalable Polyphony MIDI (SP-MIDI)
102 Unsorted
103 - include readline in project
104 - additional aux buses
105 - rewrite midi file using new sequencer
106 - direct access to audio buffer