| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
When handle_update() was modified to use uri_safe_local(), suddently
"mpc update ''" and "mpc update '/'" stopped working, because both are
not a "safe" local URI. This patch adds a special case for these, to
retain backwards compatibility.
|
|
|
|
|
|
| |
This is a very basic check, which only ensures that the path does not
begin with a slash, doesn't have double slashes and the special names
"." and ".." are forbidden.
|
|
|
|
| |
Same for "listplaylistinfo".
|
| |
|
| |
|
|
|
|
|
| |
Unified function for converting an audio_format object to a string,
for log messages and for the "status" command.
|
|
|
|
|
|
| |
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 command prints a list of decoder plugins and their suffixes /
MIME types.
|
|
|
|
| |
Signed-off-by: Romain Bignon <romain@peerfuse.org>
|
|
|
|
|
| |
When the range end is missing, then the maximum possible value is
assumed.
|
|
|
|
| |
These are portable and don't require limits.h.
|
|
|
|
|
| |
The new command "replay_gain_mode" allows the user to switch the
replay gain mode on-the-fly. No more mpd.conf editing.
|
|
|
|
|
|
| |
This patch integrates the playlist plugin API to the MPD core. We'll
be able to do much more in the future with that API, that's just the
beginning.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The new player_status struct replaces a bunch of playerGetX()
functions. When we add proper locking to the player_control struct,
we will only need to lock once for the "status" command.
|
|
|
|
| |
This lets us eliminate the static fixed-size buffer.
|
| |
|
|
|
|
|
|
| |
Allow most printable characters in unquoted words. The tokenizer
patch introduced very strict requirements for command parameters -
those were undocumented, and we're reverting the strictness now.
|
|
|
|
|
| |
"rescan" is the same as "update", but it discards existing songs in
the database.
|
|
|
|
|
| |
Duplicate the path string within update.c, do not expect an allocated
string as parameter.
|
| |
|
| |
|
| |
|
|
|
|
| |
Renamed all playlist functions to non-CamelCase.
|
| |
|
| |
|
|
|
|
|
|
| |
Converted the range checks in volume_level_change() to assertions.
Changed all volume types to "unsigned", expect for those which must be
able to indicate error (-1).
|
|
|
|
|
| |
Since the "volume" command has been removed, nobody uses relative
volumes anymore.
|
|
|
|
|
| |
This command has been deprecated more than 5 years ago (0.10.0). Its
implementation is a kludge, let's remove it now.
|
| |
|
| |
|
|
|
|
|
| |
strcasecmp() is locale dependent, making it a bad choice for internal
string comparisons.
|
|
|
|
|
| |
This command allows clients to search for stickers with a specified
name.
|
|
|
|
|
|
|
|
| |
db_get_song was being called once for all sub-handlers, but with the
addition of the find command, we don't have a URI coming in, so doing
db_get_song once won't work anymore.
[mk: fixed initialization order]
|
| |
|
|
|
|
|
|
| |
This is a little ugly, but as nextSongInPlaylist is both called when
queued is update (in case playlist ended) and for user "next" command,
there isn't any other (simple) solution
|
| |
|
|
|
|
| |
Consume mode removes each song played
|
|
|
|
|
| |
When single mode is enabled, after current song it stops playback,
or it replay same song if repeat mode is activated.
|
|
|
|
|
|
|
|
|
| |
The smartstop feature is a way to tell mpd to stop playing after
current song.
This patche provides:
- 'state' command returns 'smartstop' state (1 or 0)
- 'smartstop' can activate or not the smartstop state
- when song is terminated, mpd stops playing and smartstop is set to 0
|
|
|
|
|
|
|
|
|
|
|
| |
The move command now accepts a range for the first argument, in the same
form as other range commands, e.g. move 15:17 3. The first song in the
range is placed at the destination position. Note that as with other
range commands, the range is inclusive on the left only; this example
would move only songs 15 and 16, not 17.
[mk: fixed signed/unsigned warnings; use G_MAXUINT instead of
UINT_MAX]
|
|
|
|
| |
Use GLib the logging functions g_debug(), g_error() instead.
|
|
|
|
|
|
| |
At the last line of handle_addid(), the playlist_result value has
already been evaluated. Don't return this variable, it's the wrong
type.
|
|
|
|
|
| |
addToPlaylist() has a "enum playlist_result" return value. Convert
that to "enum command_return" properly.
|
| |
|
|
|
|
|
| |
Return true/false on success/failure, instead of 0/-1. Pass
true/false instead of 1/0 for the "rel" boolean parameter.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|