Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2013-01-27 | DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCond | Max Kellermann | 1 | -14/+2 | |
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 | -9/+9 | |
2013-01-18 | Playlist, Song: clarify parameter encoding | Max Kellermann | 1 | -5/+5 | |
2013-01-07 | decoder_api.h, ...: add "extern C" | Max Kellermann | 1 | -2/+2 | |
2013-01-03 | Directory: rename struct directory to Directory | Max Kellermann | 1 | -1/+1 | |
2013-01-02 | Directory: make the header C++ only | Max Kellermann | 1 | -1/+1 | |
2013-01-02 | mapper: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-02 | song_update: convert to C++ | Max Kellermann | 1 | -2/+9 | |
2012-03-01 | song_update, udp_server: workarounds for gcc 4.1 warnings | Max Kellermann | 1 | -0/+5 | |
Annoying false positives. | |||||
2012-02-12 | song_update: update the "has_playlist" flag | Max Kellermann | 1 | -3/+3 | |
2012-02-12 | tag_{ape,id3}: remove the _load() functions | Max Kellermann | 1 | -27/+6 | |
Use _scan() instead, to have more control. | |||||
2012-02-11 | decoder_plugin: scan tags with callback table | Max Kellermann | 1 | -6/+15 | |
Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object. | |||||
2011-09-16 | input_stream: non-blocking I/O | Max Kellermann | 1 | -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-31 | fix common misspellings | Jonathan Neuschäfer | 1 | -1/+1 | |
These fixes were mostly generated with `codespell' [0] and manually reviewed. [0] http://git.profusion.mobi/cgit.cgi/lucas/codespell/ | |||||
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2010-01-01 | input_stream: return allocated input_stream objects | Max Kellermann | 1 | -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-31 | Update copyright notices. | Avuton Olrich | 1 | -1/+1 | |
2009-12-31 | decoder_plugin: added method stream_tag() | Max Kellermann | 1 | -0/+26 | |
This is like tag_dup(), but works with an input_stream object instead of a file path. | |||||
2009-12-31 | song_update: use decoder_plugin_tag_dup() | Max Kellermann | 1 | -1/+1 | |
Minor code simplification. | |||||
2009-11-11 | added missing config.h includes for extended LFS support | Max Kellermann | 1 | -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-07 | decoder_list: pass previous plugin pointer to lookup functions | Max Kellermann | 1 | -2/+2 | |
Remove the static integer hack, that's not thread safe and sucks. | |||||
2009-10-20 | mapper, update, ...: use g_build_filename(), G_DIR_SEPARATOR, ... | Max Kellermann | 1 | -1/+1 | |
Try to be as portable as possible, use GLib path name functions and macros. | |||||
2009-10-13 | song: renamed attribute "url" to "uri" | Max Kellermann | 1 | -2/+2 | |
2009-10-12 | song: moved code to song_update.c | Max Kellermann | 1 | -56/+0 | |
Moved all the code which depends on the decoder plugins to a separate source. That allows leaner test programs. | |||||
2009-07-06 | song: initialize mtime in song_alloc() | Max Kellermann | 1 | -0/+1 | |
2009-07-06 | song: initialize mtime in song_alloc() | Max Kellermann | 1 | -0/+1 | |
2009-03-13 | all: Update copyright header. | Avuton Olrich | 1 | -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-02-28 | tag: moved APE code to tag_ape.c | Max Kellermann | 1 | -0/+1 | |
2009-02-25 | ls: moved generic URI utilities to uri.c | Max Kellermann | 1 | -1/+1 | |
"ls" is a bad name for a library which parses URIs. We'll move the rest of the "ls" library later. | |||||
2009-02-15 | decoder_api: moved struct decoder_plugin to decoder_plugin.h | Max Kellermann | 1 | -1/+3 | |
The decoder_plugin struct is used by both the MPD core and the decoder plugin implementations. Move it to a shared header file, to minimize header dependencies. | |||||
2009-01-23 | song: include cleanup | Max Kellermann | 1 | -2/+0 | |
Removed unused includes. | |||||
2009-01-17 | song: skip archive check for non-musicdir files | Max Kellermann | 1 | -1/+1 | |
If a song is not within the music directory ("file:///..."), it has no "parent directory". The archive code nonetheless dereferences the parent pointer, causing a segmentation fault. Check parent!=NULL. | |||||
2009-01-17 | moved fallback APE/ID3 tag loader to song.c | Max Kellermann | 1 | -0/+36 | |
Some plugins used the APE or ID3 tag loader as a fallback when their own methods of loading tags did not work. Move this code out of all decoder plugins, into song_file_update(). | |||||
2009-01-04 | song: allocate the result of song_get_url() | Max Kellermann | 1 | -6/+4 | |
2009-01-04 | directory: added directory_is_root() | Max Kellermann | 1 | -1/+1 | |
directory_is_root() is cheaper than isRootDirectory(directory_get_path()). | |||||
2009-01-04 | ls: renamed functions, no CamelCase | Max Kellermann | 1 | -2/+2 | |
2009-01-04 | ls: removed hasMusicSuffix() and get_archive_by_suffix() | Max Kellermann | 1 | -16/+31 | |
Determine the suffix manually, and use decoder_plugin_from_suffix() and archive_plugin_from_suffix() instead. This way, song_file_update_inarchive() can be optimized: it does not have to translate its path. | |||||
2009-01-04 | song: removed duplicate '\n' check | Max Kellermann | 1 | -5/+2 | |
Newline characters are already checked in skip_path() (update.c). | |||||
2009-01-03 | song: use GLib instead of utils.h/log.h | Max Kellermann | 1 | -5/+5 | |
2009-01-02 | mapper: allocate the result of map_directory_child_fs(), map_song_fs() | Max Kellermann | 1 | -7/+9 | |
Don't use fixed stack buffers. | |||||
2008-12-29 | removed os_compat.h | Max Kellermann | 1 | -0/+5 | |
Only include headers which are really needed. os_compat.h aimed to make MPD easily portable, but was never actually made portable. | |||||
2008-12-16 | song: adding support for songs in archives | Viliam Mateicka | 1 | -1/+34 | |
2008-11-01 | decoder: return const decoder_plugin structs | Max Kellermann | 1 | -1/+1 | |
The decoder_plugin structs must never change. Don't work with non-const pointers. | |||||
2008-10-31 | update: check return values | Max Kellermann | 1 | -5/+8 | |
Nearly all mapper functions can fail and will then return NULL. Add checks to all callers. | |||||
2008-10-15 | song: check file type in song_file_update() | Max Kellermann | 1 | -1/+1 | |
Don't load non-regular files. | |||||
2008-10-15 | playlist: added support for adding songs not in the music database | Max Kellermann | 1 | -2/+2 | |
Clients which have authenticated via unix socket may add local files to the MPD playlist, provided that they own the file. | |||||
2008-10-14 | mapper: new song-to-filesystem mapper library | Max Kellermann | 1 | -3/+2 | |
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. | |||||
2008-10-14 | song: pass const song pointer to song_get_url() | Max Kellermann | 1 | -1/+1 | |
song_get_url() doesn't modify the song object. | |||||
2008-10-13 | song: stat file in song_file_update(), don't use isMusic() | Max Kellermann | 1 | -5/+8 | |
isMusic() used to be a very inefficient function: with every invocation, it did another stat() on the specified file. There is only one caller, do the stat() there manually and use hasMusicSuffix() instead of isMusic(). |