Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2015-01-01 | Copyright year 2015 | Max Kellermann | 1 | -1/+1 | |
2014-07-12 | PlaylistSong: always merge tags and LastModified | Max Kellermann | 1 | -12/+2 | |
2014-07-12 | PlaylistSong, CueParser: don't override Tag::time | Max Kellermann | 1 | -9/+0 | |
Now that Song::GetDuration() is used (which considers start_ms and end_ms), we don't need to override the Tag's duration value. | |||||
2014-02-10 | PlaylistSong: copy the "real" URI | Max Kellermann | 1 | -0/+3 | |
Playback with some decoder plugins was broken because the Queue's DetachedSong instances did not have the "real" URI (the mapped path). | |||||
2014-02-07 | PlaylistSong: include cleanup | Max Kellermann | 1 | -2/+0 | |
2014-02-03 | SongLoader: new class that merges duplicate code | Max Kellermann | 1 | -53/+14 | |
There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files. | |||||
2014-01-30 | db: add compile-time option to disable database | Max Kellermann | 1 | -0/+4 | |
2014-01-24 | Database*: move to db/ | Max Kellermann | 1 | -1/+1 | |
2014-01-23 | playlist/*: move to playlist/plugins/ | Max Kellermann | 1 | -0/+0 | |
2014-01-21 | PlaylistSong: modify the given song object in-place | Max Kellermann | 1 | -57/+39 | |
Reduce bloat. | |||||
2014-01-21 | PlaylistSong: remove redundant "secure" check | Max Kellermann | 1 | -3/+3 | |
This has been verified already in the caller. | |||||
2014-01-20 | PlaylistSong: recurse after applying base_uri | Max Kellermann | 1 | -3/+3 | |
Allows applying map_to_relative_path() with base_uri. | |||||
2014-01-20 | PlaylistSong: remove the IsInDatabase() check | Max Kellermann | 1 | -4/+0 | |
No caller passes a database song to this function, but if he does, this check doesn't make sense. | |||||
2014-01-20 | PlaylistSong: don't map relative URI to absolute path | Max Kellermann | 1 | -18/+2 | |
This didn't make sense. | |||||
2014-01-20 | PlaylistSong: pass reference variables internally | Max Kellermann | 1 | -18/+17 | |
2014-01-19 | LightSong: new class to be used by DatabasePlugin callbacks | Max Kellermann | 1 | -1/+0 | |
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread. | |||||
2014-01-17 | DatabaseSong: new library merging duplicate code | Max Kellermann | 1 | -12/+3 | |
2014-01-15 | DetachedSong: add method Update() | Max Kellermann | 1 | -5/+4 | |
Don't create an intermediate Song instance when all we want is a DetachedSong. | |||||
2014-01-13 | copyright year 2014 | Max Kellermann | 1 | -1/+1 | |
2014-01-09 | DetachedSong: fork of struct Song | Max Kellermann | 1 | -38/+43 | |
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. | |||||
2013-12-15 | util/Tokenizer, ...: include cleanup | Max Kellermann | 1 | -2/+0 | |
2013-12-05 | PlaylistSong.cxx: don't use g_build_filename | Denis Krjuchkov | 1 | -4/+6 | |
2013-12-05 | fs/Traits: split PathTraits type into PathTraitsFS and PathTraitsUTF8 | Denis Krjuchkov | 1 | -3/+3 | |
2013-10-22 | Playlist*, Queue: use GetDatabase() overload without Error | Max Kellermann | 1 | -1/+1 | |
Don't use IgnoreError() when there's an overload that does not try to give us one. | |||||
2013-10-21 | GetBaseUTF8 | Max Kellermann | 1 | -3/+3 | |
2013-10-19 | *: use references instead of pointers | Max Kellermann | 1 | -1/+1 | |
2013-10-17 | fs/Path: rename to AllocatedPath | Max Kellermann | 1 | -2/+2 | |
The new class Path only holds a string pointer without being responsible for allocation/deallocation. The FileSystem.hxx library accepts Path arguments instead of AllocatedPath, to avoid forcing callers to allocate another string object. | |||||
2013-10-17 | fs/Path: move definitions to struct PathTraits | Max Kellermann | 1 | -2/+3 | |
2013-10-14 | fs/Path: add method IsAbsolute() | Max Kellermann | 1 | -2/+2 | |
2013-10-02 | Playlist*: use nullptr instead of NULL | Max Kellermann | 1 | -23/+23 | |
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 | -2/+3 | |
Replaces GLib's GError. | |||||
2013-07-30 | tag: convert to C++ | Max Kellermann | 1 | -4/+4 | |
2013-07-28 | song: convert header to C++ | Max Kellermann | 1 | -27/+24 | |
2013-04-08 | uri: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-28 | Path: convert fs_charset_to_utf8() to static method Path::ToUTF8() | Denis Krjuchkov | 1 | -9/+6 | |
2013-01-22 | Path: move to fs subdirectory | Denis Krjuchkov | 1 | -1/+1 | |
2013-01-18 | Path: new class "Path" wraps filesystem path strings | Max Kellermann | 1 | -2/+2 | |
2013-01-17 | path: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-08 | song: don't use GLib | Max Kellermann | 1 | -0/+2 | |
2013-01-07 | decoder_api.h, ...: add "extern C" | Max Kellermann | 1 | -1/+1 | |
2013-01-03 | ls.h: rename to ls.hxx | Max Kellermann | 1 | -1/+1 | |
2013-01-03 | database.h: eliminate db_*_song() | Max Kellermann | 1 | -3/+8 | |
Use the C++ API. | |||||
2013-01-02 | mapper: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-02 | playlist_{any,song,queue}: convert to C++ | Max Kellermann | 1 | -2/+5 | |
2012-10-05 | playlist_song: fix potential charset bug in apply_song_metadata() | Max Kellermann | 1 | -2/+9 | |
The song's URI must be UTF-8, not filesystem character set. | |||||
2012-08-16 | DatabasePlugin: add method ReturnSong() | Max Kellermann | 1 | -5/+6 | |
Allow the plugin to allocate the GetSong() return value. | |||||
2012-08-16 | playlist_song: pass const song to _check_load_song() | Max Kellermann | 1 | -1/+1 | |
2012-08-16 | playlist_song: fix user-after-free bug | Max Kellermann | 1 | -1/+3 | |
2012-08-14 | playlist_song: use map_to_relative_path() | Max Kellermann | 1 | -4/+4 | |