Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | player_thread: always clear player_control.next_song on return | Max Kellermann | 2009-10-08 | 1 | -5/+3 | |
| | | | | | | | | | | | | pc.next_song might be non-NULL even if player.queued==true: when the decoder has started decoding the next song, but the result hasn't been read yet. | |||||
* | | player_control: eliminate PLAYER_COMMAND_PLAY | Max Kellermann | 2009-10-08 | 3 | -5/+1 | |
| | | | | | | | | | | Sending PLAYER_COMMAND_STOP followed by PLAYER_COMMAND_QUEUE does the same. PLAYER_COMMAND_PLAY is redundant. | |||||
* | | player_control: added several assertions on pc.next_song==NULL | Max Kellermann | 2009-10-08 | 1 | -0/+6 | |
| | | | | | | | | | | After some of the commands, the player thread must have reset the pc.next_song attribute. | |||||
* | | player_control: no CamelCase | Max Kellermann | 2009-10-08 | 9 | -62/+79 | |
| | | ||||||
* | | player_control: clear errored_song in clearPlayerError() | Max Kellermann | 2009-10-08 | 1 | -1/+2 | |
| | | | | | | | | | | Without the player error code, it errored_song variable is not used, and should be cleared, to avoid invalid access in pc_song_deleted(). | |||||
* | | player_control: bundle "get" functions in pc_get_status() | Max Kellermann | 2009-10-08 | 4 | -34/+46 | |
| | | | | | | | | | | | | The new player_status struct replaces a bunch of playerGetX() functions. When we add proper locking to the player_control struct, we will only need to lock once for the "status" command. | |||||
* | | player_control: allocate getPlayerErrorStr() result | Max Kellermann | 2009-10-08 | 3 | -21/+23 | |
| | | | | | | | | This lets us eliminate the static fixed-size buffer. | |||||
* | | playlist_control: "previous" really plays the previous song | Max Kellermann | 2009-10-08 | 4 | -39/+13 | |
| | | | | | | | | | | | | | | 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". | |||||
* | | input_stream: include config.h for AC_SYS_LARGEFILE macros | Max Kellermann | 2009-10-08 | 1 | -0/+2 | |
| | | | | | | | | | | AC_SYS_LARGEFILE defines macros for config.h. If we don't include config.h, we don't get large file support. | |||||
* | | decoder_api: document all function parameters | Max Kellermann | 2009-10-08 | 1 | -27/+73 | |
| | | ||||||
* | | configure.ac: build with large file support by default | Alam Arias | 2009-10-08 | 2 | -0/+3 | |
| | | | | | | | | This fixes mpg123 support. | |||||
* | | state_file: save only if something has changed | Max Kellermann | 2009-10-08 | 9 | -0/+87 | |
| | | | | | | | | | | | | 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. | |||||
* | | output_state: no CamelCase | Max Kellermann | 2009-10-06 | 3 | -6/+6 | |
| | | ||||||
* | | Merged release 0.15.4 from branch 'v0.15.x' | Max Kellermann | 2009-10-03 | 6 | -6/+51 | |
|\| | | | | | | | | | | | Conflicts: NEWS configure.ac | |||||
| * | mpd version 0.15.4release-0.15.4 | Avuton Olrich | 2009-10-03 | 2 | -2/+2 | |
| | | ||||||
| * | decoder/ffmpeg: use the "artist" tag if "author" is not present | Max Kellermann | 2009-09-30 | 2 | -2/+6 | |
| | | | | | | | | | | | | | | 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 tags | Max Kellermann | 2009-09-30 | 2 | -2/+7 | |
| | | | | | | | | | | | | 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. | |||||
| * | decoder_buffer: added function decoder_buffer_skip() | Max Kellermann | 2009-09-30 | 2 | -0/+36 | |
| | | ||||||
| * | input/mms: fix G_LOG_DOMAIN value | Serge Ziryukin | 2009-09-20 | 1 | -1/+1 | |
| | | ||||||
| * | output/osx: fix the OS X 10.6 build | Patrik Weiskircher | 2009-09-20 | 2 | -0/+3 | |
| | | | | | | | | Include CoreServices/CoreServices.h. | |||||
* | | command: range support for "delete" | Max Kellermann | 2009-09-30 | 4 | -3/+39 | |
| | | ||||||
* | | playlist_edit: moved code to playlist_delete_internal() | Max Kellermann | 2009-09-30 | 1 | -10/+19 | |
| | | ||||||
* | | Add the sidplay filter param to doc/mpdconf.example. | Tony | 2009-09-28 | 1 | -0/+4 | |
| | | ||||||
* | | Make the sidplay decoder filter configurable. | Tony | 2009-09-28 | 1 | -1/+5 | |
| | | ||||||
* | | automatically update the database with Linux inotify | Max Kellermann | 2009-09-25 | 10 | -0/+806 | |
| | | | | | | | | | | | | 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. | |||||
* | | update: added missing stdbool.h include | Max Kellermann | 2009-09-25 | 1 | -0/+2 | |
| | | ||||||
* | | command: relax requirements for unquoted words | Max Kellermann | 2009-09-25 | 3 | -6/+75 | |
| | | | | | | | | | | | | Allow most printable characters in unquoted words. The tokenizer patch introduced very strict requirements for command parameters - those were undocumented, and we're reverting the strictness now. | |||||
* | | command: added command "rescan" | Max Kellermann | 2009-09-24 | 8 | -27/+81 | |
| | | | | | | | | | | "rescan" is the same as "update", but it discards existing songs in the database. | |||||
* | | configure.ac: rename HAVE_CURL to ENABLE_CURL | Max Kellermann | 2009-09-24 | 4 | -6/+6 | |
| | | ||||||
* | | conf: handle fatal errors with GError | Max Kellermann | 2009-09-24 | 7 | -58/+136 | |
| | | | | | | | | | | | | | | Don't call g_error(), which will abort the process and dump core. This patch does not affect all the config_get_X() functions. These need some more refactoring. | |||||
* | | conf: splitted function config_param_free() | Max Kellermann | 2009-09-24 | 1 | -4/+11 | |
| | | ||||||
* | | cmdline: handle fatal errors with GError | Max Kellermann | 2009-09-24 | 3 | -5/+30 | |
| | | | | | | | | Don't call g_error(), which will abort the process and dump core. | |||||
* | | listen: handle fatal errors with GError | Max Kellermann | 2009-09-24 | 3 | -10/+29 | |
| | | | | | | | | Don't call g_error(), which will abort the process and dump core. | |||||
* | | update: splitted update.c into several sources | Max Kellermann | 2009-09-24 | 6 | -770/+991 | |
| | | ||||||
* | | update: pass const string to update_enqueue() | Max Kellermann | 2009-09-24 | 3 | -14/+20 | |
| | | | | | | | | | | Duplicate the path string within update.c, do not expect an allocated string as parameter. | |||||
* | | update: renamed directory_update_init() to update_enqueue() | Max Kellermann | 2009-09-24 | 4 | -4/+4 | |
| | | ||||||
* | | decoder/sidplay: free songlength data blob in error handler | Max Kellermann | 2009-09-24 | 1 | -3/+4 | |
| | | | | | | | | | | When parsing the songlength database fails, the code forgot to free the memory allocated by the raw file data. | |||||
* | | decoder/sidplay: moved code to sidplay_load_songlength_db() | Max Kellermann | 2009-09-24 | 1 | -29/+36 | |
| | | ||||||
* | | decoder/sidplay: free GError objects | Max Kellermann | 2009-09-24 | 1 | -0/+2 | |
| | | | | | | | | | | The caller is responsible fro freeing GError objects. That g_error_free() call was missing in two places. | |||||
* | | decoder/sidplay: pass GError** to g_file_get_contents() | Max Kellermann | 2009-09-24 | 1 | -1/+2 | |
| | | | | | | | | | | The error handler dereferences GError*, but did not retrieve that object from g_file_get_contents(). | |||||
* | | cmdline: removed options --create-db and --no-create-db | Max Kellermann | 2009-09-20 | 6 | -35/+7 | |
| | | | | | | | | | | 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 build | Patrik Weiskircher | 2009-09-20 | 3 | -6/+3 | |
| | | | | | | | | Include CoreServices/CoreServices.h. | |||||
* | | Merge branch 'v0.15.x' | Max Kellermann | 2009-09-10 | 4 | -36/+36 | |
|\| | | | | | | | | | | | | | Conflicts: NEWS configure.ac doc/mpdconf.example | |||||
| * | doc/protocol: clarify "update" | Max Kellermann | 2009-09-10 | 1 | -13/+8 | |
| | | | | | | | | | | The update job id is positive. When used in a command list, MPD prints one job id for each "update" command. | |||||
| * | doc/mpdconf.example: additional comment signs for some parameters | Max Kellermann | 2009-09-10 | 1 | -18/+18 | |
| | | | | | | | | | | Add a second column of comment signs on some parameters which users shouldn't usually set, unless they know what they're doing. | |||||
| * | decoder/vorbis: revert "faster tag scanning with ov_test_callback()" | Max Kellermann | 2009-09-10 | 2 | -1/+3 | |
| | | | | | | | | | | This patch made ov_time_total() unusable, and MPD did not know the duration of songs. | |||||
| * | Modify version string to post-release version 0.15.4~git | Avuton Olrich | 2009-08-29 | 2 | -1/+4 | |
| | | ||||||
* | | INSTALL: mention libwavpack and OpenAL | Max Kellermann | 2009-09-09 | 1 | -0/+6 | |
| | | ||||||
* | | output/openal: support OpenAL plugin on Mac OS X | Serge Ziryukin | 2009-09-07 | 2 | -3/+19 | |
| | | ||||||
* | | doc: documented the "openal" output plugin settings | Serge Ziryukin | 2009-09-06 | 2 | -0/+34 | |
| | |