- 14 Jul, 2009 6 commits
-
-
Max Kellermann authored
This encoder plugin is a replacement for the LAME encoder plugin for those who prefer a "free" (non-patent encumbered) encoder library. Most of the plugin source code is copied from the LAME encoder plugin, since the LAME and TwoLAME APIs are nearly the same.
-
Max Kellermann authored
Fail when a feature is enabled, but the library is not found.
-
Max Kellermann authored
Don't append these to MPD_CFLAGS and MPD_LIBS.
-
Max Kellermann authored
-
Max Kellermann authored
Those were only wrappers for playlist_state_{save,restore}(). Since sf_callbacks has been removed, we can call the latter functions directly.
-
Max Kellermann authored
There are very few callbacks, and they are not meant to be pluggable. Let's eliminate the array and call the load/save functions manually.
-
- 09 Jul, 2009 2 commits
-
-
Serge Ziryukin authored
External cue sheet file for "file.flac" should be named as "file.flac.cue".
-
Bart Nagel authored
-
- 07 Jul, 2009 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
According to the ID3 2.4 documentation, "TOPE" is "Original artist/performer", not "performer". Removed "TOPE" support. Instead, map TPE3 ("Conductor/performer refinement") and TPE4 ("Interpreted, remixed, or otherwise modified by") to "performer".
-
Max Kellermann authored
The tag_id3.c library supports both the documented "TSO2" tag, and the inofficial TXXX/ALBUMARTISTSORT. The Vorbis/FLAC decoder automatically supports the new tag, without further change.
-
- 06 Jul, 2009 21 commits
-
-
Max Kellermann authored
If the encoder plugin API is disabled at compile time, don't compile test/run_encoder.c.
-
Max Kellermann authored
The variables "success" and "error" are only used if SQLite support is enabled.
-
Sébastien Houzé authored
Very few lines to log a song URI when it has been entirely played. Then mpd logs can be parsed to do statistics.
-
Max Kellermann authored
Do all the software volume stuff inside each output thread, not in the player thread. This allows one software mixer per output device, and also allows the user to configure the mixer type (hardware or software) for each audio output. This moves the global "mixer_type" setting into the "audio_output" section, deprecating the "mixer_enabled" flag.
-
Max Kellermann authored
The special-purpose function is used for saving/restore the software volume control to the state file.
-
Max Kellermann authored
This mixer plugin may be used instead of the traditional global software mixer. It integrates with the "volume" filter plugin, and can control the software volume of an audio output which has no hardware mixer.
-
Max Kellermann authored
Converted the range checks in volume_level_change() to assertions. Changed all volume types to "unsigned", expect for those which must be able to indicate error (-1).
-
Max Kellermann authored
Since the "volume" command has been removed, nobody uses relative volumes anymore.
-
Max Kellermann authored
This command has been deprecated more than 5 years ago (0.10.0). Its implementation is a kludge, let's remove it now.
-
Max Kellermann authored
The "convert" filter must be the last filter in the chain. Ensure that by doing its initialization at the very end of audio_output_init().
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
When song->mtime was not initialized properly, it was revealed that strftime() might crash when gmtime_r() returns NULL due to an invalid time_t input value.
-
Max Kellermann authored
-
Max Kellermann authored
This patch adds initial filter support for audio outputs. Each audio output gets a "filter" attribute, which is used by ao_play_chunk(). The PCM conversion is now performed by convert_filter_plugin. audio_output.convert_state has been removed.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
REOPEN is called when the input audio format changes. The output thread may be reconfigure the PCM converter.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
A recent change to the boolean parser introduced a bug: instead of using the block_param's value with get_bool(), we passed param->value (which is always NULL in this case).
-
- 05 Jul, 2009 8 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
Added public methods to get and set the current volume.
-
Max Kellermann authored
Some clients have visual feedback for "database update is running". Using the "database" idle event is unreliable, because it is only emitted when the database was actually modified. This patch adds the "update" event, which is emitted when the update is started, and again when the update is finished, disregarding whether it has been modified.
-
Max Kellermann authored
Added the response line "Last-Modified", which sends the modification time in ISO 8601. The same was already implemented for playlists.
-
Max Kellermann authored
We're going to extend the protocol now. Update the protocol version.
-
Max Kellermann authored
-
Max Kellermann authored
Renamed functions.
-
Max Kellermann authored
-