480 lines
20 KiB
Plaintext
480 lines
20 KiB
Plaintext
ver 0.15 - (200?/??/??)
|
|
* input:
|
|
- parse Icy-Metadata
|
|
- added support for the MMS protocol
|
|
* tags:
|
|
- support the "album artist" tag
|
|
- support MusicBrainz tags
|
|
- parse RVA2 tags in mp3 files
|
|
* decoders:
|
|
- audiofile: streaming support added
|
|
- ffmpeg: enable WAV
|
|
- modplug: another MOD plugin, based on libmodplug
|
|
- mikmod disabled by default, due to severe security issues in libmikmod
|
|
* audio outputs:
|
|
- shout: enlarged buffer size to 32 kB
|
|
- null: allow disabling synchronization
|
|
* commands:
|
|
- "playlistinfo" supports a range now
|
|
- added "sticker database", command "sticker", which allows clients
|
|
to implement features like "song rating"
|
|
* Rewritten mixer code to support multiple mixers
|
|
* Add audio archive extraction support:
|
|
- bzip2
|
|
- iso9660
|
|
- zip
|
|
* the option "error_file" was removed, all messages are logged into
|
|
"log_file"
|
|
* support logging to syslog
|
|
* fall back to XDG music directory if no music_directory is configured
|
|
* failure to read the state file is non-fatal
|
|
* --create-db starts the MPD daemon instead of exiting
|
|
* playlist_directory and music_directory are optional
|
|
* playlist: recalculate the queued song after random is toggled
|
|
* playlist: don't unpause on delete
|
|
|
|
|
|
ver 0.14.2 (2009/??/??)
|
|
* decoders:
|
|
- ffmpeg: added support for the tags comment, genre, year
|
|
- ffmpeg: don't warn of empty packet output
|
|
- ffmpeg: check if the time stamp is valid
|
|
- ffmpeg: fixed seek integer overflow
|
|
- wavpack: pass NULL if the .wvc file fails to open
|
|
- mikmod: call MikMod_Exit() only in the finish() method
|
|
* audio outputs:
|
|
- jack: allocate ring buffers before connecting
|
|
- jack: clear "shutdown" flag on reconnect
|
|
- jack: reduced sleep time to 1ms
|
|
- shout: fixed memory leak in the mp3 encoder
|
|
* mapper: remove trailing slashes from music_directory
|
|
* player: set player error when output device fails
|
|
|
|
|
|
ver 0.14.1 (2009/01/17)
|
|
* decoders:
|
|
- mp4: support the writer/composer tag
|
|
- id3: strip leading and trailing whitespace from ID3 tags
|
|
- oggvorbis: fix tremor support
|
|
- oggvorbis: disable seeking on remote files
|
|
* audio outputs:
|
|
- jack: allocate default port names (fixes a crash)
|
|
* update:
|
|
- refresh stats after update
|
|
- save the database even if it is empty
|
|
* input_curl:
|
|
- use select() to eliminate busy loop during connect
|
|
- honour http_proxy_* config directives
|
|
- fix assertion failure on "connection refused"
|
|
- fix assertion failure with empty HTTP responses
|
|
* corrected the sample calculation in the fallback resampler
|
|
* log: automatically append newline
|
|
* fix setenv() conflict on Solaris
|
|
* configure.ac: check for pkg-config before using it
|
|
* fix minor memory leak in decoder_tag()
|
|
* fix cross-fading bug: it used to play some chunks of the new song twice
|
|
* playlist
|
|
- fix assertion failure during playlist load
|
|
- implement Fisher-Yates shuffle properly
|
|
- safely search the playlist for deleted song
|
|
* use custom PRNG for volume dithering (speedup)
|
|
* detect libid3tag without pkg-config
|
|
|
|
|
|
ver 0.14 (2008/12/25)
|
|
* audio outputs:
|
|
- wait 10 seconds before reopening a failed device
|
|
- fifo: new plugin
|
|
- null: new plugin
|
|
- shout: block while trying to connect instead of failing
|
|
- shout: new timeout parameter
|
|
- shout: support mp3 encoding and the shoutcast protocol
|
|
- shout: send silence during pause, so clients don't get disconnected
|
|
* decoders:
|
|
- ffmpeg: new plugin
|
|
- wavpack: new plugin
|
|
- aac: stream support added
|
|
- mod: disabled by default due to critical bugs in all libmikmod versions
|
|
* commands:
|
|
- "addid" takes optional second argument to specify position
|
|
- "idle" notifies the client when a notable change occurs
|
|
* Zeroconf support using Bonjour
|
|
* New zeroconf_enabled option so that Zeroconf support can be disabled
|
|
* Stop the player/decode processes when not playing to allow the CPU to sleep
|
|
* Fix a bug where closing an ALSA dmix device could cause MPD to hang
|
|
* Support for reading ReplayGain from LAME tags on MP3s
|
|
* MPD is now threaded, which greatly improves performance and stability
|
|
* memory usage reduced by merging duplicate tags in the database
|
|
* support connecting via unix domain socket
|
|
* allow authenticated local users to add any local file to the playlist
|
|
* 24 bit audio support
|
|
* optimized PCM conversions and dithering
|
|
* much code has been replaced by using GLib
|
|
* the HTTP client has been replaced with libcurl
|
|
* symbolic links in the music directory can be disabled; the default
|
|
is to ignore symlinks pointing outside the music directory
|
|
|
|
ver 0.13.0 (2007/5/28)
|
|
* New JACK audio output
|
|
* Support for "file" as an alternative to "filename" in search, find, and list
|
|
* FLAC 1.1.3 API support
|
|
* New playlistadd command for adding to stored playlists
|
|
* New playlistclear command for clearing stored playlists
|
|
* Fix a bug where "find any" and "list <type> any" wouldn't return any results
|
|
* Make "list any" return an error instead of no results and an OK
|
|
* New gapless_mp3_playback option to disable gapless MP3 playback
|
|
* Support for seeking HTTP streams
|
|
* Zeroconf support using Avahi
|
|
* libsamplerate support for high quality audio resampling
|
|
* ID3v2 "Original Artist/Performer" tag support
|
|
* New playlistsearch command for searching the playlist (similar to "search")
|
|
* New playlistfind command for finding songs in the playlist (similar to "find")
|
|
* libmikmod 3.2.0 beta support
|
|
* New tagtypes command for retrieving a list of available tag types
|
|
* Fix a bug where no ACK was returned if loading a playlist failed
|
|
* Fix a bug where db_update in stats would be 0 after initial database creation
|
|
* New count command for getting stats on found songs (similar to "find")
|
|
* New playlistmove command for moving songs in stored playlists
|
|
* New playlistdelete command for deleting songs from stored playlists
|
|
* New rename command for renaming stored playlists
|
|
* Increased default buffer_before_play from 0% to 10% to prevent skipping
|
|
* Lots of bug fixes, cleaned up code, and performance improvements
|
|
|
|
ver 0.12.2 (2007/3/20)
|
|
* Fix a bug where clients could cause MPD to segfault
|
|
|
|
ver 0.12.1 (2006/10/10)
|
|
* Fix segfault when scanning an MP3 that has a Xing tag with 0 frames
|
|
* Fix segfault when there's no audio output specified and one can't be detected
|
|
* Fix handling of escaping in quotes
|
|
* Allow a quality of -1 to be specified for shout outputs
|
|
* A few minor cleanups
|
|
|
|
ver 0.12.0 (2006/9/22)
|
|
* New audio output code which supports:
|
|
* A plugin-like architecture
|
|
* Non-libao ("native") outputs:
|
|
* ALSA
|
|
* OSS
|
|
* OS X
|
|
* Media MVP
|
|
* PulseAudio
|
|
* Shout (Icecast or Shoutcast)
|
|
* Playing through multiple outputs at once
|
|
* Enabling/disabling outputs while MPD is running
|
|
* Saving output state (enabled/disabled) to the state_file
|
|
* OggFLAC support
|
|
* Musepack support
|
|
* Gapless MP3 playback
|
|
* MP3 ReplayGain support (using ID3v2 tags only)
|
|
* Support for MP2 files if MP3 support is enabled
|
|
* Composer, Performer, Comment, and Disc metadata support
|
|
* New outputs command for listing available audio outputs
|
|
* New enableoutput and disableoutput commands for enabling/disabling outputs
|
|
* New plchangesposid command for a stripped down version of plchanges
|
|
* New addid command for adding to the playlist and returning a song ID
|
|
* New commands and notcommands commands for checking available commands
|
|
* Can now specify any supported metadata type or "any" in search, find, and list
|
|
* New volume_normalization parameter for enabling Audio Compress normalization
|
|
* New metadata_to_use parameter for choosing supported metadata types
|
|
* New pid_file parameter for saving the MPD process ID to the specified file
|
|
* The db_file parameter is now required
|
|
* The port parameter is now optional (defaults to 6600)
|
|
* Can specify bind_to_address multiple times
|
|
* New --kill argument for killing MPD if pid_file is specified
|
|
* Removed --update-db argument (use the update function in your client instead)
|
|
* New mpdconf.example
|
|
* New mpd.conf man page
|
|
* Removed bundled libmad and libid3tag
|
|
* Lots of bug fixes, cleaned up code, and performance improvements
|
|
|
|
ver 0.11.5 (2004/11/1)
|
|
1) New id3v1_encoding config option to configure the id3v1 tag encoding (patch
|
|
from dottedmag)
|
|
2) Strip '\r' from m3u playlists (thank you windows)
|
|
3) Use random() instead of rand() for playlist randomizing
|
|
4) Fix a bug trying skipping some commented lines in m3u playlist files
|
|
5) Fix a bug when fetching metadata from streams that may cause certain
|
|
weirdnesses
|
|
6) Fix a bug where replaygain preamp was used on files w/o replaygain tags
|
|
7) Fix a busy loop when trying to prebuffer a nonexistant or missing stream
|
|
8) Fix a bug in forgetting to remove leading ' ' in content-type for http
|
|
streams
|
|
9) Check for ice-name in http headers
|
|
10) Be sure the strip all '\n' chars in tags
|
|
11) Set $HOME env variable when setuid'ing, this should fix the /root/.mcop
|
|
errors triggered by arts/libao
|
|
|
|
ver 0.11.4 (2004/7/26)
|
|
1) Fixed a segfault when decoding mp3's with corrupt id3v2 tags
|
|
2) Fixed a memory leak when encountering id3v2 tags in mp3 decoder
|
|
|
|
ver 0.11.3 (2004/7/21)
|
|
1) Add support for http authentication for streams
|
|
2) Added replaygain pre-amp support
|
|
3) Better error handling for fread() in inputStream_file
|
|
4) Fixed a bug so that when a freeAllInterfaces is called, it sets
|
|
max_interface_connections to 0. This prevents potential segfaults and other
|
|
nastiness for forked processes, like the player and update-er (do to
|
|
interfacePrintWithFD()).
|
|
5) Allow blockingWrite() to handle errors more gracefully (for example, if the
|
|
disc is full, and thus the write() fails or can't be completed, we just skip
|
|
this write() and continue, instead of getting stuck in an infinite loop until
|
|
the write() becomes successful)
|
|
6) Updated mpdconf.example from sbh/avuton
|
|
7) If "user" is specified, then convert ~ in paths to the user's home path
|
|
specified by "user" config paramter (not the actual current user running mpd).
|
|
|
|
ver 0.11.2 (2004/7/5)
|
|
1) Work around in computing total time for mp3's whose first valid mpeg frame is
|
|
not layer III
|
|
2) Fix mp3 and mp4 decoders when seeking past the end of the file
|
|
3) Fix replaygain for flac and vorbis
|
|
4) Fix memory leaks in flac decoder (from normalperson)
|
|
5) Fix Several other bugs in playlist.c and directory.c (from normalperson)
|
|
|
|
ver 0.11.1 (2004/6/24)
|
|
1) Fix a bug that caused "popping" at the beginning of mp3's
|
|
2) Fix playlistid command
|
|
3) Fix move commands so they don't mess up the song id's
|
|
4) Added support for HTTP Proxy
|
|
5) Detect and skip recursive links in the music directory
|
|
6) Fix addPathToDB() so updating on a specific path doesn't exist correctly adds
|
|
the parent directories to the DB
|
|
|
|
ver 0.11.0 (2004/6/18)
|
|
1) Support for playing mp3 and Ogg Vorbis streams
|
|
2) Non-blocking Update
|
|
3) Replaygain support for Ogg Vorbis and FLAC (by Eric Moore aka AliasMrJones)
|
|
4) audio_output_format option that allows for all audio output to be converted
|
|
to a format compatible with any sound card
|
|
5) Own routines for to always support UTF-8 <-> ISO-8859-1 conversion
|
|
6) Added "Id" and "Pos" metadata for songs in playlist
|
|
7) Added commands: plchanges, currentsong, playid, seekid, playlistid, moveid,
|
|
swapid, deleteid
|
|
8) UTF-8 validation of all tags
|
|
9) Update specific files/directories (for fast, incremental updating)
|
|
10) Added ACK error codes
|
|
11) Mod file support
|
|
12) Added command_list_ok_begin
|
|
13) Play after stop resumes from last position in the playlist
|
|
14) Play while pause resumes playback
|
|
15) Better signal handling by mackstann
|
|
16) Cleanup decoder interface (now called InputPlugins)
|
|
17) --create-db no long starts the daemon
|
|
18) --no-daemon outputs to log files
|
|
19) --stdout sends output to stdout/stderr
|
|
20) Default port is now 6600
|
|
21) Lots of other cleanups and Bugfixes
|
|
|
|
ver 0.10.4 (2004/5/26)
|
|
1) Fix configure problems on OpenBSD with langinfo and iconv
|
|
2) Fix an infinte loop when writing to an interface and it has expired
|
|
3) Fix a segfault in decoding flac's
|
|
4) Ingore CRC stuff in mp3's since some encoders did not compute the CRC
|
|
correctly
|
|
5) Fix a segfault in processing faulty mp4 metadata
|
|
|
|
ver 0.10.3 (2004/4/2)
|
|
1) Fix a segfault when a blanck line is sent from a client
|
|
2) Fix for loading playlists on platforms where char is unsigned
|
|
3) When pausing, release audio device after we say pause is successful (this
|
|
makes pause appear to not lag)
|
|
4) When returning errors for unknown types by player, be sure to copy the
|
|
filename
|
|
5) add --disable-alsa for disabling alsa mixer support
|
|
6) Use select() for a portable usleep()
|
|
7) For alsa mixer, default to "Master' element, not first element
|
|
|
|
ver 0.10.2 (2004/3/25)
|
|
1) Add suport for AAC
|
|
2) Substitute '\n' with ' ' in tag info
|
|
3) Remove empty directories from db
|
|
4) Resume from current position in song when using state file
|
|
5) Pause now closes the music device, and reopens it on resuming
|
|
6) Fix unnecessary big endian byte swapping
|
|
7) If locale is "C" or "POSIX", then use ISO-8859-1 as the fs charset
|
|
8) Fix a bug where alsa mixer wasn't detecting volume changes
|
|
9) For alsa and software mixer, show volume to be the same as it was set (even
|
|
if its not the exact volume)
|
|
10) Report bitrate for wave files
|
|
11) Compute song length of CBR mp3's more accurately
|
|
|
|
ver 0.10.1 (2004/3/7)
|
|
1) Check to see if we need to add "-lm" when linking mpd
|
|
2) Fix issues with skipping bad frames in an mp3 (this way we get the correct
|
|
samplerate and such)
|
|
3) Fix crossfading bug with ogg's
|
|
4) Updated libmad and libid3tag included w/ source to 0.15.1b
|
|
|
|
ver 0.10.0 (2004/3/3)
|
|
1) Use UTF-8 for all client communications
|
|
2) Crossfading support
|
|
3) Password Authentication (all in plaintext)
|
|
4) Software mixer
|
|
5) Buffer Size is configurable
|
|
6) Reduced Memory consumption (use directory tree for search and find)
|
|
7) Bitrate support for Flac
|
|
8) setvol command (deprecates volume command)
|
|
9) add command takes directories
|
|
10) Path's in config file now work with ~
|
|
11) Add samplerate,bits, and channels to status
|
|
12) Reenable playTime in stats display
|
|
13) Fix a segfault when doing: add ""
|
|
14) Fix a segfault with flac vorbis comments simply being "="
|
|
15) Fix a segfault/bug in queueNextSong with repeat+random
|
|
16) Fix a bug, where one process may segfault, and cause more processes to spawn
|
|
w/o killing ones that lost their parent.
|
|
17) Fix a bug when the OSS device was unable to fetch the current volume,
|
|
it would close the device (when it maybe previously closed by the exact same
|
|
code)
|
|
18) command.c cleanup by mackstann
|
|
19) directory.c and command.c cleanup by tw-nym
|
|
|
|
ver 0.9.4 (2004/1/21)
|
|
1) Fix a bug where updated tag info wasn't being detected
|
|
2) Set the default audio write size to 1024 bytes (should decrease cpu load a
|
|
bit on some machines).
|
|
3) Make audio write size configurable via "audio_write_size" config option
|
|
4) Tweak output buffer size for connections by detecting the kernel output
|
|
buffer size.
|
|
|
|
ver 0.9.3 (2003/10/31)
|
|
1) Store total time/length of songs in db and display in *info commands
|
|
2) Display instantaneous bitrate in status command
|
|
3) Add Wave Support using libaudiofile (Patch from normalperson)
|
|
4) Command code cleanup (Patch from tw-nym)
|
|
5) Optimize listing of playlists (10-100x faster)
|
|
6) Optimize interface output (write in 4kB chunks instead of on every '\n')
|
|
7) Fix bug that prevented rm command from working
|
|
8) Fix bug where deleting current song skips the next song
|
|
9) Use iconv to convert vorbis comments from UTF-8 to Latin1
|
|
|
|
ver 0.9.2 (2003/10/6)
|
|
1) Fix FreeBSD Compilation Problems
|
|
2) Fix bug in move command
|
|
3) Add mixer_control options to configure which mixer control/device mpd
|
|
controls
|
|
4) Randomize on play -1
|
|
5) Fix a bug in toggling repeat off and at the end of the playlist
|
|
|
|
ver 0.9.1 (2003/9/30)
|
|
1) Fix a statement in the middle of declarations in listen.c, causes error for
|
|
gcc 2.7
|
|
|
|
ver 0.9.0 (2003/9/30)
|
|
1) Random play mode
|
|
2) Alsa Mixer Support
|
|
3) Save and Restore "state"
|
|
4) Default config file locations (.mpdconf and /etc/mpd.conf)
|
|
5) Make db file locations configurable
|
|
6) Move songs around in the playlist
|
|
7) Gapless playback
|
|
8) Use Xing tags for mp3's
|
|
9) Remove stop_on_error
|
|
10) Seeking support
|
|
11) Playlists can be loaded and deleted from subdirectories
|
|
12) Complete rewrite of player layer (fork()'s only once, opens and closes
|
|
audio device as needed).
|
|
13) Eliminate use and dependence of SIGIO
|
|
14) IPv6 support
|
|
15) Solaris compilations fixes
|
|
16) Support for different log levels
|
|
17) Timestamps for log entries
|
|
18) "user" config parameter for setuid (patch from Nagilum)
|
|
19) Other misc features and bug fixes
|
|
|
|
ver 0.8.7 (2003/9/3)
|
|
1) Fix a memory leak. When closing a interface, was called close() on the fd
|
|
instead of calling fclose() on the fp that was opened with fdopen().
|
|
|
|
ver 0.8.6 (2003/8/25)
|
|
1) Fix a memory leak when a buffered existed, and a connection was unexpectedly
|
|
closed, and i wasn't free'ing the buffer apropriatly.
|
|
|
|
ver 0.8.5 (2003/8/17)
|
|
1) Fix a bug where an extra end of line is returned when attempting to play a
|
|
non existing file. This causes parsing errors for clients.
|
|
|
|
ver 0.8.4 (2003/8/13)
|
|
1) Fix a bug where garbage is returned with errors in "list" command
|
|
|
|
ver 0.8.3 (2003/8/12)
|
|
1) Fix a compilation error on older linux systems
|
|
2) Fix a bug in searching by title
|
|
3) Add "list" command
|
|
4) Add config options for specifying libao driver/plugin and options
|
|
5) Add config option to specify which address to bind to
|
|
6) Add support for loading and saving absolute pathnames in saved playlists
|
|
7) Playlist no longer creates duplicate entries for song data (more me
|
|
efficient)
|
|
8) Songs deleted from the db are now removed for the playlist as well
|
|
|
|
ver 0.8.2 (2003/7/22)
|
|
1) Increased the connection que for listen() from 0 to 5
|
|
2) Cleanup configure makefiles so that mpd uses MPD_LIBS and MPD_CFLAGS
|
|
rather than LIBS and CFLAGS
|
|
3) Put a cap on the number of commands per command list
|
|
4) Put a cap on the maximum number of buffered output lines
|
|
5) Get rid of TIME_WAIT/EADDRINUSE socket problem
|
|
6) Use asynchronious IO (i.e. trigger SIGIO instead so we can sleep in
|
|
select() calls longer)
|
|
|
|
ver 0.8.1 (2003/7/11)
|
|
1) FreeBSD fixes
|
|
2) Fix for rare segfault when updating
|
|
3) Fix bug where client was being hungup on when done playing current song
|
|
4) Fix bug when playing flac's where it incorrectly reports an error
|
|
5) Make stop playlist on error configurable
|
|
6) Configure checks for installed libmad and libid3tag and uses those if found
|
|
7) Use buffer->finished in *_decode's instead of depending on catching signals
|
|
|
|
ver 0.8.0 (2003/7/6)
|
|
1) Flac support
|
|
2) Make playlist max length configurable
|
|
3) New backward compatible status (backward compatible for 0.8.0 on)
|
|
4) listall command now can take a directory as an argument
|
|
5) Buffer rewritten to use shared memory instead of sockets
|
|
6) Playlist adding done using db
|
|
7) Add sort to list, and use binary search for finding
|
|
8) New "stats" command
|
|
9) Command list (for faster adding of large batches of files)
|
|
10) Add buffered chunks before play
|
|
11) Useful error reporting to clients (part of status command)
|
|
12) Use libid3tag for reading id3 tags (more stable)
|
|
13) Non-blocking output to clients
|
|
14) Fix bug when removing items from directory
|
|
15) Fix bug when playing mono mp3's
|
|
16) Fix bug when attempting to delete files when using samba
|
|
17) Lots of other bug fixes I can't remember
|
|
|
|
ver 0.7.0 (2003/6/20)
|
|
1) use mad instead of mpg123 for mp3 decoding
|
|
2) volume support
|
|
3) repeate playlist support
|
|
4) use autoconf/automake (i.e. "configure")
|
|
5) configurable max connections
|
|
|
|
ver 0.6.2 (2003/6/11)
|
|
1) Buffer support for ogg
|
|
2) new config file options: "connection_timeout" and "mpg123_ignore_junk"
|
|
3) new commands: "next", "previous", and "listall"
|
|
Thanks to Niklas Hofer for "next" and "previous" patches!
|
|
4) Search by filename
|
|
5) bug fix for pause when playing mp3's
|
|
|
|
ver 0.6.1 (2003/5/29)
|
|
1) Add conf file support
|
|
2) Fix a bug when doing mp3stop (do wait3(NULL,WNOHANG|WUNTRACED,NULL))
|
|
3) Fix a bug when fork'ing, fflush file buffers before forking so the
|
|
child doesn't print the same stuff in the buffer.
|
|
|
|
ver 0.6.0 (2003/5/25)
|
|
1) Add ogg vorbis support
|
|
2) Fix two bugs relating to tables, one for search by title, and one where we
|
|
freed the tables before directories, causing a segfault
|
|
3) The info command has been removed.
|
|
|
|
ver 0.5.0-0.5.2
|
|
Initial release(s). Support for MP3 via mpg123
|