aboutsummaryrefslogtreecommitdiffstats
path: root/src/SongUpdate.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
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).
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-31decoder_plugin: added method stream_tag()Max Kellermann1-0/+26
This is like tag_dup(), but works with an input_stream object instead of a file path.
2009-12-31song_update: use decoder_plugin_tag_dup()Max Kellermann1-1/+1
Minor code simplification.
2009-11-11added missing config.h includes for extended LFS supportMax Kellermann1-0/+1
All sources which might work with large files must include config.h, to get Large File Support on 32 bit platforms.
2009-11-07decoder_list: pass previous plugin pointer to lookup functionsMax Kellermann1-2/+2
Remove the static integer hack, that's not thread safe and sucks.
2009-10-20mapper, update, ...: use g_build_filename(), G_DIR_SEPARATOR, ...Max Kellermann1-1/+1
Try to be as portable as possible, use GLib path name functions and macros.
2009-10-13song: renamed attribute "url" to "uri"Max Kellermann1-2/+2
2009-10-12song: moved code to song_update.cMax Kellermann1-56/+0
Moved all the code which depends on the decoder plugins to a separate source. That allows leaner test programs.