Max Kellermann
ba7c996266
locate: added struct locate_item_list
...
Instead of passing two parameters around (number of items, array of
items), combine both in a variable size struct.
2009-01-24 15:56:30 +01:00
Max Kellermann
3582977e01
locate: no CamelCase
...
Renamed functions and variables.
2009-01-24 15:26:59 +01:00
Max Kellermann
cf9595df18
playlist: removed locate functions to queue_print.c
...
Now playlist.c does not contain any protocol specific code anymore.
2009-01-24 14:55:28 +01:00
Max Kellermann
53e712aca4
locate: renamed LocateTagItem to "struct locate_item"
...
No CamelCase and no typedefs.
2009-01-24 14:52:05 +01:00
Max Kellermann
627d590ce5
command: use queue_print_*()
...
Replaced several wrapper functions from playlist.c, and make command.c
use the queue print functions directly.
2009-01-24 14:52:04 +01:00
Laszlo Ashin
84b63c45fa
command: eliminate gcc warning
...
Argument cmd of function command_available() is not used if mpd was
configured without sqlite.
2009-01-24 11:13:58 +01:00
Max Kellermann
48d3404727
commands: don't advertise "sticker" unless configured
...
In the return value of the "commands" command, don't list the
"sticker" command if no sticker file is configured.
2009-01-23 18:51:14 +01:00
Max Kellermann
8afe24c1de
playlist: moved PlaylistInfo() to playlist_print.c
...
PlaylistInfo() (notice the capital 'P') sends a stored playlist to the
client. Move it to a separate library, where all the code which glues
the playlist and the MPD protocol together will live.
2009-01-23 16:34:27 +01:00
Max Kellermann
e5c323fd57
playlist: removed stopOnError flag from playPlaylist()
...
All callers pass false. Don't bother to collect that parameter.
2009-01-23 00:10:50 +01:00
Max Kellermann
5541015ac6
command: don't restart player in the "status" command
...
Don't attempt to restart the player if it was stopped, but there were
still songs left on the playlist. This looks like it has been a
workaround for a bug which has been fixed long time ago.
2009-01-21 16:17:57 +01:00
Qball Cow
d10910cc90
Add space after sticker: to make it consistent.
2009-01-20 13:55:21 +01:00
Max Kellermann
f9c693e602
command: added "sticker" command
...
The "sticker" command allows clients to query or manipulate the
sticker database. This patch implements the sub-commands "get" and
"set"; more will follow soon (enumeration), as well as extended
"lsinfo" / "playlistinfo" versions.
2009-01-19 19:09:49 +01:00
Max Kellermann
9933144de7
mapper: make the playlist directory optional
2009-01-18 16:15:45 +01:00
Max Kellermann
0d449d8df7
stats: no CamelCase
...
Renamed functions and types.
2009-01-18 15:22:26 +01:00
Max Kellermann
983822ea52
command: restore the "playlistinfo -1" behavior
...
If a range is "-1", display the whole list. This behavior is
undocumented, but some clients rely on it.
2009-01-11 17:11:11 +01:00
Max Kellermann
8ebe7bfb25
playlist: pass unsigned integers to playlistInfo()
...
A song index cannot be negative. Also require the second parameter to
be valid.
2009-01-10 17:39:49 +01:00
Max Kellermann
b7c4b78846
playlist: exclude end of range
...
In a range "start:end", "end" itself should not be included. Use the
same semantics as other languages implementing ranges, e.g. Python.
2009-01-10 17:05:03 +01:00
Thomas Jansen
6f0781f039
command: playlistinfo now uses a range argument rather than just a song id
...
Loosely based on a patch provided by lesion in bug #1766 . The playlistinfo
command can now retrieve ranges of the playlist. The new argument indicates
which entry is the last one that will be displayed. The number of displayed
entries may be smaller than expected if the end of the playlist is reached.
Previous usage:
playlistinfo [start]
New usage:
playlistinfo [start[:end]]
2009-01-10 16:50:34 +01:00
Thomas Jansen
8ed3cf3e6b
command: add a parser for range arguments
...
A range argument looks like start[:end] and is used to specify the entries
of a list that should be returned (rather than the whole list).
2009-01-10 16:48:12 +01:00
Max Kellermann
5e93d3682f
added missing explicit config.h includes
2009-01-08 21:37:02 +01:00
Max Kellermann
8c5470a3db
playlist: log errors during loadPlaylist()
...
Don't call command_error() if loading a song from the playlist fails.
This may result in assertion failures, since command_error() may be
called more than once.
2009-01-04 18:59:32 +01:00
Max Kellermann
45597cc571
ls: renamed functions, no CamelCase
2009-01-04 17:46:42 +01:00
Max Kellermann
7d87f71d83
command: check URI scheme in "addid"
...
Check if the URI scheme is supported by MPD, and print an error
message if not. Optimize the checks in "add" and "playlistadd".
2009-01-04 16:22:08 +01:00
Max Kellermann
ef0b328a3c
command: added variable "uri" to command handlers
...
Don't work with argv[1], give it the better name "uri".
2009-01-04 16:19:45 +01:00
Max Kellermann
dec4e4ca85
don't include utils.h when it isn't used
2009-01-03 14:52:56 +01:00
Max Kellermann
2cf96abcc1
command: fix adding local files on !WIN32
...
Due to a typo, adding local files was always denied.
Disable the second playlist_append_file() invocation on WIN32.
2009-01-03 12:29:42 +01:00
Viliam Mateicka
9a70c4d06d
Moving mixers to audio outputs
2008-12-31 16:46:41 +01:00
Max Kellermann
bb55ec6b4e
command: don't allow adding local files on WIN32
...
There are no unix sockets on WIN32, and therefore no authentication.
WIN32 might have similar capabilities, but until we implement them,
disable that MPD feature.
2008-12-30 19:14:13 +01:00
Max Kellermann
95b3430f52
removed os_compat.h
...
Only include headers which are really needed. os_compat.h aimed to
make MPD easily portable, but was never actually made portable.
2008-12-29 17:28:32 +01:00
Max Kellermann
041b8f697b
command: use gmtime() on WIN32
...
gmtime_r() is not available.
2008-12-29 17:28:13 +01:00
Max Kellermann
5aa1afe693
command: reject unsupported URI schemes
...
When a client-specified URI has a scheme which is not supported, do
not try to open it as a local file, but provide a meaningful error
message.
2008-12-16 21:23:29 +01:00
Max Kellermann
1d82edc6d3
ls: make printRemoteUrlHandlers() return void
...
printRemoteUrlHandlers() cannot fail, and does not need a return
value.
2008-12-16 21:18:31 +01:00
Thomas Jansen
c06ce44768
replaced mpd_printf etc by G_GNUC_PRINTF
...
We want to remove gcc.h eventually. This takes care of all the G_GNUC_PRINTF
macros.
2008-12-02 03:00:02 +01:00
Thomas Jansen
bc74503a69
command.c: replaced mpd_unused by G_GNUC_UNUSED
2008-11-24 14:55:32 +01:00
Max Kellermann
d0779e71ab
command: format strerror() with "%s"
...
We shouldn't pass strerror() where a format string is expected.
2008-11-22 14:57:00 +01:00
Marc Pavot
0bad84066b
command: allow clients to subscribe to specific idle events
...
The client may provide the names of idle events as arguments to the
"idle" command to inform MPD that it is only interested in these
events.
2008-11-22 13:26:21 +01:00
Max Kellermann
9fdac529b4
path: removed sanitizePathDup()
...
We don't need to sanitize the path, because the mapper already checks
for malformed paths.
2008-10-31 16:50:51 +01:00
Max Kellermann
90e9079142
client: use GSList instead of struct strnode for command lists
...
Replace a custom data structure with a GLib one.
2008-10-31 09:17:56 +01:00
Max Kellermann
4fa36a15bf
command: removed range check from check_bool()
...
check_bool() accepts only "0" or "1". The range check is superfluous.
2008-10-26 16:19:33 +01:00
Max Kellermann
098991f8e8
command: fix boolean value parser
...
Due to a logic error, no value was valid for the boolean value
parser. Replace "||" with "&&".
2008-10-23 18:06:05 +02:00
Max Kellermann
93598e28f4
stored_playlist: renamed and moved spl_delete() to stored_playlist.c
...
The function deletePlaylist() shouldn't be in playlist.c.
2008-10-23 09:54:32 +02:00
Max Kellermann
e172874cc6
command: check over/underflows in check_int()
...
The "long" result of strtol() was implicitly casted down to a 32 bit
integer. Add some range checking instead.
2008-10-23 09:54:10 +02:00
Max Kellermann
95ae1d9e9e
command: added check_unsigned() / check_bool()
...
Many command arguments must not be negative; add a separate
parser/checker function for that. For the same reason, add
check_bool(). This eliminates two strange special cases handlers from
check_int().
2008-10-23 09:53:35 +02:00
Max Kellermann
bc938603f6
playlist: unsigned integers
...
There are some integers which have a "magic" -1 value which means
"undefined" or "nothing". All others can be converted to unsigned,
since they must not contain a negative number.
2008-10-23 07:19:46 +02:00
Max Kellermann
890b067346
command: use the bool datatype instead of int
...
Instead of returning 0 for success and -1 for failure, return true or
false. This seems more natural.
2008-10-22 21:41:54 +02:00
Max Kellermann
d4f3c09081
command: converted COMMAND_RETURN_* macros to enum
...
Also add names for "error" and "ok". I don't like passing anonymous
integer codes around.
This is not yet complete: lots of functions (e.g. in playlist.c)
follow the same convention of -1/0, and these have to be adapted, too.
2008-10-22 21:41:49 +02:00
Max Kellermann
d11ee6580c
command: replaced "goto" with "break"
...
http://xkcd.com/292/
2008-10-22 21:40:58 +02:00
Max Kellermann
51a6ee88f7
command: no CamelCase
...
Eliminate CamelCase in all public and static functions.
2008-10-22 21:40:44 +02:00
Max Kellermann
69c563b511
command: removed CommandHandlerFunction typedef
...
The typedef CommandHandlerFunction is only used once. Move its type
into the command struct.
2008-10-22 21:40:36 +02:00
Max Kellermann
d0a9dcdcf5
ack: converted ACK_ERROR_* macros to enum
2008-10-22 21:40:32 +02:00