Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | configure.ac: renamed --enable-mod to --enable-mikmod | Max Kellermann | 2009-04-01 | 1 | -1/+1 | |
| | ||||||
* | httpd: don't pass uninitialized page to httpd_client_check_queue() | Max Kellermann | 2009-04-01 | 1 | -1/+1 | |
| | | | | | The httpd_client_check_queue() callback function does not use its "user_data" argument. Don't pass any, and fix the gcc warning. | |||||
* | configure.ac: renamed --enable-oggvorbis to --enable-vorbis | Max Kellermann | 2009-04-01 | 1 | -1/+1 | |
| | ||||||
* | command: added command "sticker find" | Max Kellermann | 2009-04-01 | 1 | -0/+41 | |
| | | | | | This command allows clients to search for stickers with a specified name. | |||||
* | Move db_get_song into sub-handlers. (FReq 2112) | Eric Wollesen | 2009-04-01 | 1 | -9/+27 | |
| | | | | | | | | db_get_song was being called once for all sub-handlers, but with the addition of the find command, we don't have a URI coming in, so doing db_get_song once won't work anymore. [mk: fixed initialization order] | |||||
* | song_sticker: added song_sticker_find() | Max Kellermann | 2009-04-01 | 2 | -0/+76 | |
| | | | | This is a wrapper for sticker_find(), which looks up the song object. | |||||
* | sticker: added sticker_find() | Max Kellermann | 2009-04-01 | 2 | -0/+85 | |
| | | | | sticker_find() finds stickers with the specified name. | |||||
* | directory: added directory_lookup_song() | Max Kellermann | 2009-04-01 | 3 | -25/+41 | |
| | | | | Moved code from db_get_song(). | |||||
* | directory: renamed directory_get_directory() | Max Kellermann | 2009-04-01 | 3 | -6/+13 | |
| | | | | | Renamed directory_get_directory() to directory_lookup_directory(). Added API documentation. | |||||
* | sticker_print: new library for sending stickers to a client | Max Kellermann | 2009-04-01 | 3 | -10/+85 | |
| | ||||||
* | sticker: pass const sticker to sticker_foreach() | Max Kellermann | 2009-04-01 | 2 | -4/+4 | |
| | ||||||
* | client, event_pipe: explicitly ignore the write() result | Max Kellermann | 2009-04-01 | 2 | -2/+2 | |
| | | | | | | | | | | On both locations, the result of write() can be ignored safely. In event_pipe_emit_fast(), that can only be "EAGAIN", which means that the pipe buffer is full - no further notification required. In client_init(), that would be a fatal connection error, which would be caught by the next event. This patch fixes gcc warnings. | |||||
* | socket_util: fixed format warning | Max Kellermann | 2009-04-01 | 1 | -1/+1 | |
| | | | | | g_set_error() is a printf-like function, and expects a format string. Using the return value of gai_strerror() is unsafe. | |||||
* | flac: fixed "unused variable" warning without libcue | Max Kellermann | 2009-04-01 | 1 | -2/+2 | |
| | | | | Move the declaration of "i" into the "for" loop. | |||||
* | Tag subtracks according to "cuesheet" vorbis comment value | Jochen Keil | 2009-03-31 | 1 | -4/+32 | |
| | | | | | | | Cuesheets are often saved as vorbis comment flac files (CUESHEET=.. case doesn't matter). We can parse this now and use the information to tag the subtracks (from the embedded cuesheets). | |||||
* | track length is computed correctly now | Jochen Keil | 2009-03-31 | 1 | -2/+1 | |
| | ||||||
* | free previously allocated flac metadata object | Jochen Keil | 2009-03-31 | 1 | -0/+1 | |
| | ||||||
* | remove old commented code | Jochen Keil | 2009-03-31 | 1 | -8/+0 | |
| | ||||||
* | Build tags from information in cue sheets | Jochen Keil | 2009-03-31 | 2 | -0/+296 | |
| | | | | | | | | With these methods a tag struct can be created from the cdtext information in a cue sheet. The methods depend on a cue parsing library. Reading from strings (char*) as well as from a file (FILE*) is supported. | |||||
* | do not consider single mode with "next" command | Romain Bignon | 2009-03-31 | 1 | -0/+7 | |
| | | | | | | This is a little ugly, but as nextSongInPlaylist is both called when queued is update (in case playlist ended) and for user "next" command, there isn't any other (simple) solution | |||||
* | client: group static function declarations together. | Avuton Olrich | 2009-03-30 | 1 | -6/+5 | |
| | ||||||
* | queue_print: queue_print_song_info() is not necessry for export. | Avuton Olrich | 2009-03-30 | 2 | -13/+9 | |
| | ||||||
* | queue: queue_generate_id() is not necessary for export. | Avuton Olrich | 2009-03-30 | 2 | -7/+4 | |
| | ||||||
* | player_control: remove unused function playerCurrentDecodeSong(). | Avuton Olrich | 2009-03-30 | 2 | -10/+0 | |
| | ||||||
* | conf: config_param_free() not necessary for export. | Avuton Olrich | 2009-03-30 | 2 | -3/+1 | |
| | ||||||
* | command: command_error() is not necessary for export. | Avuton Olrich | 2009-03-30 | 2 | -4/+1 | |
| | ||||||
* | client: client_write() does not necessary for export. | Avuton Olrich | 2009-03-30 | 2 | -6/+4 | |
| | ||||||
* | implemented the 'consume' mode | Romain Bignon | 2009-03-30 | 7 | -15/+82 | |
| | | | | Consume mode removes each song played | |||||
* | Bugfix for time/offset in flac plugin | Jochen Keil | 2009-03-28 | 1 | -3/+3 | |
| | | | | | | 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 valid | Max Kellermann | 2009-03-27 | 3 | -7/+2 | |
| | | | | | Added an assertion in mixer_set_volume(). Removed the range checks from the ALSA and OSS plugins. | |||||
* | mpcdec: changed plugin name to "mpcdec" | Max Kellermann | 2009-03-27 | 1 | -3/+3 | |
| | | | | The "mpcdec" plugin is based on the libmpcdec library. | |||||
* | mpcdec: support the new libmpcdec SV8 API | Max Kellermann | 2009-03-27 | 1 | -14/+90 | |
| | ||||||
* | mpcdec: no CamelCase | Max Kellermann | 2009-03-27 | 1 | -57/+65 | |
| | | | | Renamed variables and functions. | |||||
* | tag_pool: use memcmp() instead of strcmp() for non-terminated string | Max Kellermann | 2009-03-27 | 1 | -1/+3 | |
| | | | | | | 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 length | Max Kellermann | 2009-03-27 | 2 | -4/+4 | |
| | ||||||
* | event_pipe can only be non-blocking if !WIN32 | Sean McNamara | 2009-03-27 | 1 | -0/+2 | |
| | ||||||
* | More debugging for Win32 ioctlsocket: complain if it's not a Winsock | Sean McNamara | 2009-03-27 | 1 | -3/+12 | |
| | | | | socket, because there is no ioctl for non-sockets on Windows | |||||
* | Add winsock2 headers for curl's use of select() on sockets | Sean McNamara | 2009-03-27 | 1 | -1/+7 | |
| | ||||||
* | Uniform getaddrinfo() on WIN32 or POSIX, because MinGW now supports it | Sean McNamara | 2009-03-27 | 1 | -23/+0 | |
| | ||||||
* | Winsock2 is needed on MinGW (or other pure Win32 toolchains) for | Sean McNamara | 2009-03-27 | 1 | -0/+36 | |
| | | | | networking, select(), ntohl(), etc. | |||||
* | sticker: move SQLite statements into an array | Max Kellermann | 2009-03-27 | 1 | -70/+75 | |
| | | | | Simplify initialization and finalization. | |||||
* | pulse_mixer: protect the struct with a mutex | Max Kellermann | 2009-03-27 | 1 | -1/+29 | |
| | | | | | | 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 offline | Max Kellermann | 2009-03-27 | 1 | -29/+27 | |
| | | | | | Eliminate one indent level. Also remove several debug useless debug messages. | |||||
* | pulse_mixer: removed superfluous G_GNUC_UNUSED attributes | Max Kellermann | 2009-03-27 | 1 | -4/+4 | |
| | | | | Those parameters are used after all. | |||||
* | pulse_mixer: use local pa_cvolume variable for set_volume() | Max Kellermann | 2009-03-27 | 1 | -2/+3 | |
| | | | | | | 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 complete | Max Kellermann | 2009-03-27 | 1 | -1/+34 | |
| | | | | | | | | | | 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 Kellermann | 2009-03-27 | 1 | -5/+14 | |
| | | | | | | 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 behavior | Romain Bignon | 2009-03-27 | 7 | -29/+43 | |
| | | | | | When single mode is enabled, after current song it stops playback, or it replay same song if repeat mode is activated. | |||||
* | implements the smartstop feature | Romain Bignon | 2009-03-27 | 7 | -2/+66 | |
| | | | | | | | | | 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 style | Max Kellermann | 2009-03-27 | 1 | -27/+52 | |
| | | | | Use the same code style as the rest of MPD. |