aboutsummaryrefslogtreecommitdiffstats
path: root/src/cue (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-01-03cue_parser: fix CUE files with only one trackMax Kellermann1-7/+47
Track whether _finish() has been called, and deliver all partial results then. Fixes Mantis ticket 0003621.
2013-01-03cue_parser: add code commentsMax Kellermann1-2/+21
2013-01-03cue_parser: fix memory leakMax Kellermann1-0/+3
2012-08-25playlist/cue: map "PERFORMER" to "artist" or "album artist"Max Kellermann1-1/+11
Implements Mantis ticket 0003549.
2012-07-26cue_parser: support file types "MP3", "AIFF"Max Kellermann1-1/+3
These two strings are common "FILE" types.
2012-02-10cue_parser: new line based CUE sheet parserMax Kellermann4-267/+385
To replace libcue, the unmaintained and crashy library.
2011-05-09cue_tag: show CUE track numbersQball Cow1-0/+9
2010-04-01cue: fix code styleOrivej Desh1-5/+5
2010-03-28cue: prepend pregap to the beginning of the trackOrivej Desh1-2/+9
.. rather then append to the end of the previous one Cuebreakpoints from the cuetools package has three modes of operation, and the default is to append pregap (INDEX 00) to the end of the previous track. This is the behavior most compliant to the existing cue files. Here is the patch which fixes the issue. I borrowed bits of implementation from cuebreakpoints. I assumed that the whole audio file must be covered by head-to-head going tracks, which is how hardware CD players probably work. In cue_tag I changed rounding from rounding up to rounding down because the thing in mpd which calculates actual track duration (and current position) rounds it down, and I didn't want to see in my playlist values different from whose in a now-playing progress bar. I've compared the resultant mpd behaviour with "mplayer -ss MM:SS.MS" where the time was supplied by cuebreakpoints and noticed that mplayer started each track a bit earlier then mpd, though this was the same before the patch.
2010-03-17tag: added function tag_merge_replace()Max Kellermann1-21/+1
Like tag_merge(), but can deal with NULL parameters, and frees both tag objects.
2009-12-16cue_tag: added song duration supportMax Kellermann1-2/+10
Get duration from track_get_length().
2009-12-16cue_tag: check cd_get_track()!=NULLMax Kellermann1-3/+5
2009-12-16cue_tag: added function cue_tag()Max Kellermann2-17/+29
Merge code from cue_tag_file() and cue_tag_string().
2009-12-16cue_tag: merged code into cue_tag_merge()Max Kellermann1-22/+18
2009-12-16cue_tag: pass "const" string to cue_tag_string()Max Kellermann2-2/+2
2009-12-16cue_tag: changed runtime checks to assertionsMax Kellermann1-14/+9
It's illegal to pass NULL here. This should not be ignored silently.
2009-12-16cue_tag: fixed indent and code styleMax Kellermann2-78/+43
2009-12-16cue_tag: tag_new() cannot failMax Kellermann1-22/+10
Removed the NULL check.
2009-12-16cue_tag: include cleanupMax Kellermann2-2/+5
2009-11-12include config.h in all sourcesMax Kellermann2-2/+4
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-13tag: removed the "_ITEM_" suffix from the enum namesMax Kellermann1-47/+47
2009-03-31Build tags from information in cue sheetsJochen Keil2-0/+296
With these methods a tag struct can be created from the cdtext information in a cue sheet. The methods depend on a cue parsing library. Reading from strings (char*) as well as from a file (FILE*) is supported.