summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-01-25mapper: added dot to PLAYLIST_FILE_SUFFIXMax Kellermann
Some code will be a little bit simpler if the dot is part of the string literal.
2009-01-25alsa: added commentsMax Kellermann
Document alsa_data members.
2009-01-25alsa: frame_size is size_t, not intMax Kellermann
frame_size is a memory size and should be a size_t, not a signed integer.
2009-01-25alsa: no CamelCaseMax Kellermann
Renamed types, functions, variables.
2009-01-25alsa: fix option parsing and restore default period_timeDan McGee
Two bugs here led to a large number of interrupts being generated on the sound card when ALSA output is being used. Because we specify no default period_time, the sound card gives us 3000 interrupts/sec rather than a more sane 20 or 30. This completes the revert of dd7711 already started by 4ca24f. The larger bug was in the change to config_get_block_unsigned() and using 0 as the default value for both 'buffer_time' and 'period_time'. This means any pre-setting of these options in newAlsaData() gets wiped out. Add a new default for period_time, and ensure default values for buffer_time and period_time are used if none are provided by the user. Signed-off-by: Dan McGee <dan@archlinux.org> [mk: set defaults in newAlsaData() to fix auto-configuration; renamed "_MS" back to "_US" because ALSA expects microseconds, not milliseconds] Signed-off-by: Max Kellermann <max@duempel.org>
2009-01-25Fix tag not being set when casefolding the locate_item_listQball Cow
2009-01-24renamed the "mod" decoder plugin to "mikmod"Max Kellermann
We have two mod plugins now: modplug and mod. Rename the latter to a more useful name.
2009-01-24tag_id3: added MusicBrainz tag supportMax Kellermann
Added support for the MusicBrainz TXXX tags, documented on: http://musicbrainz.org/doc/MusicBrainzTag
2009-01-24tag_id3: always allocate tag objectMax Kellermann
Save some code: always allocate the tag object, and free it when it turns out to be empty.
2009-01-24tag: added support for MusicBrainz tagsMax Kellermann
Added all important id tags from the MusicBrainz wiki: http://musicbrainz.org/doc/MusicBrainzTag This should automatically enable its suport in the vorbis and flac decoder plugins.
2009-01-24modplug: removed EOF check from the while loopMax Kellermann
EOF is checked by input_stream_read() (decoder_read() here). Don't do it twice. The check was wrong anyway, it was reversed.
2009-01-24modplug: check for input_stream errorsMax Kellermann
When input_stream_read() returns 0, and input_stream_eof() returns false, an I/O error has occured. Skip this song.
2009-01-24modplug: use size_t instead of int for buffer sizesMax Kellermann
2009-01-24modplug: check size limit before appending new bufferMax Kellermann
Don't enlarge the GByteArray when the size limit may overflow in this operation; check the size limit first.
2009-01-24modplug: use GByteArray.len, remove total_lenMax Kellermann
The local variable "total_len" is superfluous because GByteArray always knows its size.
2009-01-24modplug: unknown size is -1; check for empty fileMax Kellermann
The input_stream API sets size to -1 when the size of the resource is not known. The modplug decoder checked for size==0, which would be an empty file.
2009-01-24modplug: header cleanupMax Kellermann
Don't include utils.h and log.h, they are relics from the past.
2009-01-24modplug: define G_LOG_DOMAINMax Kellermann
Make sure that log messages are decorated correctly.
2009-01-24modplug: declare constants as enumMax Kellermann
Don't write CPP if you can write C.
2009-01-24modplug: use only decoder_read(), not input_stream_read()Max Kellermann
You are allowed to call decoder_read() with decoder==NULL. It is a convenience function provided by the decoder API. Don't manually fall back to input_stream_read().
2009-01-24locate: added locate_item_list_casefold()Max Kellermann
Merged casefolding code from two locations into this one library function.
2009-01-24queue_print, dbUtils: use struct locate_item_listMax Kellermann
Changed the function prototypes to get locate_item_list objects instead of num_items/items.
2009-01-24locate: added struct locate_item_listMax Kellermann
Instead of passing two parameters around (number of items, array of items), combine both in a variable size struct.
2009-01-24locate: initialize the whole visited_types arrayMax Kellermann
The declaration initialized only the first element. Initialize the whole array with memset() instead.
2009-01-24locate: use bool instead of intMax Kellermann
Use the C99 bool type instead of integer values (1/0 or 0/-1).
2009-01-24locate: no CamelCaseMax Kellermann
Renamed functions and variables.
2009-01-24queue_print: use new_items instead of itemsMax Kellermann
Fix a typo in one of the previous patches.
2009-01-24playlist: removed locate functions to queue_print.cMax Kellermann
Now playlist.c does not contain any protocol specific code anymore.
2009-01-24locate: renamed LocateTagItem to "struct locate_item"Max Kellermann
No CamelCase and no typedefs.
2009-01-24command: use queue_print_*()Max Kellermann
Replaced several wrapper functions from playlist.c, and make command.c use the queue print functions directly.
2009-01-24playlist: added playlist_get_queue()Max Kellermann
To allow code outside playlist.c to access the "queue" object, provide a function which returns a const pointer.
2009-01-24playlist: renamed the Playlist typedef to "struct playlist"Max Kellermann
No typedefs.
2009-01-24playlist: moved stopOnError and errorCount into struct playlistMax Kellermann
Moved the 2 remaining global variables into the playlist struct.
2009-01-24modplug: change settings before loading a fileAndrzej Rybczak
alternative settings must be set before the file is loaded, otherwise they won't be respected.
2009-01-24command: eliminate gcc warningLaszlo Ashin
Argument cmd of function command_available() is not used if mpd was configured without sqlite.
2009-01-23commands: don't advertise "sticker" unless configuredMax Kellermann
In the return value of the "commands" command, don't list the "sticker" command if no sticker file is configured.
2009-01-23playlist: restore random mode after playlist is loadedMax Kellermann
When the playlist was loaded from the state file, the order numbers were the same as the positions. In random mode, we need to shuffle the queue order. To accomplish that, call setPlaylistRandomStatus() at the end of readPlaylistState(), and do a fresh shuffle.
2009-01-23playlist: removed song_id_to_position()Max Kellermann
song_id_to_position() is only a wrapper for queue_id_to_position().
2009-01-23playlist: fix "clear" crash in random modeMax Kellermann
When MPD is not playing while in random mode, and the client issues the "clear" command, MPD crashes in stopPlaylist(), or more exactly, in queue_order_to_position(-1). Exit from stopPlaylist() if MPD isn't playing.
2009-01-23song: include cleanupMax Kellermann
Removed unused includes.
2009-01-23playlist: moved saving/loading code to queue_save.cMax Kellermann
Create a new library which saves/loads the queue to/from the state file.
2009-01-23playlist: moved PlaylistInfo() to playlist_print.cMax Kellermann
PlaylistInfo() (notice the capital 'P') sends a stored playlist to the client. Move it to a separate library, where all the code which glues the playlist and the MPD protocol together will live.
2009-01-23playlist: moved some printing code to queue_print.cMax Kellermann
Moved protocol printing functions which operate on the queue to queue_print.c.
2009-01-23playlist: pass const pointers to search functionsMax Kellermann
The LocateTagItem objects are not modified.
2009-01-23playlist: removed swapSongs()Max Kellermann
swapSongs() is only a wrapper for queue_swap().
2009-01-23playlist: don't unpause on deleteMax Kellermann
When you delete a song from the playlist which was paused, MPD forgot that it was paused and started playing the next song.
2009-01-23queue: update moved song versionsMax Kellermann
This patch fixes a regression introduced by commit aa9ffc.
2009-01-23playlist: added source commentsMax Kellermann
The playlist.c source is currently quite hard to understand. I have managed to wrap my head around it, and this patch attempts to explain it to the next guy.
2009-01-23playlist: assert in playPlaylistIfPlayerStopped()Max Kellermann
The function playPlaylistIfPlayerStopped() is only called when the player thread is stopped. Converted that runtime check into an assertion, and remove one indent level.
2009-01-23playlist: don't shuffle if not in random modeMax Kellermann
One of the previous patches removed the "random" mode check from nextSongInPlaylist(), which caused a shuffle whenever MPD wrapped to the first song in "repeat" mode. Re-add that "random" check.