Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-07-30 | *Save, *State: use the OutputStream API instead of FILE* | Max Kellermann | 1 | -15/+16 | |
2014-02-26 | db/simple: create dedicated directory | Max Kellermann | 1 | -1/+1 | |
2014-01-24 | Database*: move to db/ | Max Kellermann | 1 | -1/+1 | |
2014-01-19 | Song: embed the Tag object statically into class Song | Max Kellermann | 1 | -2/+1 | |
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 | -18/+38 | |
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. | |||||
2014-01-08 | SongSave: make variables more local | Max Kellermann | 1 | -5/+4 | |
2014-01-08 | tag/TagBuilder: rename Commit() to CommitNew() | Max Kellermann | 1 | -1/+1 | |
2013-12-08 | TextFile: move to fs subsystem | Denis Krjuchkov | 1 | -1/+1 | |
2013-11-28 | include cleanup using iwyu | Max Kellermann | 1 | -1/+0 | |
2013-11-11 | filter/route, ...: add missing stdlib.h includes | Max Kellermann | 1 | -0/+1 | |
2013-10-20 | TagType: rename enum tag_type to TagType | Max Kellermann | 1 | -1/+1 | |
2013-10-19 | *: use references instead of pointers | Max Kellermann | 1 | -9/+9 | |
2013-10-19 | *: use nullptr instead of NULL | Max Kellermann | 1 | -6/+6 | |
2013-10-18 | util/StringUtil: rename strchug_fast_c() to strchug_fast() | Max Kellermann | 1 | -1/+1 | |
Overload the name. | |||||
2013-10-02 | Log: new logging library API | Max Kellermann | 1 | -5/+0 | |
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend. | |||||
2013-10-02 | Listen, ...: add missing includes | Max Kellermann | 1 | -1/+1 | |
2013-09-05 | SongSave: use class TagBuilder | Max Kellermann | 1 | -24/+8 | |
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 | -10/+8 | |
Replaces GLib's GError. | |||||
2013-07-30 | tag: convert to C++ | Max Kellermann | 1 | -13/+13 | |
2013-07-28 | song: convert header to C++ | Max Kellermann | 1 | -8/+8 | |
2013-04-09 | string_util: convert to C++ | Max Kellermann | 1 | -4/+1 | |
2013-01-07 | decoder_api.h, ...: add "extern C" | Max Kellermann | 1 | -1/+1 | |
2013-01-03 | TextFile: convert to a class | Max Kellermann | 1 | -3/+3 | |
2013-01-03 | text_file: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-03 | Directory: rename struct directory to Directory | Max Kellermann | 1 | -1/+1 | |
2013-01-02 | Directory: make the header C++ only | Max Kellermann | 1 | -1/+1 | |
2013-01-02 | db_save, state_file: convert to C++ | Max Kellermann | 1 | -3/+6 | |
2012-02-12 | tag: add attribute "has_playlist" | Max Kellermann | 1 | -0/+7 | |
2012-01-24 | directory: replace songvec with doubly linked list | Max Kellermann | 1 | -13/+0 | |
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2010-12-23 | string_util: add function strchug_fast() | Max Kellermann | 1 | -1/+2 | |
Replace g_strchug() calls with a cheaper implementation. | |||||
2010-07-25 | queue_save: save tags and range of non-database songs | Max Kellermann | 1 | -6/+12 | |
Use the functions song_save() and song_load() to use the same format as in the database file for those songs which need the tags. | |||||
2010-07-25 | song_save: save start_ms and end_ms | Max Kellermann | 1 | -0/+11 | |
While this is not useful for the database, it may become useful for reusing this code for the state file. | |||||
2010-07-25 | song_save: song_load() returns NULL instead of false | Max Kellermann | 1 | -2/+2 | |
2010-07-21 | song_save: pass const songvec to songvec_save() | Max Kellermann | 1 | -1/+1 | |
2009-12-31 | Update copyright notices. | Avuton Olrich | 1 | -1/+1 | |
2009-11-12 | include config.h in all sources | Max Kellermann | 1 | -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. | |||||
2009-11-04 | tag: added function tag_name_parse() | Max Kellermann | 1 | -14/+1 | |
Convert a string into a tag_type enum. | |||||
2009-11-04 | song_save: explicitly parse the colon | Max Kellermann | 1 | -18/+27 | |
Clear the colon. This simplifies all attribute parsers, because they can now use strcmp() instead of strncmp(). | |||||
2009-11-01 | song_save: free song object on error | Max Kellermann | 1 | -0/+4 | |
Fix a minor memory leak. | |||||
2009-11-01 | song_save: load one song at a time | Max Kellermann | 1 | -62/+11 | |
Changed songvec_load() to song_load(). Added start and end markers for each song. Removed the "key" line, it's redundant. | |||||
2009-11-01 | database: use strcmp() instead of g_str_has_prefix() | Max Kellermann | 1 | -2/+1 | |
2009-11-01 | text_file: allocate line buffers dynamically | Max Kellermann | 1 | -16/+15 | |
Use a single GString buffer object in all functions loading the database. Enlarge it automatically for long lines. This eliminates the maximum line length for tag values. There is still an upper limit of 512 kB to prevent denial of service, but that's reasonable I guess. | |||||
2009-11-01 | song_save: increased maximum line length to 32 kB | Max Kellermann | 1 | -3/+7 | |
The line buffer had a fixed size of 5 kB, and was allocated on the stack. This was too small for some users. As a hotfix, we're increasing the buffer size to 32 kB now, allocated on the heap. In MPD 0.16, we'll switch to dynamic allocation. | |||||
2009-10-13 | song: renamed attribute "url" to "uri" | Max Kellermann | 1 | -7/+6 | |
2009-07-05 | song_save: use GError for error handling | Max Kellermann | 1 | -5/+18 | |
2009-07-05 | song_save: no CamelCase | Max Kellermann | 1 | -11/+11 | |
Renamed functions. | |||||
2009-04-28 | song_save: don't call tag_free(NULL) | Max Kellermann | 1 | -1/+2 | |
When a song was in the database twice (which shouldn't happen), and the first song had no tag items, MPD calledd tag_free(NULL). Add a check to that source location, and an assertion to tag_free(). |