aboutsummaryrefslogtreecommitdiffstats
path: root/src/DatabasePrint.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-13copyright year 2014Max Kellermann1-1/+1
2014-01-09DetachedSong: fork of struct SongMax Kellermann1-11/+7
From now on, struct Song will be used by the database only, and DetachedSong will be used by everybody else. DetachedSong is easier to use, but Song has lower overhead.
2013-11-28include cleanup using iwyuMax Kellermann1-1/+0
2013-10-20TagType: rename enum tag_type to TagTypeMax Kellermann1-3/+3
2013-10-19*: use references instead of pointersMax Kellermann1-23/+24
2013-10-19*: use nullptr instead of NULLMax Kellermann1-4/+4
2013-09-05Tag, ...: move to libtag.aMax Kellermann1-1/+1
2013-09-04util/Error: new error passing libraryMax Kellermann1-14/+14
Replaces GLib's GError.
2013-08-04DatabasePrint: print Last-Modified attribute for directoriesAndrzej Rybczak1-2/+15
2013-07-30tag: convert to C++Max Kellermann1-1/+1
2013-07-28song: convert header to C++Max Kellermann1-10/+6
2013-01-07decoder_api.h, ...: add "extern C"Max Kellermann1-1/+1
2013-01-03Client: rename the struct client to class ClientMax Kellermann1-14/+14
2013-01-03client: convert to C++Max Kellermann1-2/+2
2013-01-03Directory: rename struct directory to DirectoryMax Kellermann1-4/+4
2013-01-03database.h: eliminate db_*_song()Max Kellermann1-1/+0
Use the C++ API.
2013-01-02Directory: turn functions to methodsMax Kellermann1-5/+4
2013-01-02Directory: make the header C++ onlyMax Kellermann1-2/+1
2013-01-02PlaylistInfo: rename class, use std::stringMax Kellermann1-4/+4
2013-01-02*_print: convert to C++Max Kellermann1-2/+2
2013-01-02playlist_vector: convert to C++Max Kellermann1-1/+1
2012-08-29SongFilter: convert to a C++ classMax Kellermann1-6/+6
2012-08-29locate: rename to SongFilter.cxxMax Kellermann1-1/+1
2012-08-22Database*: fix nullptr dereference when no database is configuredMax Kellermann1-6/+17
2012-08-15DatabasePlugin: add method VisitUniqueTags()Max Kellermann1-53/+19
Optimize the ProxyDatabase by invoking "list" on the peer, instead of visiting all songs.
2012-08-08DatabasePrint: don't print Last-Modified if unknownMax Kellermann1-1/+2
2012-08-08time_print: new library, function time_print()Max Kellermann1-15/+2
Implements error checking for the gmtime_r() call, which was missing in two code locations.
2012-08-08DatabaseSelection: add "match" attributeMax Kellermann1-38/+15
Let the database plugin do the match.
2012-08-08locate: add a per-item "fold_case" flagMax Kellermann1-25/+3
Merge locate_song_search() and locate_song_match().
2012-08-07locate: add "casefold" flag to parserMax Kellermann1-9/+2
Fold the case during construction, without having to create another copy.
2012-08-07db_selection: rename to DatabaseSelectionMax Kellermann1-14/+8
2012-08-07db_print.h: rename to DatabasePrint.hxxMax Kellermann1-5/+5
2012-08-07Database{Plugin,Visitor}: pass referencesMax Kellermann1-46/+43
2012-08-02db_print: convert to C++Max Kellermann1-154/+91
2012-02-12db_print: print extra "playlist" object for embedded CUE sheetsMax Kellermann1-12/+30
This finally enables the new embedded CUE sheet code: when a song file contains a playlist, it is printed in the "lsinfo" output, so clients get to know about this.
2012-02-12playlist_vector: use the list_head libraryMax Kellermann1-0/+1
2011-10-08db_print: print absolute URI of playlist entriesMax Kellermann1-3/+17
The protocol mandates that playlist URIs are absolute (i.e. full URI relative to the music directory, not relative to the parent directory). This adds the parameter "directory" to the "playlist" visitor method.
2011-09-13db_print: move code to function db_selection_print()Max Kellermann1-2/+15
Use it in handle_lsinfo(), and eliminate some duplicate code.
2011-09-13db_visitor: add method playlist()Max Kellermann1-0/+37
2011-09-13database: don't allow uri==NULLMax Kellermann1-1/+1
Add nonnull attributes and fix all callers.
2011-09-13database: add struct db_visitorMax Kellermann1-52/+92
Use this struct for db_walk().
2011-09-06dbUtils: move code to db_print.cMax Kellermann1-72/+1
2011-09-05dbUtils: pass player_control to findAddIn()Max Kellermann1-7/+12
Allow calling findAddIn() without a client object.
2011-01-29copyright year 2011Max Kellermann1-1/+1
2011-01-10player_control: removed the global variable "pc"Max Kellermann1-5/+11
Allocate a player_control object where needed, and pass it around. Each "client" object is associated with a "player_control" instance. This prepares multi-player support.
2011-01-10dbUtils: don't use directoryAddSongToPlaylist() twiceMax Kellermann1-1/+1
In findAddInDirectory(), call playlist_append_song() directly, to have some more type checking.
2010-02-08song_print: song_print() returns voidMax Kellermann1-2/+2
The only "return" statement always returns 0.
2010-01-02dbUtils: return empty tag value only if no value was foundMax Kellermann1-1/+4
This fixes a regression in the patch "return multiple tag values per song": even when the song has values for the specified tag type, the empty string gets added to the set, because the "return" was removed. This patch adds a flag which remembers whether at least one value was found.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-27dbUtils: return multiple tag values per songMax Kellermann1-1/+0
When collecting tag values for the result set, add all of a song's tag values of the searched type. This affects the "list" command. Previously, "list" only considered the first tag value of a song.