aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist/PlaylistSong.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-07-12PlaylistSong: always merge tags and LastModifiedMax Kellermann1-12/+2
2014-07-12PlaylistSong, CueParser: don't override Tag::timeMax Kellermann1-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-10PlaylistSong: copy the "real" URIMax Kellermann1-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-07PlaylistSong: include cleanupMax Kellermann1-2/+0
2014-02-03SongLoader: new class that merges duplicate codeMax Kellermann1-53/+14
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 Kellermann1-0/+4
2014-01-24Database*: move to db/Max Kellermann1-1/+1
2014-01-23playlist/*: move to playlist/plugins/Max Kellermann1-0/+0
2014-01-21PlaylistSong: modify the given song object in-placeMax Kellermann1-57/+39
Reduce bloat.
2014-01-21PlaylistSong: remove redundant "secure" checkMax Kellermann1-3/+3
This has been verified already in the caller.
2014-01-20PlaylistSong: recurse after applying base_uriMax Kellermann1-3/+3
Allows applying map_to_relative_path() with base_uri.
2014-01-20PlaylistSong: remove the IsInDatabase() checkMax Kellermann1-4/+0
No caller passes a database song to this function, but if he does, this check doesn't make sense.
2014-01-20PlaylistSong: don't map relative URI to absolute pathMax Kellermann1-18/+2
This didn't make sense.
2014-01-20PlaylistSong: pass reference variables internallyMax Kellermann1-18/+17
2014-01-19LightSong: new class to be used by DatabasePlugin callbacksMax Kellermann1-1/+0
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread.
2014-01-17DatabaseSong: new library merging duplicate codeMax Kellermann1-12/+3
2014-01-15DetachedSong: add method Update()Max Kellermann1-5/+4
Don't create an intermediate Song instance when all we want is a DetachedSong.
2014-01-13copyright year 2014Max Kellermann1-1/+1
2014-01-09DetachedSong: fork of struct SongMax Kellermann1-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-15util/Tokenizer, ...: include cleanupMax Kellermann1-2/+0
2013-12-05PlaylistSong.cxx: don't use g_build_filenameDenis Krjuchkov1-4/+6
2013-12-05fs/Traits: split PathTraits type into PathTraitsFS and PathTraitsUTF8Denis Krjuchkov1-3/+3
2013-10-22Playlist*, Queue: use GetDatabase() overload without ErrorMax Kellermann1-1/+1
Don't use IgnoreError() when there's an overload that does not try to give us one.
2013-10-21GetBaseUTF8Max Kellermann1-3/+3
2013-10-19*: use references instead of pointersMax Kellermann1-1/+1
2013-10-17fs/Path: rename to AllocatedPathMax Kellermann1-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-17fs/Path: move definitions to struct PathTraitsMax Kellermann1-2/+3
2013-10-14fs/Path: add method IsAbsolute()Max Kellermann1-2/+2
2013-10-02Playlist*: use nullptr instead of NULLMax Kellermann1-23/+23
2013-09-05Tag, ...: move to libtag.aMax Kellermann1-1/+1
2013-09-04util/Error: new error passing libraryMax Kellermann1-2/+3
Replaces GLib's GError.
2013-07-30tag: convert to C++Max Kellermann1-4/+4
2013-07-28song: convert header to C++Max Kellermann1-27/+24
2013-04-08uri: convert to C++Max Kellermann1-1/+1
2013-01-28Path: convert fs_charset_to_utf8() to static method Path::ToUTF8()Denis Krjuchkov1-9/+6
2013-01-22Path: move to fs subdirectoryDenis Krjuchkov1-1/+1
2013-01-18Path: new class "Path" wraps filesystem path stringsMax Kellermann1-2/+2
2013-01-17path: convert to C++Max Kellermann1-1/+1
2013-01-08song: don't use GLibMax Kellermann1-0/+2
2013-01-07decoder_api.h, ...: add "extern C"Max Kellermann1-1/+1
2013-01-03ls.h: rename to ls.hxxMax Kellermann1-1/+1
2013-01-03database.h: eliminate db_*_song()Max Kellermann1-3/+8
Use the C++ API.
2013-01-02mapper: convert to C++Max Kellermann1-1/+1
2013-01-02playlist_{any,song,queue}: convert to C++Max Kellermann1-2/+5
2012-10-05playlist_song: fix potential charset bug in apply_song_metadata()Max Kellermann1-2/+9
The song's URI must be UTF-8, not filesystem character set.
2012-08-16DatabasePlugin: add method ReturnSong()Max Kellermann1-5/+6
Allow the plugin to allocate the GetSong() return value.
2012-08-16playlist_song: pass const song to _check_load_song()Max Kellermann1-1/+1
2012-08-16playlist_song: fix user-after-free bugMax Kellermann1-1/+3
2012-08-14playlist_song: use map_to_relative_path()Max Kellermann1-4/+4
2012-08-14playlist_song: improve const-correctnessMax Kellermann1-5/+4