fluidsynth/fluidsynth/TODO

125 lines
3.2 KiB
Text
Raw Normal View History

This file needs some re-structuring. Please remove anything that has
already been done. - Josh Green 2003-08-25
2003-03-11 16:56:45 +00:00
Synthesis related
-----------------
2003-03-11 16:56:45 +00:00
- problems with chorus (test on VintageDreamWaves + LoveVigilants.mid)
- Compatibility with SB Live vol attenuation (Live doesn't follow specs?)
- Filter should stay on for a voice once it has been activated
- Improve voice stealing algorithm (soft and hard limits?)
- soft clipping, compressor, limitor, or automatic gain control
2003-03-11 16:56:45 +00:00
Drivers
-------
- ASIO driver
- DirectSound3D driver
- OMS on macintosh
- load drivers, plugins, and soundfont loaders from shared libraries
2003-03-11 16:56:45 +00:00
Fluid 1.0:
--------------------------------------------
- deb and rpm package
- Mac and Windows binaries
- Xtra binaries
Web site: add:
- link to pd-iiwu
- how to create soundfonts on linux, macintosh, windows
- where to find soundfonts
- where to find documentation on soundfonts
- using fluid in PD, jMax
Fluid 1.1:
--------------------------------------------
2003-04-04 17:40:39 +00:00
SFLoader API:
- "interface" api
- redo sfloader api using "interface" api
Sample streaming
- sample streaming, load/unload sample on demand
Design
- turn ladspa fx unit and router in indepedent
objects, remove their dependencies from the synth object
- generalize use of fluid_event_t, remove fluid_midi_event_t
SoundFont Specs:
- pitch control on stereo samples not managed as should
MIDI Specs
2003-03-11 16:56:45 +00:00
- handle tuning sysex messages
- OMNI
- sample dump
2003-04-04 17:40:39 +00:00
Unsorted
- server sur windows
2003-03-11 16:56:45 +00:00
- change sample rate dynamically after jack driver instantiation, or
create audio driver before initiating the synth
- include readline in project
- additional aux buses
- rewrite midi file using new sequencer
- direct access to audio buffer
- soft clipping, compressor, limitor, or automatic gain control
- register shell commands dynamically, no dependancy on iiwu_synth object
- load wave files (ramsfont)
2003-04-04 17:40:39 +00:00
- write a Max external
2003-03-11 16:56:45 +00:00
OLD STUFF, NEEDS TO BE FILTERED ------------------
Design
------
- determine and protect critical regions
- check out atomic_inc and atomic_dec for flagging on/off of sp
- check out lock-free lifo for synchronization
- test for maximum cpu usage, and limit
- watchdog
- better debugging features and monitoring
- MIDI events (driver status, received, errors)
- Audio out (driver status, time, errors)
- Debug message ()
- CPU, memory usage
- load, reload, replace, and print info about soundfonts the way creative does it
DSP
---
- improved float to int conversion
- 96kHz/24bits
Control
-------
- handle all continuous controllers
- handles RPN and NRPN messages
- OpenSoundControl
Testing
-------
- create soundfont with basic wave forms [sine, square, triangle];
make test midi file; compare with SBLive output; "regression" test
- compare performance with timidity
Availability
------------
- create a libiiwusynth library that doesn't necessarily depend on OSS
or ALSA.
- make an fts package that links (statically?) with libiiwusynth
- ladspa plugin
- alsa module
- language bindings (Java, Python, Perl, Guile, ...)
- QuickTime Component
- make netscape and ie plugin
Hardware
--------
- study ALSA interface, SBLive interface (OSS, win32)
- hardware detection
- specify hardware or software synth