Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
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(). | |||||
2009-03-15 | log: removed DEBUG() and FATAL() | Max Kellermann | 1 | -3/+7 | |
Use GLib the logging functions g_debug(), g_error() instead. | |||||
2009-03-13 | all: Update copyright header. | Avuton Olrich | 1 | -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. | |||||
2009-02-27 | tag: no CamelCase | Max Kellermann | 1 | -2/+2 | |
Renamed numOfItems to num_items. | |||||
2009-01-14 | song_save: don't fail on empty tag values | Max Kellermann | 1 | -2/+2 | |
If a tag value is an empty string, the space after the colon was removed by g_strchomp(). Fix this by removing the space check and using g_strchug() on the return value. | |||||
2009-01-14 | song_save: return value pointer from matchesAnMpdTagItemKey() | Max Kellermann | 1 | -8/+8 | |
The matchesAnMpdTagItemKey() API becomes more powerful and flexible if the return value is the value pointer instead of a boolean. It also removes (invalid and dangerous) assumptions about the string from its caller. | |||||
2009-01-14 | song_save: itemType is "enum tag_type", not "int" | Max Kellermann | 1 | -2/+2 | |
2009-01-13 | song_save: check for colon and space when loading a tag | Max Kellermann | 1 | -2/+4 | |
matchesAnMpdTagItemKey() broke when two tag items had the same prefix, because it did not check if the tag name ended after the prefix. Add a check for the colon and the space after the tag name. | |||||
2009-01-03 | don't include utils.h when it isn't used | Max Kellermann | 1 | -1/+2 | |
2008-12-28 | utils: removed myFgets() | Max Kellermann | 1 | -2/+4 | |
Replaced myFgets() with fgets() + g_strchomp(). | |||||
2008-10-08 | directory: eliminate CamelCase | Max Kellermann | 1 | -1/+1 | |
CamelCase is ugly, rename the functions. | |||||
2008-10-08 | song: removed CamelCase | Max Kellermann | 1 | -5/+5 | |
CamelCase is ugly... rename all functions. | |||||
2008-10-08 | song: replaced all song constructors | Max Kellermann | 1 | -2/+2 | |
Provide separate constructors for creating a remote song, a local song, and one for loading data from a song file. This way, we can add more assertions. | |||||
2008-10-08 | song: converted typedef Song to struct song | Max Kellermann | 1 | -5/+8 | |
Again, a data type which can be forward-declared. | |||||
2008-10-08 | directory: converted typedef Directory to struct directory | Max Kellermann | 1 | -1/+1 | |
The struct can be forward-declared by other headers, which relaxes the header dependencies. | |||||
2008-10-07 | song: use songvec_for_each() in songvec_print() / songvec_save() | Max Kellermann | 1 | -12/+11 | |
songvec_for_each() has locking, use it instead of manually iterating over the songvec items. | |||||
2008-10-06 | song: stop storing song_type | Eric Wong | 1 | -1/+1 | |
We already know if a song is a URL or not based on whether it has parentDir defined or not. Hopefully one day in the future we can drop HTTP support from MPD entirely when an HTTP filesystem comes along and we can access streams via open(2). | |||||
2008-10-06 | song: use flex arrays to store song->url | Eric Wong | 1 | -7/+3 | |
Reduce the number of allocations we make, so there's less pressure on the allocator and less overhead to keep track of the allocations in. |