| Commit message (Collapse) | Author | Files | Lines |
|
Thanks to clang for complaining.
|
|
Call print_playlist_result() instead of casting the enum implicitly.
|
|
this is inconsistent with other commands (e.g. find) and seems wrong --
a song with no stickers attached is a perfectly valid state and an empty
list of stickers is also perfectly valid.
|
|
On WIN32, "%F" and "%T" are not implemented.
|
|
Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and
MIXRAMP_END tags from FLAC files and overlaps instead of crossfading.
|
|
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.
|