aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* queue_print: queue_print_song_info() is not necessry for export.Avuton Olrich2009-03-30
|
* queue: queue_generate_id() is not necessary for export.Avuton Olrich2009-03-30
|
* player_control: remove unused function playerCurrentDecodeSong().Avuton Olrich2009-03-30
|
* conf: config_param_free() not necessary for export.Avuton Olrich2009-03-30
|
* command: command_error() is not necessary for export.Avuton Olrich2009-03-30
|
* client: client_write() does not necessary for export.Avuton Olrich2009-03-30
|
* implemented the 'consume' modeRomain Bignon2009-03-30
| | | | Consume mode removes each song played
* configure.ac: fix error on disabled featuresMax Kellermann2009-03-29
| | | | | In the MPD_AUTO_DISABLED() function, I forgot to check for "explicitly disabled".
* exconf: update mixer documentation.Avuton Olrich2009-03-29
|
* exconf: The usual defaults updates.Avuton Olrich2009-03-29
| | | | | Ths usual defaults updates, this includes clarifications, cleanups, updates and fixes.
* exconf: Comment formerly required files.Avuton Olrich2009-03-29
|
* exconf: Merge required files with optional.Avuton Olrich2009-03-29
|
* configure.ac: use more MPD_AUTO_PKG()Max Kellermann2009-03-28
|
* configure.ac: added M4 function MPD_AUTO_PKG() for ALSAMax Kellermann2009-03-28
| | | | | MPD_AUTO_PKG() runs pkg-config and then forwards control to MPD_AUTO_RESULT(). This is a commonly used short cut.
* Makefile.am: use PULSE_CFLAGS and PULSE_LIBSMax Kellermann2009-03-28
| | | | Don't add those to MPD_CFLAGS and MPD_LIBS.
* Makefile.am: use JACK_CFLAGS and JACK_LIBSMax Kellermann2009-03-28
| | | | Don't add those to MPD_CFLAGS and MPD_LIBS.
* Makefile.am: use SAMPLERATE_CFLAGS and SAMPLERATE_LIBSMax Kellermann2009-03-28
| | | | Don't add those to MPD_CFLAGS and MPD_LIBS.
* configure.ac: removed debug lineMax Kellermann2009-03-28
|
* configure.ac: fail when ALSA is enabled but not foundMax Kellermann2009-03-28
| | | | | | | | | This patch adds a small autoconf M4 library which deals with auto-detected features. The default for those features is "auto", which is like the old default: if the library is present on the system, enable the feature, disable otherwise. If the user explicitly enables that feature (--enable-alsa), and the library is not present, configure must fail, because it cannot fulfill the request.
* Bugfix for time/offset in flac pluginJochen Keil2009-03-28
| | | | | | Previous cast to float didn't have any effect because one value is uint and the other is a floating type but the number itself is even.. This caused some tracks to end before they were really at an end.
* mixer: assert that the new volume value is validMax Kellermann2009-03-27
| | | | | Added an assertion in mixer_set_volume(). Removed the range checks from the ALSA and OSS plugins.
* mpcdec: changed plugin name to "mpcdec"Max Kellermann2009-03-27
| | | | The "mpcdec" plugin is based on the libmpcdec library.
* mpcdec: support the new libmpcdec SV8 APIMax Kellermann2009-03-27
|
* mpcdec: no CamelCaseMax Kellermann2009-03-27
| | | | Renamed variables and functions.
* tag_pool: use memcmp() instead of strcmp() for non-terminated stringMax Kellermann2009-03-27
| | | | | | The strings passed to tag_pool_get_item() are not null-terminated, and the caller passes the string length. Don't assume it is null-terminated anyway by using strcmp().
* tag_pool: use size_t for string lengthMax Kellermann2009-03-27
|
* configure.ac: require GLib 2.6Max Kellermann2009-03-27
| | | | | | We're using GLib macros which were introduced in GLib 2.6, like G_GNUC_MALLOC. Let's just drop support for GLib versions older than 2.6 instead of adding more complicated compatibility hacks.
* event_pipe can only be non-blocking if !WIN32Sean McNamara2009-03-27
|
* More debugging for Win32 ioctlsocket: complain if it's not a WinsockSean McNamara2009-03-27
| | | | socket, because there is no ioctl for non-sockets on Windows
* Add winsock2 headers for curl's use of select() on socketsSean McNamara2009-03-27
|
* Uniform getaddrinfo() on WIN32 or POSIX, because MinGW now supports itSean McNamara2009-03-27
|
* Winsock2 is needed on MinGW (or other pure Win32 toolchains) forSean McNamara2009-03-27
| | | | networking, select(), ntohl(), etc.
* sticker: move SQLite statements into an arrayMax Kellermann2009-03-27
| | | | Simplify initialization and finalization.
* pulse_mixer: protect the struct with a mutexMax Kellermann2009-03-27
| | | | | | There are numerous race conditions between the libpulse thread (pulse_mixer.c callbacks) and the rest of MPD. Protect the volatile attributes of the pulse_mixer struct with a mutex to fix that.
* pulse_mixer: return if mixer is offlineMax Kellermann2009-03-27
| | | | | Eliminate one indent level. Also remove several debug useless debug messages.
* pulse_mixer: removed superfluous G_GNUC_UNUSED attributesMax Kellermann2009-03-27
| | | | Those parameters are used after all.
* pulse_mixer: use local pa_cvolume variable for set_volume()Max Kellermann2009-03-27
| | | | | | Don't mess with pulse_mixer.volume for setting the volume. This variable should only be used to transfer the current volume from sink_input_vol() to pulse_mixer_get_volume().
* pulse_mixer: wait for get_volume() operation to completeMax Kellermann2009-03-27
| | | | | | | | | | The pa_context_get_sink_input_info() function is asynchronous, and after it returns, libpulse does not guarantee that the operation has completed yet; in fact, it is not likely. Explicitly wait for the operation to complete. The code for the new pulse_wait_for_operation() function was inspired by mplayer and xine code.
* mixer_control: don't lock the mutex twice in mixer_failed()Max Kellermann2009-03-27
| | | | | | The function mixer_failed() expects the mixer mutex to be already locked, yet it calls mixer_close(), which attempts to lock the mutex again, deadlocking itself.
* renamed smartstop to single and changed behaviorRomain Bignon2009-03-27
| | | | | When single mode is enabled, after current song it stops playback, or it replay same song if repeat mode is activated.
* implements the smartstop featureRomain Bignon2009-03-27
| | | | | | | | | The smartstop feature is a way to tell mpd to stop playing after current song. This patche provides: - 'state' command returns 'smartstop' state (1 or 0) - 'smartstop' can activate or not the smartstop state - when song is terminated, mpd stops playing and smartstop is set to 0
* pulse_mixer: adapted code styleMax Kellermann2009-03-27
| | | | Use the same code style as the rest of MPD.
* output_all: synchronize playback with player_control.notifyMax Kellermann2009-03-26
| | | | | | | | | This patch fixes a longer delay when moving around songs in the playlist. The main thread wants to enqueue a new "next" song into the player thread, but the player thread is waiting inside audio_output_all_wait() for the output threads. Use player_control.notify there, so audio_output_all_wait() gets woken up by the main thread, too.
* playlist_state: fix playback restore in random modeMax Kellermann2009-03-26
| | | | | | The functions playPlaylist() and seekSongInPlaylist() expect a song position, not a song order number. Don't convert the "current" variable with queue_position_to_order().
* queue/playlist/command: move rangeJeffrey Middleton2009-03-26
| | | | | | | | | | | The move command now accepts a range for the first argument, in the same form as other range commands, e.g. move 15:17 3. The first song in the range is placed at the destination position. Note that as with other range commands, the range is inclusive on the left only; this example would move only songs 15 and 16, not 17. [mk: fixed signed/unsigned warnings; use G_MAXUINT instead of UINT_MAX]
* doc: updated ranged playlist commandsJeffrey Middleton2009-03-26
| | | | | Clearly specified the format (song1:song2) for range argumentst, and added the range capability of the playlistinfo command.
* doc: Fixed moveid descriptionJeffrey Middleton2009-03-26
| | | | moveid uses an index, not a songid, for its second argument
* updated valgrind.suppressionsMax Kellermann2009-03-26
| | | | Added g_strerror() and dlopen() suppressions.
* pulse_mixer: removed superfluous initializationsMax Kellermann2009-03-26
| | | | | | Don't initialize attributes which are only used in an open mixer. As long as nobody accesses them, their values are uninitialized and undefined.
* pulse_mixer: allocate "volume" staticallyMax Kellermann2009-03-26
| | | | | | | The pm->volume attribute was allocated in pulse_mixer_init(), but is never freed. This leaks memory. Instead of adding the g_free() call to pulse_mixer_finish(), let's just make "volume" a static attribute of the pulse_mixer struct. That is easier to deal with.