aboutsummaryrefslogtreecommitdiff
path: root/NEWS
Commit message (Collapse)AuthorAge
* text_file: allocate line buffers dynamicallyMax Kellermann2009-11-01
| | | | | | | Use a single GString buffer object in all functions loading the database. Enlarge it automatically for long lines. This eliminates the maximum line length for tag values. There is still an upper limit of 512 kB to prevent denial of service, but that's reasonable I guess.
* Merge branch 'v0.15.x'Max Kellermann2009-10-31
|\ | | | | | | | | | | | | | | Conflicts: NEWS configure.ac src/decoder/ffmpeg_plugin.c src/update.c
| * decoder/ffmpeg: convert metadataMax Kellermann2009-10-28
| | | | | | | | | | | | Convert the metadata with the libavformat function av_metadata_conv(). This ensures that canonical tag names are provided by libavformat, and we can remove the "artist" vs "author" workaround.
| * update: delete ignored symlinks from databaseMax Kellermann2009-10-27
| | | | | | | | | | | | When you disable the "follow_outside_symlinks" or the "follow_inside_symlinks" setting, the next update should remove the now-ignored files from the database.
| * output_thread: check again if output is open on PAUSEMax Kellermann2009-10-21
| | | | | | | | | | Basically the same as the 0.15.5 patch "check again if output is open on CANCEL". Same race condition, same fix.
| * Modify version string to post-release version 0.15.6~gitAvuton Olrich2009-10-18
| |
* | songvec: sort songs by album name first, then disc/track numberMax Kellermann2009-10-31
| | | | | | | | | | When the songs of two albums are in the same directory, all songs of an album should be right next to each others.
* | output: consistently lock audio output objectsMax Kellermann2009-10-29
| | | | | | | | | | Always keep the audio_output object locked within the output thread, unless a plugin method is called. This fixes several race conditions.
* | output/alsa: don't recover on CANCELMax Kellermann2009-10-29
| | | | | | | | | | | | The recovery is for nothing if we get CLOSE afterwards. Let's not recover in the cancel() method, and let the next play() call sort it out.
* | playlist: new ASX playlist pluginMax Kellermann2009-10-21
| | | | | | | | Based on the XSPF playlist plugin.
* | audio_format: wildcards allowed in audio_format configurationMax Kellermann2009-10-21
| | | | | | | | | | | | An asterisk means that this attribute should not be enforced, and stays whatever it used to be. This way, some configuration values work like masks.
* | output/jack: connect to server on MPD startupMax Kellermann2009-10-21
| | | | | | | | | | .. and keep up the JACK connection while MPD runs. Allocate the ring buffers on the first open, and free them at MPD exit.
* | output/jack: implement the "pause" methodMax Kellermann2009-10-21
| | | | | | | | Don't disconnect from JACK during pause.
* | pulse: code rewrite using the asynchronous libpulse APIMax Kellermann2009-10-21
| | | | | | | | | | | | | | | | This is a complete rewrite of the PulseAudio output plugin. It uses the asynchronous API, which gives us more control over everything. Additionally, it connects to the PulseAudio server on startup, and keeps this connection up while MPD runs. During pause, instead of closing the stream, it enables "cork".
* | output/pulse: renamed context to "Music Player Daemon"Max Kellermann2009-10-20
| | | | | | | | This looks nicer in the PulseAudio manager than just "mpd".
* | pulse: announce "media.role=music"Max Kellermann2009-10-20
| | | | | | | | This allows PulseAudio to do some advanced tweaks.
* | Merged release 0.15.5 from branch 'v0.15.x'Max Kellermann2009-10-18
|\| | | | | | | | | | | | | | | Conflicts: NEWS configure.ac src/decoder/flac_plugin.c src/update.c
| * mpd version 0.15.5Avuton Olrich2009-10-18
| |
| * decoder/flac: fixed two memory leaks in the CUE tag loaderMax Kellermann2009-10-16
| | | | | | | | | | | | Don't initialize "vc" and "cs" with FLAC__metadata_object_new(); that value is overwritten by FLAC__metadata_get_tags() and FLAC__metadata_get_cuesheet().
| * update: fixed memory leak during container scanMax Kellermann2009-10-16
| | | | | | | | The return value of map_directory_child_fs() must be freed.
| * output_thread: check again if output is open on CANCELMax Kellermann2009-10-16
| | | | | | | | | | | | | | | | When the player thread unpauses, it sends CANCEL to the output thread, after having checked that the output is still open. Problem is when the output thread closes the device before it can process the CANCEL command - race condition. This patch adds another "open" check inside the output thread.
* | command: omitting the range end is possibleMax Kellermann2009-10-18
| | | | | | | | | | When the range end is missing, then the maximum possible value is assumed.
* | command: allow changing replay gain mode on-the-flyMax Kellermann2009-10-17
| | | | | | | | | | The new command "replay_gain_mode" allows the user to switch the replay gain mode on-the-fly. No more mpd.conf editing.
* | update: obey .mpdignore filesMax Kellermann2009-10-16
| |
* | Add PLS ParserQball Cow2009-10-15
| |
* | input/lastfm: removed obsolete last.fm input pluginMax Kellermann2009-10-13
| | | | | | | | | | | | This has been replaced by the last.fm playlist plugin. The input plugin has never worked well, and was just a playground to experiment with the last.fm radio protocol.
* | command: "load" supports remote playlists (m3u, xspf, lastfm://)Max Kellermann2009-10-13
| | | | | | | | | | | | This patch integrates the playlist plugin API to the MPD core. We'll be able to do much more in the future with that API, that's just the beginning.
* | Merge branch 'v0.15.x'Max Kellermann2009-10-13
|\|
| * input/curl: fixed endless loop during bufferingMax Kellermann2009-10-13
| | | | | | | | | | | | | | When the connection is lost while buffering, the CURL input plugin may enter an endless loop, because it does not check the EOF condition. This patch makes fill_buffer() return success only if there's at least one buffer, which is enough of a check.x
* | configure.ac: require GLib 2.16Max Kellermann2009-10-13
| | | | | | | | | | | | | | Accidently, MPD has been using several GLib 2.16 functions for a while, and nobody noticed yet. To simplify the code base, let's bump the minimum GLib version for MPD to 2.16. That version is old enough, and it's reasonable to expect users to have it.
* | Merge branch 'v0.15.x'Max Kellermann2009-10-11
|\| | | | | | | | | | | | | Conflicts: NEWS configure.ac
| * riff, aiff: fixed "limited range" gcc warningMax Kellermann2009-10-11
| | | | | | | | | | | | On 32 bit systems with large file support enabled (i.e. "sizeof(off_t) > sizeof(size_t)") gcc emits a warning because a size_t cast to off_t can never become negative.
| * decoder_thread: change the fallback decoder name to "mad"Max Kellermann2009-10-11
| | | | | | | | | | | | When there is no Content-Type response header, try the "mad" decoder plugin. It uesd to be named "mp3", and we forgot to change the fallback name in decoder_thread.c.
| * input/curl: don't abort if a packet has only metadataMax Kellermann2009-10-11
| | | | | | | | | | | | | | | | | | When a received chunk of data has only icy-metadata, there was no usable data left for input_curl_read() to return, and thus it returned 0 bytes. "0" however is a special value for "end of file" or "error". This patch makes input_curl_read() read more data from the socket, until the read request can be fulfilled (or until there's really EOF).
| * Modify version string to post-release version 0.15.5~gitAvuton Olrich2009-10-03
| |
* | doc/protocol.xml: "addid" with negative position is deprecatedMax Kellermann2009-10-09
| |
* | playlist_control: "previous" really plays the previous songMax Kellermann2009-10-08
| | | | | | | | | | | | | | No more CD player emulation. The current behaviour of "previous" is difficult for a client to predict, because it does not definitely know the current position within the song. If a client wants to restart the current song, it can always send "playid".
* | configure.ac: build with large file support by defaultAlam Arias2009-10-08
| | | | | | | | This fixes mpg123 support.
* | state_file: save only if something has changedMax Kellermann2009-10-08
| | | | | | | | | | | | If nothing has changed since the last save, don't save the state file. Saving will spin up the hard drive, which is undesirable on hosts where MPD is idling in background.
* | Merged release 0.15.4 from branch 'v0.15.x'Max Kellermann2009-10-03
|\| | | | | | | | | | | Conflicts: NEWS configure.ac
| * mpd version 0.15.4Avuton Olrich2009-10-03
| |
| * decoder/ffmpeg: use the "artist" tag if "author" is not presentMax Kellermann2009-09-30
| | | | | | | | | | | | | | Usually, we read our "artist" tag from ffmpeg's "author" tag. In some cases however (e.g. APE), this tag is named "artist". This patch implements a fallback: if no "author" is found, MPD tries to use "artist".
| * decoder/faad: skip assertion failure on large ID3 tagsMax Kellermann2009-09-30
| | | | | | | | | | | | When the ID3 tag in an AAC file is larger than the current buffer, the function decoder_buffer_consume() aborts. By using the new function decoder_buffer_skip() instead, we can safely skip the ID3 tag.
| * output/osx: fix the OS X 10.6 buildPatrik Weiskircher2009-09-20
| | | | | | | | Include CoreServices/CoreServices.h.
* | command: range support for "delete"Max Kellermann2009-09-30
| |
* | automatically update the database with Linux inotifyMax Kellermann2009-09-25
| | | | | | | | | | | | This patch implements a light-weight inotify library, and watches all directories below the music directory. It updates all directories where files changed after a delay of 5 seconds.
* | cmdline: removed options --create-db and --no-create-dbMax Kellermann2009-09-20
| | | | | | | | | | Both options are deprecated, and should not be used anymore. Many users get confused by their presence.
* | output/osx: fix the OS X 10.6 buildPatrik Weiskircher2009-09-20
| | | | | | | | Include CoreServices/CoreServices.h.
* | Merge branch 'v0.15.x'Max Kellermann2009-09-10
|\| | | | | | | | | | | | | Conflicts: NEWS configure.ac doc/mpdconf.example
| * decoder/vorbis: revert "faster tag scanning with ov_test_callback()"Max Kellermann2009-09-10
| | | | | | | | | | This patch made ov_time_total() unusable, and MPD did not know the duration of songs.