aboutsummaryrefslogtreecommitdiffstats
path: root/src/song_print.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* time_print: new library, function time_print()Max Kellermann2012-08-081-26/+3
| | | | | Implements error checking for the gmtime_r() call, which was missing in two code locations.
* directory: replace songvec with doubly linked listMax Kellermann2012-01-241-1/+0
|
* db_print: move code to function db_selection_print()Max Kellermann2011-09-131-15/+0
| | | | Use it in handle_lsinfo(), and eliminate some duplicate code.
* copyright year 2011Max Kellermann2011-01-291-1/+1
|
* {queue,song}_print: print relative paths if possibleMax Kellermann2010-07-251-1/+3
| | | | | | If a song with an absolute path points inside the music directory, print only the relative part. This happens when partial songs from a playlist file were loaded.
* song_print: simplified start_ms/end_ms checkMax Kellermann2010-06-251-12/+10
|
* command: fallback strftime() formats on WIN32Max Kellermann2010-05-181-1/+7
| | | | On WIN32, "%F" and "%T" are not implemented.
* song_print: song_print() returns voidMax Kellermann2010-02-081-6/+7
| | | | The only "return" statement always returns 0.
* Update copyright notices.Avuton Olrich2009-12-311-1/+1
|
* song: added support for selecting a time rangeMax Kellermann2009-12-271-0/+13
| | | | | | Added attributes start_ms, end_ms. This allows us to address a portion of a song file (important for CUE support). There is no support yet for storing these attributes in the state file.
* include config.h in all sourcesMax Kellermann2009-11-121-0/+1
| | | | | | After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
* song: renamed attribute "url" to "uri"Max Kellermann2009-10-131-5/+5
|
* song_print: check gmtime_r()'s return valueMax Kellermann2009-07-061-7/+11
| | | | | | 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.
* song_print: send song modification time to clientMax Kellermann2009-07-051-0/+17
| | | | | Added the response line "Last-Modified", which sends the modification time in ISO 8601. The same was already implemented for playlists.
* all: Update copyright header.Avuton Olrich2009-03-131-6/+7
| | | | | | | | This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
* song_print: hide HTTP password in playlistMax Kellermann2009-02-271-1/+11
| | | | | | | Added the uri_remove_auth() library function which strips username and password from a HTTP URI, and use it in song_print_url(). This allows you to add HTTP URIs to the playlist including secret username and password, without disclosing it to all MPD clients.
* directory: added directory_is_root()Max Kellermann2009-01-041-1/+1
| | | | | directory_is_root() is cheaper than isRootDirectory(directory_get_path()).
* directory: fix update in root directoryMax Kellermann2008-10-081-1/+1
| | | | | | | Commit 0bfe7802 broke update for new files in the root directory, because music_root->path was an empty string and not NULL. There were some NULL tests missing. Change them to !isRootDirectory(path) instead of path!=NULL.
* directory: eliminate CamelCaseMax Kellermann2008-10-081-1/+1
| | | | CamelCase is ugly, rename the functions.
* song: removed CamelCaseMax Kellermann2008-10-081-2/+2
| | | | CamelCase is ugly... rename all functions.
* song: converted typedef Song to struct songMax Kellermann2008-10-081-3/+6
| | | | Again, a data type which can be forward-declared.
* song: use songvec_for_each() in songvec_print() / songvec_save()Max Kellermann2008-10-071-8/+8
| | | | | songvec_for_each() has locking, use it instead of manually iterating over the songvec items.
* song: replace printSong* with song_print_*Eric Wong2008-10-071-4/+4
| | | | | | This make argument order more consistent for iterators. Additionally, these now return ssize_t results for error checking.
* Replace SongList with struct songvecEric Wong2008-09-231-6/+7
| | | | | | | Our linked-list implementation is wasteful and the SongList isn't modified enough to benefit from being a linked list. So use a more compact array of song pointers which saves ~200K on a library with ~9K songs (on x86-32).
* pass "struct client" to dbUtils.c, song.c, tag_print.cMax Kellermann2008-09-071-10/+10
| | | | | | Don't pass the raw file descriptor around. This migration patch is rather large, because all of the sources have inter dependencies - we have to change all of them at the same time.
* song: moved code to song_print.c, song_save.cMax Kellermann2008-09-071-0/+54
Move everything which dumps song information (via tag_print.c) to a separate source file. song_print.c gets code which writes song data to the client; song_save.c is responsible for serializing songs from the tag cache.