aboutsummaryrefslogtreecommitdiffstats
path: root/src/SongUpdate.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-12-29command: "lsinfo" and "readcomments" allowed for remote filesMax Kellermann1-0/+14
2013-12-29SongUpdate: read tags from songs in an archiveMax Kellermann1-5/+9
Add the TagStream.cxx library, similar to TagFile.cxx, and use it to load tags from song files inside archives.
2013-12-29DecoderList: add function decoder_plugins_supports_suffix()Max Kellermann1-3/+1
Replaces decoder_plugin_from_suffix().
2013-12-29TagFile: pass reference instead of pointerMax Kellermann1-1/+1
2013-12-10SongUpdate: accept files without metadatamobidyc1-2/+1
If the file was recognized by a decoder plugin, accept it - don't require metadata.
2013-12-05fs/Traits: split PathTraits type into PathTraitsFS and PathTraitsUTF8Denis Krjuchkov1-1/+1
2013-11-28include cleanup using iwyuMax Kellermann1-6/+0
2013-10-26TagFile: use Path instead of const char *Max Kellermann1-3/+3
2013-10-21SongUpdate: use tag_file_scan()Max Kellermann1-63/+9
Eliminate duplicate code.
2013-10-21decoder_plugin: rename struct to DecoderPluginMax Kellermann1-2/+2
2013-10-19*: use references instead of pointersMax Kellermann1-3/+3
2013-10-19*: use nullptr instead of NULLMax Kellermann1-16/+16
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-1/+2
2013-10-17fs/Path: include cleanupMax Kellermann1-0/+1
2013-10-17thread/{Cond,Mutex}: use "class" instead of "typedef"Max Kellermann1-0/+1
Allows forward-declaration.
2013-10-15Client, ...: remove unnecessary glib.h includeMax Kellermann1-2/+0
2013-10-14fs/Path: add method IsAbsolute()Max Kellermann1-1/+1
2013-09-26TagHandler: use a TagBuilder internallyMax Kellermann1-11/+15
Reduce heap allocator overhead.
2013-09-05Tag, ...: move to libtag.aMax Kellermann1-2/+2
2013-09-05InputLegacy: move functions to the input_stream classMax Kellermann1-10/+7
2013-09-04Tag*: move libtag.a sources to src/tag/Max Kellermann1-2/+2
2013-09-04util/Error: new error passing libraryMax Kellermann1-2/+5
Replaces GLib's GError.
2013-09-03input_stream.h: rename to InputLegacy.hxxMax Kellermann1-1/+1
2013-07-30tag: convert to C++Max Kellermann1-13/+10
2013-07-29tag_handler: convert to C++Max Kellermann1-4/+1
2013-07-29ape: convert to C++Max Kellermann1-1/+1
2013-07-28tag_id3: convert to C++Max Kellermann1-1/+1
2013-07-28song: convert header to C++Max Kellermann1-38/+33
2013-07-28decoder_api: convert to C++Max Kellermann1-1/+1
2013-04-08uri: convert to C++Max Kellermann1-1/+1
2013-02-02SongUpdate.cxx: use StatFileDenis Krjuchkov1-1/+2
2013-01-30decoder_list: convert to C++Max Kellermann1-2/+2
2013-01-27DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann1-14/+2
2013-01-22Path: move to fs subdirectoryDenis Krjuchkov1-1/+1
2013-01-18Path: new class "Path" wraps filesystem path stringsMax Kellermann1-9/+9
2013-01-18Playlist, Song: clarify parameter encodingMax Kellermann1-5/+5
2013-01-07decoder_api.h, ...: add "extern C"Max Kellermann1-2/+2
2013-01-03Directory: rename struct directory to DirectoryMax Kellermann1-1/+1
2013-01-02Directory: make the header C++ onlyMax Kellermann1-1/+1
2013-01-02mapper: convert to C++Max Kellermann1-1/+1
2013-01-02song_update: convert to C++Max Kellermann1-2/+9
2012-03-01song_update, udp_server: workarounds for gcc 4.1 warningsMax Kellermann1-0/+5
Annoying false positives.
2012-02-12song_update: update the "has_playlist" flagMax Kellermann1-3/+3
2012-02-12tag_{ape,id3}: remove the _load() functionsMax Kellermann1-27/+6
Use _scan() instead, to have more control.
2012-02-11decoder_plugin: scan tags with callback tableMax Kellermann1-6/+15
Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object.
2011-09-16input_stream: non-blocking I/OMax Kellermann1-3/+15
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins.
2011-03-31fix common misspellingsJonathan Neuschäfer1-1/+1
These fixes were mostly generated with `codespell' [0] and manually reviewed. [0] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-01-01input_stream: return allocated input_stream objectsMax Kellermann1-9/+8
Major API redesign: don't let the caller allocate the input_stream object. Let each input plugin allocate its own (derived/extended) input_stream pointer. The "data" attribute can now be removed, and all input plugins simply cast the input_stream pointer to their own structure (with an "struct input_stream base" as the first attribute).