forked from mewspring/gorilla-audio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
53 lines (47 loc) · 1.69 KB
/
TODO.txt
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
ROAD MAP
---
COMPATIBILITY:
- Implement more platforms/devices:
- Linux (using OpenAL)
- DirectSound device (Windows)
- WinMM device (Windows)
- ALSA (Linux)
- CoreAudio (OSX/iOS)
- OpenSL (Android 2.3+)
- OpenMAX AL device (Multi)
IMPROVEMENTS:
- Improve looping system
- Make it queryable and/or specify a number of future loops to perform
- Expose loop interface to generic SampleSource data structure
- Specifiable/queryable device format (partly done)
- Handle-group support (synchronized start/seek/pause/stop)
- Mono mixer
- 8-bit mixer
- Arbitrary mixer rate
- Opaque handles (ints)
- Push handles writeable from main thread into an internal buffer
- Support for enumerating devices
USABILITY:
- Doxygen comments for the API
- Glossary of terms
- Tutorial on how to get started (akin to the example code)
- Documentation on how to extend the systems
- Better error codes and reporting
DSP FILTERS:
- Create framework for apply DSP filters
- Implement support for common filters:
- Reverb, compressor, distortion, echo, equalizer, flanger, gargle, chorus, high-pass, low-pass, wah-wah
LUXURY FEATURES:
- Input audio recording (recording devices + wrapping samplesource)
- Optimize mixer (less branches, SIMD)
- Tracker support (MOD/S3M/XM/IT)
- Surround sound (multi-channel) input and output formats
- Support for multiple ga_StreamManager threads
- Floating-point format support
- MP3 support (optional)
- AIFF support
- OGG Opus support
- Network-streaming audio (OGG, MP3, ShoutCast, IceCast)
- Handle-locking for atomic groups of control commands
KNOWN BUGS:
- Seeking can currently cause a handle to have fewer samples than expected mid-mix (rare race condition, can cause stutter/desync)