Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-01-13 | copyright year 2014 | Max Kellermann | 1 | -1/+1 | |
2013-10-26 | ApeTag: support multiple values per name | Max Kellermann | 1 | -2/+7 | |
2013-10-26 | ApeTag: move code to ForEachValue() | Max Kellermann | 1 | -16/+30 | |
2013-10-26 | ApeTag: simplify the "recognized" flag | Max Kellermann | 1 | -4/+1 | |
2013-10-26 | TagFile: use Path instead of const char * | Max Kellermann | 1 | -1/+2 | |
2013-10-20 | TagType: rename enum tag_type to TagType | Max Kellermann | 1 | -3/+3 | |
2013-10-15 | ApeTag: use std::string for temporary allocation | Max Kellermann | 1 | -4/+3 | |
2013-09-04 | TagTable: un-inline the two functions | Max Kellermann | 1 | -0/+4 | |
Reduce header dependencies. | |||||
2013-09-04 | Tag*: move libtag.a sources to src/tag/ | Max Kellermann | 1 | -0/+0 | |
2013-07-30 | tag: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-07-29 | tag_table: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-07-29 | tag_handler: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-07-29 | ape: convert to C++ | Max Kellermann | 1 | -30/+17 | |
2012-09-25 | decoder/wavpack: support all APEv2 tags | Max Kellermann | 1 | -1/+1 | |
WavPack tags are always APEv2, by definition. Reuse the tag_table from tag_ape.c, instead of rolling our own. | |||||
2012-07-29 | tag_ape: return false if no usable tag was found | Max Kellermann | 1 | -7/+21 | |
Ignore APE tags that have no usable tags, and use the ID3 tag instead. This is useful when the APE tag only contains replay gain, and the real tags are stored as ID3. This implements feature request Mantis #0003521. | |||||
2012-02-12 | tag_{ape,id3}: remove the _load() functions | Max Kellermann | 1 | -12/+0 | |
Use _scan() instead, to have more control. | |||||
2012-02-12 | tag_handler: handle arbitrary name/value pairs | Max Kellermann | 1 | -0/+2 | |
The new method pair() receives an arbitrary name/value pair. Support for this is being added to a few decoder plugins. | |||||
2012-02-11 | decoder_plugin: scan tags with callback table | Max Kellermann | 1 | -20/+36 | |
Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object. | |||||
2012-02-11 | tag_table: convert to a struct | Max Kellermann | 1 | -4/+5 | |
The struct is smaller because it is sparse. Its traversal is also more efficient. | |||||
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2010-11-24 | tag_ape: support multiple values | Max Kellermann | 1 | -1/+15 | |
One APE tag may contain more than one value, separated by null bytes. | |||||
2010-11-18 | tag_ape: move code to ape.c | Max Kellermann | 1 | -93/+19 | |
Generic library for scanning APE tags. Eliminated one "goto"! | |||||
2010-06-30 | tag_ape: remove duplicate entries in the tag name table | Max Kellermann | 1 | -7/+5 | |
Reuse the function tag_name_parse_i(). | |||||
2010-06-30 | tag_ape: move code to tag_ape_name_parse() | Max Kellermann | 1 | -1/+7 | |
2010-06-30 | tag_ape: move table lookup to tag_table.h | Max Kellermann | 1 | -9/+9 | |
Allow code sharing. | |||||
2010-06-30 | tag_ape: support album artist | Max Kellermann | 1 | -0/+1 | |
I took this tag name from a MusePack sample file I got from a user. It is not documented in the APE specification: http://wiki.hydrogenaudio.org/index.php?title=APE_key People seem to be using undocumented extensions to the specification anyway, and the best we can do is attempt to support them. | |||||
2010-06-30 | tag_ape: simplified the apeItems array | Max Kellermann | 1 | -22/+12 | |
Make "enum tag_type" the array index, and convert apeItems to a sparse array. | |||||
2010-06-30 | tag_ape: moved code to tag_ape_import_item() | Max Kellermann | 1 | -12/+22 | |
Improve code readability. | |||||
2010-06-30 | tag_ape: converted apeItems and tagItems to global vars | Max Kellermann | 1 | -20/+20 | |
Don't initialize those arrays each time tag_ape_load() is called. | |||||
2010-05-31 | tag_ape: remove duplicate entries in the tag name table | Max Kellermann | 1 | -13/+5 | |
Reuse the function tag_name_parse_i(). | |||||
2010-05-31 | tag_ape: move code to tag_ape_name_parse() | Max Kellermann | 1 | -1/+7 | |
2010-05-30 | tag_ape: move table lookup to tag_table.h | Max Kellermann | 1 | -9/+9 | |
Allow code sharing. | |||||
2010-05-30 | tag_ape: support album artist, MusicBrainz tags | Max Kellermann | 1 | -1/+8 | |
I took these tag names from a MusePack sample file I got from a user. These are not documented in the APE specification: http://wiki.hydrogenaudio.org/index.php?title=APE_key People seem to be using undocumented extensions to the specification anyway, and the best we can do is attempt to support them. | |||||
2010-05-20 | tag_{id3,ape}: explicitly open files in binary mode | Max Kellermann | 1 | -1/+1 | |
Add the flag "b" to fopen(). Windows compatibility. | |||||
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-10-13 | tag: removed the "_ITEM_" suffix from the enum names | Max Kellermann | 1 | -7/+7 | |
2009-07-19 | tag_ape: simplified the apeItems array | Max Kellermann | 1 | -22/+12 | |
Make "enum tag_type" the array index, and convert apeItems to a sparse array. | |||||
2009-07-19 | tag_ape: moved code to tag_ape_import_item() | Max Kellermann | 1 | -12/+22 | |
Improve code readability. | |||||
2009-07-19 | tag_ape: converted apeItems and tagItems to global vars | Max Kellermann | 1 | -20/+20 | |
Don't initialize those arrays each time tag_ape_load() is called. | |||||
2009-07-19 | ape: added protection against large memory allocations | Max Kellermann | 1 | -0/+3 | |
The function tag_ape_load() retrieves a 32 bit unsigned integer from the input file, and passes it to g_malloc(). This is dangerous, and may be used for a denial of service attack on MPD. | |||||
2009-07-19 | tag_ape: removed redundant length check | Max Kellermann | 1 | -3/+4 | |
Extend the tagLen check after reading it. Removed the second (redundant) check after the subtraction. | |||||
2009-07-18 | ape: check the tag size (fixes integer underflow) | Max Kellermann | 1 | -1/+1 | |
The expression "tagLen - size > 0" may result in an integer underflow and a buffer overflow, when "size" is larger than "tagLen". "size" is read from the input file, and must not be trusted. This patch changes the expression to "tagLen > size", which is a lot safer. | |||||
2009-04-28 | tag: use g_ascii_strcasecmp() instead of strcasecmp() | Max Kellermann | 1 | -1/+1 | |
strcasecmp() is locale dependent, making it a bad choice for internal string comparisons. | |||||
2009-03-13 | all: Update copyright header. | Avuton Olrich | 1 | -3/+4 | |
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-28 | tag: moved APE code to tag_ape.c | Max Kellermann | 1 | -0/+145 | |