| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
Remove GLib dependency from some headers.
|
|
|
|
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.
|
|
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
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
"ls" is a bad name for a library which parses URIs. We'll move the
rest of the "ls" library later.
|
|
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.
|
|
|
|
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.
|
|
Don't include headers which are not used. Fix some includes in
decoder_thread.c.
|
|
It's been superseded by GLib's GSList.
|
|
|
|
Only include headers which are really needed. os_compat.h aimed to
make MPD easily portable, but was never actually made portable.
|
|
When there are no archive plugins, we do not need the archive API at
all. Drop all its overhead.
|
|
|
|
uri_has_scheme() checks if an URI contains the sub string "://", which
makes MPD assume that it is a remote URI.
|
|
When a file had no file name extension, getSuffix() could return the
extension of the parent directory (if it had one).
|
|
The old getSuffix() code was quite wasteful, and can be replaced
completely with strrchr().
|
|
Use the C99 "bool" data type instead of "int".
|
|
printRemoteUrlHandlers() cannot fail, and does not need a return
value.
|
|
The function didn't do anything useful, it was just several lines
obfuscating that it was only forwarding isRemoteUrl()'s return value.
|
|
The decoder_plugin structs must never change. Don't work with
non-const pointers.
|
|
Remove duplicated code from MPD.
|
|
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.
|
|
The function print_spl_list() replaces the old function lsPlaylists()
from ls.c.
|
|
spl_list() provides an interface for enumerating all stored playlists.
This separates the internal playlist logic from the protocol specific
function lsPlaylists().
|
|
The mapper code has replaced these functions.
|
|
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().
|
|
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.
|
|
SongList has been superseded by struct songvec.
|
|
LOC reduction and less noise makes things easier for
tired old folks to follow.
|
|
Pass the client struct instead of the raw file descriptor.
|
|
And again, convert arguments to const.
|
|
InputPlugin to decoder_plugin, and no camelCase.
|
|
"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.
|
|
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
|