command: add optional range parameter to "load"
This commit is contained in:
parent
b0ea3f4261
commit
b9673fc521
1
NEWS
1
NEWS
|
@ -3,6 +3,7 @@ ver 0.17 (2011/??/??)
|
||||||
- support client-to-client communication
|
- support client-to-client communication
|
||||||
- "update" and "rescan" need only "CONTROL" permission
|
- "update" and "rescan" need only "CONTROL" permission
|
||||||
- new command "seekcur" for simpler seeking within current song
|
- new command "seekcur" for simpler seeking within current song
|
||||||
|
- add range parameter to command "load"
|
||||||
* input:
|
* input:
|
||||||
- cdio_paranoia: new input plugin to play audio CDs
|
- cdio_paranoia: new input plugin to play audio CDs
|
||||||
- curl: enable CURLOPT_NETRC
|
- curl: enable CURLOPT_NETRC
|
||||||
|
|
|
@ -1312,12 +1312,14 @@ OK
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
<command>load</command>
|
<command>load</command>
|
||||||
<arg choice="req"><replaceable>NAME</replaceable></arg>
|
<arg choice="req"><replaceable>NAME</replaceable></arg>
|
||||||
|
<arg choice="opt"><replaceable>START:END</replaceable></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
</term>
|
</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Loads the playlist into the current queue. Playlist
|
Loads the playlist into the current queue. Playlist
|
||||||
plugins are supported.
|
plugins are supported. A range may be specified to load
|
||||||
|
only a part of the playlist.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
|
@ -796,12 +796,21 @@ handle_save(struct client *client,
|
||||||
}
|
}
|
||||||
|
|
||||||
static enum command_return
|
static enum command_return
|
||||||
handle_load(struct client *client, G_GNUC_UNUSED int argc, char *argv[])
|
handle_load(struct client *client, int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
unsigned start_index, end_index;
|
||||||
|
|
||||||
|
if (argc < 3) {
|
||||||
|
start_index = 0;
|
||||||
|
end_index = G_MAXUINT;
|
||||||
|
} else if (!check_range(client, &start_index, &end_index,
|
||||||
|
argv[2], need_range))
|
||||||
|
return COMMAND_RETURN_ERROR;
|
||||||
|
|
||||||
enum playlist_result result;
|
enum playlist_result result;
|
||||||
|
|
||||||
result = playlist_open_into_queue(argv[1],
|
result = playlist_open_into_queue(argv[1],
|
||||||
0, G_MAXUINT,
|
start_index, end_index,
|
||||||
&g_playlist,
|
&g_playlist,
|
||||||
client->player_control, true);
|
client->player_control, true);
|
||||||
if (result != PLAYLIST_RESULT_NO_SUCH_LIST)
|
if (result != PLAYLIST_RESULT_NO_SUCH_LIST)
|
||||||
|
@ -809,7 +818,7 @@ handle_load(struct client *client, G_GNUC_UNUSED int argc, char *argv[])
|
||||||
|
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
return playlist_load_spl(&g_playlist, client->player_control,
|
return playlist_load_spl(&g_playlist, client->player_control,
|
||||||
argv[1], 0, G_MAXUINT,
|
argv[1], start_index, end_index,
|
||||||
&error)
|
&error)
|
||||||
? COMMAND_RETURN_OK
|
? COMMAND_RETURN_OK
|
||||||
: print_error(client, error);
|
: print_error(client, error);
|
||||||
|
@ -2140,7 +2149,7 @@ static const struct command commands[] = {
|
||||||
{ "listplaylist", PERMISSION_READ, 1, 1, handle_listplaylist },
|
{ "listplaylist", PERMISSION_READ, 1, 1, handle_listplaylist },
|
||||||
{ "listplaylistinfo", PERMISSION_READ, 1, 1, handle_listplaylistinfo },
|
{ "listplaylistinfo", PERMISSION_READ, 1, 1, handle_listplaylistinfo },
|
||||||
{ "listplaylists", PERMISSION_READ, 0, 0, handle_listplaylists },
|
{ "listplaylists", PERMISSION_READ, 0, 0, handle_listplaylists },
|
||||||
{ "load", PERMISSION_ADD, 1, 1, handle_load },
|
{ "load", PERMISSION_ADD, 1, 2, handle_load },
|
||||||
{ "lsinfo", PERMISSION_READ, 0, 1, handle_lsinfo },
|
{ "lsinfo", PERMISSION_READ, 0, 1, handle_lsinfo },
|
||||||
{ "mixrampdb", PERMISSION_CONTROL, 1, 1, handle_mixrampdb },
|
{ "mixrampdb", PERMISSION_CONTROL, 1, 1, handle_mixrampdb },
|
||||||
{ "mixrampdelay", PERMISSION_CONTROL, 1, 1, handle_mixrampdelay },
|
{ "mixrampdelay", PERMISSION_CONTROL, 1, 1, handle_mixrampdelay },
|
||||||
|
|
Loading…
Reference in New Issue