aboutsummaryrefslogtreecommitdiffstats
path: root/src/Mapper.hxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-30db: add compile-time option to disable databaseMax Kellermann1-0/+12
2014-01-19LightSong: new class to be used by DatabasePlugin callbacksMax Kellermann1-1/+2
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread.
2014-01-17Mapper: add function map_song_detach()Max Kellermann1-0/+8
Make the DetachedSong(Song) conversion constructor private. Everybody should use map_song_detach() which will take over more responsibilities soon.
2014-01-13copyright year 2014Max Kellermann1-1/+1
2014-01-09DetachedSong: fork of struct SongMax Kellermann1-0/+5
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-04Mapper: update API documentationMax Kellermann1-2/+1
2013-11-28include cleanup using iwyuMax Kellermann1-1/+0
2013-11-22Mapper: _get_music_directory_utf8() may return nullptrMax Kellermann1-1/+2
If no music_directory is configured, return nullptr instead of an empty string. This fixes a crash when db_file is configured without music_directory.
2013-10-19*: use references instead of pointersMax Kellermann1-3/+3
2013-10-17fs/Path: rename to AllocatedPathMax Kellermann1-8/+9
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-15gcc.h: rename to Compiler.hMax Kellermann1-1/+1
2013-10-14Mapper: map_fs_to_utf8() returns std::stringMax Kellermann1-3/+6
Avoid the conversion to an allocated char*, let the caller decide.
2013-09-04util/Error: new error passing libraryMax Kellermann1-1/+0
Replaces GLib's GError.
2013-08-07ConfigPath: return a Path objectMax Kellermann1-2/+2
Migrate all callers to use Path directly, instead of doing the conversion in each caller.
2013-07-28song: convert header to C++Max Kellermann1-2/+2
2013-01-28Path::FromUTF8() returns nulled instance on error, add error handling where ↵Denis Krjuchkov1-1/+2
required
2013-01-26Mapper: improve usage of Path classDenis Krjuchkov1-2/+2
2013-01-18Path: new class "Path" wraps filesystem path stringsMax Kellermann1-9/+10
2013-01-03Directory: rename struct directory to DirectoryMax Kellermann1-3/+3
2013-01-02mapper: convert to C++Max Kellermann1-12/+9
2012-08-14mapper: fix non-UTF8 music directory nameMax Kellermann1-2/+13
Duplicate the music_dir variable: one encoded in UTF-8, and another one using the configured filesystem character set. This fixes an ancient MPD bug.
2012-08-02gcc.h: re-add gcc_const and gcc_pureMax Kellermann1-11/+12
Remove GLib dependency from some headers.
2012-08-02DatabaseVisitor, ...: use GError forward declarationMax Kellermann1-0/+2
2012-02-13mapper: add mapper_get_music_directory()Max Kellermann1-2/+9
Shortcut for map_directory_fs(db_get_root()).
2012-02-13mapper: add "pure" attributesMax Kellermann1-0/+10
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-07-25{queue,song}_print: print relative paths if possibleMax Kellermann1-0/+8
If a song with an absolute path points inside the music directory, print only the relative part. This happens when partial songs from a playlist file were loaded.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-08mapper: apply filesystem_charset to playlistsMax Kellermann1-0/+2
This fixes an inconsistency in the stored playlist subsystem: when obtaining the list of playlists (listplaylist, listplaylistinfo), the file names in the playlist directory are converted to UTF-8 (according to filesystem_charset), but when saving or loading playlists, the filesystem_charset setting was ignored.
2009-07-15mapper: pass music and playlist directory to mapper_init()Max Kellermann1-1/+1
Added another glue function in main().
2009-03-13all: Update copyright header.Avuton Olrich1-6/+7
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-01-25mapper: added dot to PLAYLIST_FILE_SUFFIXMax Kellermann1-1/+1
Some code will be a little bit simpler if the dot is part of the string literal.
2009-01-18mapper: make the music_directory optionalMax Kellermann1-0/+8
Without a music_directory, MPD is an excellent streaming client.
2009-01-04mapper: allocate the result of map_fs_to_utf8()Max Kellermann1-6/+2
2009-01-02mapper: allocate the result of map_directory_child_fs(), map_song_fs()Max Kellermann1-5/+4
Don't use fixed stack buffers.
2009-01-02mapper: allocate the result of map_uri_fs(), map_directory_fs()Max Kellermann1-4/+4
Don't use fixed stack buffers.
2009-01-01mapper: allocate playlist path from heapMax Kellermann1-3/+4
Don't pass a static buffer to map_spl_utf8_to_fs().
2008-12-24playlist: fix stored playlist modifications with absolute pathsMax Kellermann1-0/+8
When save_absolute_paths_in_playlists was enabled in mpd.conf, MPD broke all playlists when manipulated using the "playlistdelete" command. The reason was that map_directory_child_fs() was used, which doesn't accept slashes in the file name. Use the new map_uri_fs() function instead.
2008-10-31path: moved playlist_dir to mapper.cMax Kellermann1-0/+15
Added the function map_spl_utf8_to_fs() which replaces utf8_to_fs_playlist_path().
2008-10-31added prefix to header macrosMax Kellermann1-2/+2
"LOG_H" is a macro which is also used by ffmpeg/log.h. This is ffmpeg's fault, because short macros should be reserved for applications, but since it's always a good idea to choose prefixed macro names, even for applications, we are going to do that in MPD.
2008-10-15mapper: moved musicDir initialization from path.cMax Kellermann1-0/+4
Moved the musicDir variable and its initialization code from path.c to mapper.c.
2008-10-14mapper: new song-to-filesystem mapper libraryMax Kellermann1-0/+74
The mapper library maps directory and song objects to file system paths. With this central library, the code mixture in path.c should be cleaned up, and we will be able to add neat features like aliasing.