aboutsummaryrefslogtreecommitdiffstats
path: root/src/ls.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-08-24input/soup: new input plugin based on libsoupMax Kellermann1-1/+1
To demonstrate the new I/O thread. libsoup is well-integrated into the GLib main loop, which made this plugin pretty easy to write. As a side effect, we have to initialize the I/O thread in all debug programs that use the input API.
2011-03-29input: Add despotify input pluginSimon Kagstrom1-0/+3
For Spotify tracks. Uses a spt URI, so with mpc you can play tracks with e.g., mpc add spt://spotify:track:5qENVY0YEdZ7fiuOax70x1 mpc play Uses the pcm_decoder_plugin for the output
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-12-22configure.ac: hook the cdio_paranoia input pluginMax Kellermann1-0/+3
2010-05-18input/ffmpeg: new input plugin using libavformat's "avio" libraryMax Kellermann1-0/+8
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-11-12include config.h in all sourcesMax Kellermann1-1/+1
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-10-13input/lastfm: removed obsolete last.fm input pluginMax Kellermann1-3/+0
This has been replaced by the last.fm playlist plugin. The input plugin has never worked well, and was just a playground to experiment with the last.fm radio protocol.
2009-09-24configure.ac: rename HAVE_CURL to ENABLE_CURLMax Kellermann1-1/+1
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-03-03ls: Print output of supported uri to fp rather than stdout.Avuton Olrich1-1/+1
Since there are no other callers than stdout, this wouldn't be a problem, but since there maybe in the future go ahead and fix it.
2009-03-03cmdline: Print available protocols when --version is run.Avuton Olrich1-0/+20
2009-03-02input_lastfm: new input plugin for last.fm radioMax Kellermann1-0/+3
The lastfm input plugin enables MPD to play lastfm:// URLs. This plugin is not complete yet: it plays only the first song in the last.fm playlist, and the playlist parser isn't even implemented properly.
2009-02-25ls: moved generic URI utilities to uri.cMax Kellermann1-13/+1
"ls" is a bad name for a library which parses URIs. We'll move the rest of the "ls" library later.
2009-01-29added support for the MMS protocolMax Kellermann1-0/+6
This patch implements the MMS protocol, by using libmms. It is quite experimental: it does not support seeking yet, and it is currently using synchronous I/O, which causes MPD to hang while waiting for the server.
2009-01-04ls: renamed functions, no CamelCaseMax Kellermann1-4/+7
2009-01-04ls: removed hasMusicSuffix() and get_archive_by_suffix()Max Kellermann1-35/+0
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-04ls: include cleanupMax Kellermann1-6/+4
Don't include headers which are not used. Fix some includes in decoder_thread.c.
2009-01-02list: removed linked list libraryMax Kellermann1-1/+0
It's been superseded by GLib's GSList.
2008-12-31ls.c: include config.h to have HAVE_CURL hereLaszlo Ashin1-0/+1
2008-12-29removed os_compat.hMax Kellermann1-1/+2
Only include headers which are really needed. os_compat.h aimed to make MPD easily portable, but was never actually made portable.
2008-12-27disable archive API without pluginsMax Kellermann1-0/+2
When there are no archive plugins, we do not need the archive API at all. Drop all its overhead.
2008-12-16ls: adding get_archive_by_suffix() functionViliam Mateicka1-0/+15
2008-12-16ls: added uri_has_scheme()Max Kellermann1-0/+4
uri_has_scheme() checks if an URI contains the sub string "://", which makes MPD assume that it is a remote URI.
2008-12-16ls: don't return suffix from parent directory nameMax Kellermann1-1/+1
When a file had no file name extension, getSuffix() could return the extension of the parent directory (if it had one).
2008-12-16ls: reimplement getSuffix() with strrchr()Max Kellermann1-8/+2
The old getSuffix() code was quite wasteful, and can be replaced completely with strrchr().
2008-12-16ls: use boolMax Kellermann1-5/+4
Use the C99 "bool" data type instead of "int".
2008-12-16ls: make printRemoteUrlHandlers() return voidMax Kellermann1-3/+1
printRemoteUrlHandlers() cannot fail, and does not need a return value.
2008-12-16ls: removed isValidRemoteUtf8Url()Max Kellermann1-40/+0
The function didn't do anything useful, it was just several lines obfuscating that it was only forwarding isRemoteUrl()'s return value.
2008-11-01decoder: return const decoder_plugin structsMax Kellermann1-2/+3
The decoder_plugin structs must never change. Don't work with non-const pointers.
2008-10-28utils: use g_str_has_prefix() instead of prefixcmp()Max Kellermann1-2/+1
Remove duplicated code from MPD.
2008-10-26http: use libcurlMax Kellermann1-0/+2
MPD's HTTP client code has always been broken, no matter how effort was put into fixing it. Replace it with libcurl, which is known to be quite stable. This adds a fat library dependency, but only for people who need streaming.
2008-10-22command: added print_spl_list()Max Kellermann1-18/+0
The function print_spl_list() replaces the old function lsPlaylists() from ls.c.
2008-10-22stored_playlist: added spl_list()Max Kellermann1-73/+9
spl_list() provides an interface for enumerating all stored playlists. This separates the internal playlist logic from the protocol specific function lsPlaylists().
2008-10-14ls: removed myStat(), isFile(), isDir()Max Kellermann1-47/+0
The mapper code has replaced these functions.
2008-10-13song: stat file in song_file_update(), don't use isMusic()Max Kellermann1-12/+0
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().
2008-10-13playlist: don't use isPlaylist() in deletePlaylist()Max Kellermann1-16/+0
The only caller of deletePlaylist() appends PLAYLIST_FILE_SUFFIX, so we can be sure it's already there. We don't need to stat the file, since unlink() does all the checking.
2008-09-26song: removed type SongListMax Kellermann1-0/+1
SongList has been superseded by struct songvec.
2008-09-23start using prefixcmp()Eric Wong1-2/+1
LOC reduction and less noise makes things easier for tired old folks to follow.
2008-09-07ls: don't pass "fd" to lsPlaylists(), printRemoteUrlHandlers()Max Kellermann1-6/+6
Pass the client struct instead of the raw file descriptor.
2008-08-29pass constant pointersMax Kellermann1-3/+3
And again, convert arguments to const.
2008-08-26renamed functions in decoder_list.hMax Kellermann1-1/+1
InputPlugin to decoder_plugin, and no camelCase.
2008-08-26renamed InputPlugin to struct decoder_pluginMax Kellermann1-4/+5
"decoder plugin" is a better name than "input plugin", since the plugin does not actually do the input - InputStream does. Also don't use typedef, so we can forward-declare it if required.
2008-03-26use size_tMax Kellermann1-5/+5
When dealing with in-memory lengths, the standard type "size_t" should be used. Missing one can be quite dangerous, because an attacker could provoke an integer under-/overflow, which may provide an attack vector. git-svn-id: https://svn.musicpd.org/mpd/trunk@7205 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-03-26eliminated duplicate initializationMax Kellermann1-1/+1
Local variables which are never read before the first assignment don't need initialization. Saves a few bytes of text. Also don't reset variables which are never read until function return. git-svn-id: https://svn.musicpd.org/mpd/trunk@7199 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-02-05fix -Wconst warningsMax Kellermann1-17/+17
[ew: cleaned up the dirty union hack a bit] Signed-off-by: Eric Wong <normalperson@yhbt.net> git-svn-id: https://svn.musicpd.org/mpd/trunk@7180 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26fixed -Wshadow warningsMax Kellermann1-17/+18
Signed-off-by: Eric Wong <normalperson@yhbt.net> git-svn-id: https://svn.musicpd.org/mpd/trunk@7143 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-03Cleanup #includes of standard system headers and put them in one placeEric Wong1-4/+1
This will make refactoring features easier, especially now that pthreads support and larger refactorings are on the horizon. Hopefully, this will make porting to other platforms (even non-UNIX-like ones for masochists) easier, too. os_compat.h will house all the #includes for system headers considered to be the "core" of MPD. Headers for optional features will be left to individual source files. git-svn-id: https://svn.musicpd.org/mpd/trunk@7130 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-12-28Merge branches/ew r7104Eric Wong1-12/+17
thread-safety work in preparation for rewrite to use pthreads Expect no regressions against trunk (r7078), possibly minor performance improvements in update (due to fewer heap allocations), but increased stack usage. Applied the following patches: * maxpath_str for reentrancy (temporary fix, reverted) * path: start working on thread-safe variants of these methods * Re-entrancy work on path/character-set conversions * directory.c: exploreDirectory() use reentrant functions here * directory/update: more use of reentrant functions + cleanups * string_toupper: a strdup-less version of strDupToUpper * get_song_url: a static-variable-free version of getSongUrl() * Use reentrant/thread-safe get_song_url everywhere * replace rmp2amp with the reentrant version, rmp2amp_r * Get rid of the non-reentrant/non-thread-safe rpp2app, too. * buffer2array: assert strdup() returns a usable value in unit tests * replace utf8ToFsCharset and fsCharsetToUtf8 with thread-safe variants * fix storing playlists w/o absolute paths * parent_path(), a reentrant version of parentPath() * parentPath => parent_path for reentrancy and thread-safety * allow "make test" to automatically run embedded unit tests * remove convStrDup() and maxpath_str() * use MPD_PATH_MAX everywhere instead of MAXPATHLEN * path: get rid of appendSlash, pfx_path and just use pfx_dir * get_song_url: fix the ability to play songs in the top-level music_directory git-svn-id: https://svn.musicpd.org/mpd/trunk@7106 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-05The massive copyright updateAvuton Olrich1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@5834 09075e82-0dd4-0310-85a5-a0d7c8717e4f