Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-02-04 | Instance: add Database attribute | Max Kellermann | 1 | -4/+3 | |
Move from db/DatabaseGlue.cxx, eliminating global variable. | |||||
2014-01-24 | Database*: move to db/ | Max Kellermann | 1 | -1/+1 | |
2014-01-24 | Client*: move to client/ | Max Kellermann | 1 | -1/+1 | |
2014-01-22 | LightDirectory: new struct replacing Directory in the DB API | Max Kellermann | 1 | -6/+7 | |
2014-01-22 | DatabasePrint: don't print zero mtime | Max Kellermann | 1 | -1/+3 | |
Zero means "unknown". | |||||
2014-01-19 | LightSong: new class to be used by DatabasePlugin callbacks | Max Kellermann | 1 | -9/+20 | |
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread. | |||||
2014-01-19 | Song: embed the Tag object statically into class Song | Max Kellermann | 1 | -2/+2 | |
Reduces overhead because we need to manage only one memory allocation. According to valgrind/massif, we save 7%. | |||||
2014-01-13 | copyright year 2014 | Max Kellermann | 1 | -1/+1 | |
2014-01-09 | DetachedSong: fork of struct Song | Max Kellermann | 1 | -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-28 | include cleanup using iwyu | Max Kellermann | 1 | -1/+0 | |
2013-10-20 | TagType: rename enum tag_type to TagType | Max Kellermann | 1 | -3/+3 | |
2013-10-19 | *: use references instead of pointers | Max Kellermann | 1 | -23/+24 | |
2013-10-19 | *: use nullptr instead of NULL | Max Kellermann | 1 | -4/+4 | |
2013-09-05 | Tag, ...: move to libtag.a | Max Kellermann | 1 | -1/+1 | |
2013-09-04 | util/Error: new error passing library | Max Kellermann | 1 | -14/+14 | |
Replaces GLib's GError. | |||||
2013-08-04 | DatabasePrint: print Last-Modified attribute for directories | Andrzej Rybczak | 1 | -2/+15 | |
2013-07-30 | tag: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-07-28 | song: convert header to C++ | Max Kellermann | 1 | -10/+6 | |
2013-01-07 | decoder_api.h, ...: add "extern C" | Max Kellermann | 1 | -1/+1 | |
2013-01-03 | Client: rename the struct client to class Client | Max Kellermann | 1 | -14/+14 | |
2013-01-03 | client: convert to C++ | Max Kellermann | 1 | -2/+2 | |
2013-01-03 | Directory: rename struct directory to Directory | Max Kellermann | 1 | -4/+4 | |
2013-01-03 | database.h: eliminate db_*_song() | Max Kellermann | 1 | -1/+0 | |
Use the C++ API. | |||||
2013-01-02 | Directory: turn functions to methods | Max Kellermann | 1 | -5/+4 | |
2013-01-02 | Directory: make the header C++ only | Max Kellermann | 1 | -2/+1 | |
2013-01-02 | PlaylistInfo: rename class, use std::string | Max Kellermann | 1 | -4/+4 | |
2013-01-02 | *_print: convert to C++ | Max Kellermann | 1 | -2/+2 | |
2013-01-02 | playlist_vector: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2012-08-29 | SongFilter: convert to a C++ class | Max Kellermann | 1 | -6/+6 | |
2012-08-29 | locate: rename to SongFilter.cxx | Max Kellermann | 1 | -1/+1 | |
2012-08-22 | Database*: fix nullptr dereference when no database is configured | Max Kellermann | 1 | -6/+17 | |
2012-08-15 | DatabasePlugin: add method VisitUniqueTags() | Max Kellermann | 1 | -53/+19 | |
Optimize the ProxyDatabase by invoking "list" on the peer, instead of visiting all songs. | |||||
2012-08-08 | DatabasePrint: don't print Last-Modified if unknown | Max Kellermann | 1 | -1/+2 | |
2012-08-08 | time_print: new library, function time_print() | Max Kellermann | 1 | -15/+2 | |
Implements error checking for the gmtime_r() call, which was missing in two code locations. | |||||
2012-08-08 | DatabaseSelection: add "match" attribute | Max Kellermann | 1 | -38/+15 | |
Let the database plugin do the match. | |||||
2012-08-08 | locate: add a per-item "fold_case" flag | Max Kellermann | 1 | -25/+3 | |
Merge locate_song_search() and locate_song_match(). | |||||
2012-08-07 | locate: add "casefold" flag to parser | Max Kellermann | 1 | -9/+2 | |
Fold the case during construction, without having to create another copy. | |||||
2012-08-07 | db_selection: rename to DatabaseSelection | Max Kellermann | 1 | -14/+8 | |
2012-08-07 | db_print.h: rename to DatabasePrint.hxx | Max Kellermann | 1 | -5/+5 | |
2012-08-07 | Database{Plugin,Visitor}: pass references | Max Kellermann | 1 | -46/+43 | |
2012-08-02 | db_print: convert to C++ | Max Kellermann | 1 | -154/+91 | |
2012-02-12 | db_print: print extra "playlist" object for embedded CUE sheets | Max Kellermann | 1 | -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-12 | playlist_vector: use the list_head library | Max Kellermann | 1 | -0/+1 | |
2011-10-08 | db_print: print absolute URI of playlist entries | Max Kellermann | 1 | -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-13 | db_print: move code to function db_selection_print() | Max Kellermann | 1 | -2/+15 | |
Use it in handle_lsinfo(), and eliminate some duplicate code. | |||||
2011-09-13 | db_visitor: add method playlist() | Max Kellermann | 1 | -0/+37 | |
2011-09-13 | database: don't allow uri==NULL | Max Kellermann | 1 | -1/+1 | |
Add nonnull attributes and fix all callers. | |||||
2011-09-13 | database: add struct db_visitor | Max Kellermann | 1 | -52/+92 | |
Use this struct for db_walk(). | |||||
2011-09-06 | dbUtils: move code to db_print.c | Max Kellermann | 1 | -72/+1 | |
2011-09-05 | dbUtils: pass player_control to findAddIn() | Max Kellermann | 1 | -7/+12 | |
Allow calling findAddIn() without a client object. |