add methods for saving and adding to playlists
This commit is contained in:
parent
3d40e9a7da
commit
892db1ad76
|
@ -61,6 +61,8 @@ typedef enum
|
|||
EMPD_COMMAND_DELETE_LIST,
|
||||
EMPD_COMMAND_ADD_LIST,
|
||||
EMPD_COMMAND_MOVE_LIST,
|
||||
EMPD_COMMAND_SAVE_PLAYLIST,
|
||||
EMPD_COMMAND_ADDTO_PLAYLIST,
|
||||
EMPD_COMMAND_LOAD_PLAYLIST,
|
||||
EMPD_COMMAND_REPEAT,
|
||||
EMPD_COMMAND_RANDOM,
|
||||
|
@ -92,6 +94,8 @@ static const char *cmd_txt[] =
|
|||
CMD_TXT(EMPD_COMMAND_DELETE_LIST)
|
||||
CMD_TXT(EMPD_COMMAND_ADD_LIST)
|
||||
CMD_TXT(EMPD_COMMAND_MOVE_LIST)
|
||||
CMD_TXT(EMPD_COMMAND_SAVE_PLAYLIST)
|
||||
CMD_TXT(EMPD_COMMAND_ADDTO_PLAYLIST)
|
||||
CMD_TXT(EMPD_COMMAND_LOAD_PLAYLIST)
|
||||
CMD_TXT(EMPD_COMMAND_REPEAT)
|
||||
CMD_TXT(EMPD_COMMAND_RANDOM)
|
||||
|
@ -1054,6 +1058,40 @@ _dbus_move_list_cb(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldb
|
|||
return eldbus_message_method_return_new(msg);
|
||||
}
|
||||
|
||||
static Eldbus_Message *
|
||||
_dbus_save_playlist_cb(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
|
||||
{
|
||||
const char *uri;
|
||||
|
||||
if (!empd->connected)
|
||||
return eldbus_message_method_return_new(msg);
|
||||
if (eldbus_message_arguments_get(msg, "s", &uri))
|
||||
{
|
||||
cmd_append(EMPD_COMMAND_SAVE_PLAYLIST);
|
||||
mpd_async_send_command(empd->async, "save", uri, NULL);
|
||||
fdh_update();
|
||||
}
|
||||
|
||||
return eldbus_message_method_return_new(msg);
|
||||
}
|
||||
|
||||
static Eldbus_Message *
|
||||
_dbus_addto_playlist_cb(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
|
||||
{
|
||||
const char *playlist, *uri;
|
||||
|
||||
if (!empd->connected)
|
||||
return eldbus_message_method_return_new(msg);
|
||||
if (eldbus_message_arguments_get(msg, "ss", &playlist, &uri))
|
||||
{
|
||||
cmd_append(EMPD_COMMAND_ADDTO_PLAYLIST);
|
||||
mpd_async_send_command(empd->async, "playlistadd", playlist, uri, NULL);
|
||||
fdh_update();
|
||||
}
|
||||
|
||||
return eldbus_message_method_return_new(msg);
|
||||
}
|
||||
|
||||
static Eldbus_Message *
|
||||
_dbus_load_playlist_cb(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
|
||||
{
|
||||
|
@ -1154,6 +1192,8 @@ static const Eldbus_Method empd_methods[] =
|
|||
{ "ClearList", NULL, NULL, _dbus_clear_cb, 0},
|
||||
{ "DeleteListRange", ELDBUS_ARGS({"i", "start"}, {"i", "num"}), NULL, _dbus_delete_list_cb, 0},
|
||||
{ "AddList", ELDBUS_ARGS({"s", "path"}), NULL, _dbus_add_list_cb, 0},
|
||||
{ "SavePlaylist", ELDBUS_ARGS({"s", "path"}), NULL, _dbus_save_playlist_cb, 0},
|
||||
{ "AddToPlaylist", ELDBUS_ARGS({"s", "playlist"}, {"s", "uri"}), NULL, _dbus_addto_playlist_cb, 0},
|
||||
{ "LoadPlaylist", ELDBUS_ARGS({"s", "path"}), NULL, _dbus_load_playlist_cb, 0},
|
||||
{ "MoveList", ELDBUS_ARGS({"u", "start_pos"}, {"i", "number"}, {"u", "target_pos"}), NULL, _dbus_move_list_cb, 0},
|
||||
{ "Repeat", ELDBUS_ARGS({"b", "mode"}), NULL, _dbus_repeat_cb, 0},
|
||||
|
|
|
@ -78,6 +78,15 @@
|
|||
<arg type="s" name="uri" direction="in" />
|
||||
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
|
||||
</method>
|
||||
<method name="SavePlaylist">
|
||||
<arg type="s" name="uri" direction="in" />
|
||||
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
|
||||
</method>
|
||||
<method name="AddToPlaylist">
|
||||
<arg type="s" name="playlist" direction="in" />
|
||||
<arg type="s" name="uri" direction="in" />
|
||||
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
|
||||
</method>
|
||||
<method name="LoadPlaylist">
|
||||
<arg type="s" name="uri" direction="in" />
|
||||
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
|
||||
|
|
Loading…
Reference in New Issue