aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-02-03SongLoader: new class that merges duplicate codeMax Kellermann5-63/+27
There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files.
2014-01-30db: add compile-time option to disable databaseMax Kellermann2-0/+10
2014-01-24ConfigGlobal: add config_find_block()Max Kellermann1-28/+2
Merge duplicate code.
2014-01-24DespotifyUtils, Expat: move to lib/Max Kellermann4-4/+4
2014-01-24Database*: move to db/Max Kellermann1-1/+1
2014-01-24Input*: move to input/Max Kellermann10-10/+10
2014-01-24Config*: move to config/Max Kellermann2-3/+3
2014-01-23playlist/*: move to playlist/plugins/Max Kellermann36-20/+1334
2014-01-19LightSong: new class to be used by DatabasePlugin callbacksMax Kellermann3-3/+0
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread.
2014-01-14playlist/extm3u: allocate Tag instance on the stackMax Kellermann1-12/+7
Automate the life cycle, making the code safer.
2014-01-13copyright year 2014Max Kellermann20-20/+20
2014-01-09playlist/{asx,rss,xspf}: use Expat instead of GLib to parse XMLMax Kellermann3-257/+59
2014-01-09playlist/asx: make variables more localMax Kellermann1-7/+6
2014-01-09DetachedSong: fork of struct SongMax Kellermann10-136/+69
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-08playlist/pls: don't free stack bufferMax Kellermann1-1/+0
2014-01-08playlist/pls: make variables more localMax Kellermann1-17/+9
2014-01-08playlist/pls: convert "while" loop to "for" loopMax Kellermann1-2/+1
2014-01-08playlist/pls: simplify error handlerMax Kellermann1-11/+4
Don't pass a GError** to g_key_file_get_X(). We don't need to dispose something we didn't request in the first place.
2014-01-08DespotifyUtils: return Tag, not pointerMax Kellermann1-1/+1
2014-01-08DespotifyUtils: pass const ds_track referenceMax Kellermann1-5/+5
2014-01-08tag/TagBuilder: rename Commit() to CommitNew()Max Kellermann6-6/+6
2014-01-07playlist/soundcloud: parse URI without copying itMax Kellermann1-19/+11
2014-01-07playlist/soundcloud: change scheme check to assertionMax Kellermann1-18/+2
The MPD core takes care for checking the scheme.
2014-01-07playlist/soundcloud: eliminate nullptr checks before g_free()Max Kellermann1-8/+4
2014-01-04Added application key for soundcloud pluginJames McGlashan (DarkFox)1-1/+2
2014-01-04Added user and search paramaters for SoundCloud pluginJames McGlashan (DarkFox)1-0/+8
2014-01-02http -> https for SoundCloud pluginJames McGlashan (DarkFox)1-6/+6
2013-12-29InputStream: add static method OpenReady()Max Kellermann1-3/+2
Merge some duplicate code.
2013-12-29TagFile: pass reference instead of pointerMax Kellermann1-1/+1
2013-12-14playlist/soundcloud: fix coding styleMax Kellermann1-15/+21
2013-12-14playlist/soundcloud: make variables more localMax Kellermann1-21/+17
2013-12-05fs/Traits: split PathTraits type into PathTraitsFS and PathTraitsUTF8Denis Krjuchkov1-2/+2
2013-12-03playlist/xspf: use class TagBuilderMax Kellermann1-7/+10
2013-12-03playlist/xspf: rename "tag" to "tag_type"Max Kellermann1-10/+10
2013-12-03playlist/soundcloud: use class TagBuilderMax Kellermann1-5/+5
2013-12-03playlist/rss: use class TagBuilderMax Kellermann1-15/+12
2013-12-03playlist/rss: rename "tag" to "tag_type"Max Kellermann1-7/+7
2013-12-03playlist/pls: use class TagBuilderMax Kellermann1-11/+12
2013-12-03playlist/extm3u: use class TagBuilderMax Kellermann1-5/+5
2013-12-03playlist/asx: use class TagBuilderMax Kellermann1-14/+11
2013-12-03playlist/asx: rename "tag" to "tag_type"Max Kellermann1-7/+7
2013-11-28Util/StringUtil: add StringStartsWith()Max Kellermann2-5/+4
Replaces GLib's g_str_has_prefix().
2013-11-28include cleanup using iwyuMax Kellermann5-9/+1
2013-11-05playlist/pls: fix reversed song orderMax Kellermann1-1/+0
Remove the forward_list::reverse() call. It was not necessary, because pls_parser() already reads the playlist in reverse order.
2013-10-28*: use nullptr instead of NULLMax Kellermann8-90/+90
2013-10-26TagFile: use Path instead of const char *Max Kellermann1-3/+8
2013-10-23input_stream: rename struct to InputStreamMax Kellermann8-17/+17
2013-10-21playlist/EmbeddedCue: use std::string for the "cuesheet" attributeMax Kellermann1-10/+8
2013-10-21GetBaseUTF8Max Kellermann1-6/+5
2013-10-20Util/ASCII: add function StringEqualsCaseASCII()Max Kellermann3-13/+16
Replaces GLib's g_ascii_strcasecmp().