-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTODO
144 lines (130 loc) · 6.11 KB
/
TODO
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
Items marked with $ are bigger changes requiring more time.
Known bugs:
* Character set problems:
- Do we assume filesystem in UTF-8? It's incorrect.
- id3tags v2.3 with UTF-16 are not properly handled by libid3tag, taglib
has no problems. Need to use libtag here?
- Recognition of ID3 tags v1 is broken (example: small.mp3). [node/234]
- Perhaps MOC can add support for the frame field_type to differentiate
between ID3_FIELD_TYPE_LATIN1 and ID3_FIELD_TYPE_STRING. [node/234]
- Some Cyrillic characters in file and directory names don't get displayed
correctly.
* Program crashes:
- I have a problem with MOC 2.4.0 on FreeBSD 6.1-PRERELEASE. When I build
MOC with musepack (libmpcdec) support MOC always core dumps on exit.
(This may have been fixed by other storage-related patches and will be
removed in MOC 2.7 if no one has confirmed it still exists.)
- Assertion failure on FreeBSD 5.5. [node/148]
- Using DB_THREAD in combination with DB_CREATE and DB_PRIVATE seems to
cause a segfault on OpenWRT. The circumvention is to configure MOC on
OpenWRT with '--disable-cache' or set the MOC configuration option
'TagsCacheSize' to zero.
* Valgrind-detected memory problems:
- libasound: memory leaks
- libdb: uninitialised parameter storage
- libmagic: uninitialised storage in reads
- librcc: uninitialised storage in conditions
- libspeex: uninitialised storage in conditions and reads
* Directory and playlists:
- When sorting by file name (directories), put files beginning with a
non-alphanumeric character at the top.
- mocp -a playlist.pls should not sort added files. [node/240]
- Client does not show changes when a file's tags are updated by another
program.
- Client continues to show file names after ReadTags is toggled when
MOC is started with 'ShowTime=yes' and 'ReadTags=no'.
* Themes problems:
- MOC needs to be restarted (when switching themes) in order to understand
the ATTRIBUTE correctly.
* Decoder problems:
- Seeking in some formats does not work in the FFmpeg decoder because of
the limitations of the FFmpeg libraries (and seeking is disabled for
them). FLV also has seeking issues and is disabled but will be enabled
if SEEK_IN_DECODER is set in the FFmpeg decoder plug-in. (This may be
parameterised in due course.)
- Some decoders do not currently pass the MD5 sum or sample count checks.
- The duration of some AAC audios is incorrectly reported.
* Sound driver problems:
- ALSA is not playing the entire buffer before closing. [node/817]
Transitional code removal (after 2.5):
* Remove deprecated option TagsIconv.
* Remove changed option name for OSSMixerChannel.
* Remove changed option name for ALSAMixer.
* Remove changed option type for SidPlay2_StartAtStart.
* Remove changed option type for SidPlay2_PlaySubTunes.
* Remove changed option type for QueueNextSongReturn.
* Remove changed option type for SoundDriver.
* Remove changed option format for Layouts.
* Remove deprecated autogen.sh file.
* Remove Berkeley DB version 4.1 requirement warning.
* Remove libcurl version 7.15.1 requirement warning.
* Remove POPT requirement warning.
* Remove explicit '--enable-debug' warning.
* Remove XZ requirement warning.
FFmpeg/LibAV support changes (after 2.5):
* Remove deprecated ffmpeg-config support.
* Raise minimum FFmpeg/LibAV requirement to release 0.7.
* Remove supporting code for previous releases.
Pending 2.6 changes:
* Require at least Berkeley DB version 4.1.
* Require at least libcurl version 7.15.1.
* Require the POPT library (libpopt).
* Make '--enable-debug' configuration option default to 'no'.
* Make XZ the default compression for the 'make dist' target.
Pending 2.7 changes:
* Remove FreeBSD program crash bug if no one has confirmed it still exists.
In future:
* Move TODO to moc.daper.net/roadmap .
* A string-valued variable "TitleFormatString", similar to "FormatString".
I'd suggest all the same %-escapes, plus:
%F -- expands to (the expansion of) the current FormatString
if there is a song playing or paused, and empty string if stopped.
%S -- expands to play/stop/pause.
* Command line option to play from a specified file/first from the last
added files. [node/286]
* Multiple file selection to move many files at once up and down. [node/288]
* Review strcat()/strcpy()/sprintf() usage, change to
strncat()/strncpy()/snprintf() where possible.
* More side menus: many directory/playlist views.
* LADSPA/LV2
* Editing the title of an item on the playlist (for Internet streams).
*$ Media library: tree-like menu for artists and albums.
* Seek by a % value (also using keys for 10%, 20%, etc).
* Ability to play from a playlist made of items found after searching.
* JACK: intelligent behaviour when we get disconnected from the server
- detect it, try connect and exit if it fails.
* FastGo instead of FastDir: go to a directory, URL or a playlist.
* Read tags for sndfile formats.
*$ http://www.peercast.org/
* Crossfade.
* Command to see all information about a file with all tags, also all
information about an internet stream (from IceCast headers like icy-url,
icy-pub).
*$ Lyrics downloaded from the Internet.
* lirc.
* Don't use PATH_MAX.
* Seek forward using the content of the output buffer.
*$ Locales.
*$ Song ratings or something like Q in XMMS.
* Configurable sorting.
* Add a key for switching sort modes.
*$ Equalizer like in Beep Media Player
*$ Make equal volume level for every song like in http://volnorm.sourceforge.net
*$ Replaygain.
* Seek to arbitrary position (by typing a number).
*$ VQF (like http://www.csn.ul.ie/~mel/projects/linux/vqfplugin/).
*$ ESD.
*$ CUE-sheet.
* Command line option to delete the currently played item from the playlist.
* Scripting.
* Some options can be changed at run-time using a menu.
* posix_fadvise() with POSIX_FADV_WILLNEED instead of the input buffer thread
for files.
* Recording played sound to a file.
* Upgrade TiMidity decoder plug-in to TiMidity++. This would add support
for soundfonts (.sf2) which are now more common.
Maybe never:
* Say about ignored options that affects server when the server is not being
run.
* Funny ASCII equalizer.
* Mouse support.