void cli_help_setup (command_action_t *action) { const GOptionEntry flags[] = { { "alias", 'a', 0, G_OPTION_ARG_NONE, NULL, _("List aliases, or alias definition."), NULL }, { NULL } }; command_action_fill (action, "help", (command_exec_func) &cli_help, COMMAND_REQ_NONE, flags, _("[-a] [command]"), _("List all commands, or help on one command.")); }
void cli_pl_list_setup (command_action_t *action) { const GOptionEntry flags[] = { { "all", 'a', 0, G_OPTION_ARG_NONE, NULL, _("Include hidden playlists."), NULL }, { NULL } }; command_action_fill (action, "playlist list", (command_exec_func) &cli_pl_list, COMMAND_REQ_CONNECTION | COMMAND_REQ_CACHE, flags, _("[-a]"), _("List all playlists.")); }
void cli_jump_setup (command_action_t *action) { const GOptionEntry flags[] = { { "backward", 'b', 0, G_OPTION_ARG_NONE, NULL, _("Jump backward to the first media matching the pattern"), NULL }, { NULL } }; command_action_fill (action, "jump", (command_exec_func) &cli_jump, COMMAND_REQ_CONNECTION | COMMAND_REQ_CACHE, flags, _("[-b] <pattern|positions>"), _("Jump to the first media matching the pattern.")); }
void cli_coll_rename_setup (command_action_t *action) { const GOptionEntry flags[] = { { "force", 'f', 0, G_OPTION_ARG_NONE, NULL, _("Force renaming of the collection, overwrite an existing collection if needed."), NULL}, { NULL } }; command_action_fill (action, "collection rename", (command_exec_func) &cli_coll_rename, COMMAND_REQ_CONNECTION, flags, _("[-f] <oldname> <newname>"), _("Rename a collection.")); }
void cli_pl_sort_setup (command_action_t *action) { const GOptionEntry flags[] = { { "playlist", 'p', 0, G_OPTION_ARG_STRING, NULL, _("Rename the given playlist."), "name" }, { NULL } }; command_action_fill (action, "playlist sort", (command_exec_func) &cli_pl_sort, COMMAND_REQ_CONNECTION | COMMAND_REQ_CACHE, flags, _("[-p <playlist>] [prop] ..."), _("Sort a playlist by a list of properties. By default, sort the active playlist.\n" "To sort by a property in reverse, prefix its name by a '-'.")); }
void cli_pl_rename_setup (command_action_t *action) { const GOptionEntry flags[] = { { "force", 'f', 0, G_OPTION_ARG_NONE, NULL, _("Force the rename of the collection, overwrite an existing collection if needed."), NULL }, { "playlist", 'p', 0, G_OPTION_ARG_STRING, NULL, _("Rename the given playlist."), "name" }, { NULL } }; command_action_fill (action, "playlist rename", (command_exec_func) &cli_pl_rename, COMMAND_REQ_CONNECTION | COMMAND_REQ_CACHE, flags, _("[-f] [-p <playlist>] <newname>"), _("Rename a playlist. By default, rename the active playlist.")); }
void cli_current_setup (command_action_t *action) { const GOptionEntry flags[] = { { "refresh", 'r', 0, G_OPTION_ARG_INT, NULL, _("Delay between each refresh of the status. If 0, the status is only printed once (default)."), "time" }, { "format", 'f', 0, G_OPTION_ARG_STRING, NULL, _("Format string used to display status."), "format" }, { NULL } }; command_action_fill (action, "current", (command_exec_func) &cli_current, COMMAND_REQ_CONNECTION | COMMAND_REQ_CACHE, flags, _("[-r <time>] [-f <format>]"), _("Display current playback status, either continuously or once.")); }
void cli_remove_setup (command_action_t *action) { /* FIXME: support collection ? */ const GOptionEntry flags[] = { { "playlist", 'p', 0, G_OPTION_ARG_STRING, NULL, _("Remove from the given playlist, instead of the active playlist."), "name" }, { NULL } }; command_action_fill (action, "remove", (command_exec_func) &cli_remove, COMMAND_REQ_CONNECTION | COMMAND_REQ_CACHE, flags, _("[-p <playlist>] <pattern|positions>"), _("Remove the matching media from a playlist.")); }
void cli_server_import_setup (command_action_t *action) { const GOptionEntry flags[] = { { "non-recursive", 'N', 0, G_OPTION_ARG_NONE, NULL, _("Do not import directories recursively."), NULL }, { NULL } }; command_action_fill (action, "server import", (command_exec_func) &cli_server_import, COMMAND_REQ_CONNECTION, flags, _("[-N] <path>"), _("Import new files into the media library.\n" "By default, directories are imported recursively.")); }
void cli_search_setup (command_action_t *action) { const GOptionEntry flags[] = { { "order", 'o', 0, G_OPTION_ARG_STRING, NULL, _("List of properties to order by (prefix by '-' for reverse ordering)."), "prop[,...]" }, { "columns", 'l', 0, G_OPTION_ARG_STRING, NULL, _("List of properties to use as columns."), "prop[,...]" }, { NULL } }; command_action_fill (action, "search", (command_exec_func) &cli_search, COMMAND_REQ_CONNECTION, flags, _("[-o <prop[,...]>] [-l <prop[,...]>] <pattern>"), _("Search and print all media matching the pattern.")); }
void cli_pl_create_setup (command_action_t *action) { const GOptionEntry flags[] = { { "switch", 's', 0, G_OPTION_ARG_NONE, NULL, _("Switch to the newly created playlist."), NULL }, { "playlist", 'p', 0, G_OPTION_ARG_STRING, NULL, _("Copy the content of the playlist into the new playlist."), "name" }, { NULL } }; command_action_fill (action, "playlist create", (command_exec_func) &cli_pl_create, COMMAND_REQ_CONNECTION, flags, _("[-s] [-p <playlist>] <name>"), _("Create a new playlist.")); }
void cli_move_setup (command_action_t *action) { const GOptionEntry flags[] = { { "playlist", 'p', 0, G_OPTION_ARG_STRING, NULL, _("Playlist to act on."), "name" }, { "next", 'n', 0, G_OPTION_ARG_NONE, NULL, _("Move the matching tracks after the current track."), NULL }, { "at", 'a', 0, G_OPTION_ARG_INT, NULL, _("Move the matching tracks by an offset or to a position."), "pos|offset"}, { NULL } }; command_action_fill (action, "move", (command_exec_func) &cli_move, COMMAND_REQ_CONNECTION | COMMAND_REQ_CACHE, flags, _("[-p <playlist>] [-n | -a <pos|offset>] <pattern|positions>"), _("Move entries inside a playlist.")); }
void cli_list_setup (command_action_t *action) { const GOptionEntry flags[] = { { "playlist", 'p', 0, G_OPTION_ARG_STRING, NULL, _("List the given playlist."), "name" }, { NULL } }; command_action_fill (action, "list", (command_exec_func) &cli_list, COMMAND_REQ_CONNECTION | COMMAND_REQ_CACHE, flags, _("[-p <name>] <pattern|position>"), _("List the contents of a playlist (the active playlist by default). If a\n" "pattern is provided, contents are further filtered and only the matching\n" "media are displayed.")); }
void cli_server_volume_setup (command_action_t *action) { const GOptionEntry flags[] = { { "channel", 'c', 0, G_OPTION_ARG_STRING, NULL, _("Get or set the volume only for one channel."), "name" }, { NULL } }; command_action_fill (action, "server volume", (command_exec_func) &cli_server_volume, COMMAND_REQ_CONNECTION, flags, _("[-c <name>] [value]"), _("Get or set the audio volume (in a range of 0-100).\n" "If a value is provided, set the new value of the volume. Otherwise, display the current volume.\n" "By default, the command applies to all audio channels. Use the --channel flag to override this behaviour.")); }
void cli_coll_create_setup (command_action_t *action) { const GOptionEntry flags[] = { { "force", 'f', 0, G_OPTION_ARG_NONE, NULL, _("Force creating of the collection, overwrite an existing collection if needed."), NULL}, { "collection", 'c', 0, G_OPTION_ARG_STRING, NULL, _("Copy an existing collection to the new one."), "name"}, { "empty", 'e', 0, G_OPTION_ARG_NONE, NULL, _("Initialize an empty collection."), NULL}, { NULL } }; command_action_fill (action, "collection create", (command_exec_func) &cli_coll_create, COMMAND_REQ_CONNECTION, flags, _("[-f] [-e] [-c <collection>] <name> [pattern]"), _("Create a new collection.\nIf pattern is provided, it is used to define the collection." "\nOtherwise, the new collection contains the whole media library.")); }
void cli_pl_config_setup (command_action_t *action) { const GOptionEntry flags[] = { { "type", 't', 0, G_OPTION_ARG_STRING, NULL, _("Change the type of the playlist: list, queue, pshuffle."), "type" }, { "history", 's', 0, G_OPTION_ARG_INT, NULL, _("Size of the history of played tracks (for queue, pshuffle)."), "n" }, { "upcoming",'u', 0, G_OPTION_ARG_INT, NULL, _("Number of upcoming tracks to maintain (for pshuffle)."), "n" }, { "input", 'i', 0, G_OPTION_ARG_STRING, NULL, _("Input collection for the playlist (for pshuffle). Default to 'All Media'."), "coll" }, { "jumplist",'j', 0, G_OPTION_ARG_STRING, NULL, _("Jump to another playlist when the end of the playlist is reached."), "playlist"}, { NULL } }; command_action_fill (action, "playlist config", (command_exec_func) &cli_pl_config, COMMAND_REQ_CONNECTION | COMMAND_REQ_CACHE, flags, _("[-t <type>] [-s <history>] [-u <upcoming>] [-i <coll>] [-j <playlist>] [playlist]"), _("Configure a playlist by changing its type, attributes, etc.\nBy default, configure the active playlist.")); }
static command_trie_t* command_trie_subtrie_insert (command_trie_t* node, gchar c, gchar *prefix) { if (node->match.type == COMMAND_TRIE_MATCH_ACTION) { /* Cannot overwrite an existing action, error! */ return NULL; } else if (node->match.type == COMMAND_TRIE_MATCH_NONE) { node->match.type = COMMAND_TRIE_MATCH_SUBTRIE; node->match.subtrie = command_trie_alloc (); node->match.action = command_action_alloc (); command_action_fill (node->match.action, prefix, NULL, COMMAND_REQ_NONE, NULL, NULL, NULL); } return command_trie_elem_insert (node->match.subtrie, c); }
void cli_server_property_setup (command_action_t *action) { const GOptionEntry flags[] = { { "int", 'i', 0, G_OPTION_ARG_NONE, NULL, _("Force the value to be treated as integer."), NULL }, { "string", 's', 0, G_OPTION_ARG_NONE, NULL, _("Force the value to be treated as a string."), NULL }, { "delete", 'D', 0, G_OPTION_ARG_NONE, NULL, _("Delete the selected property."), NULL }, { "source", 'S', 0, G_OPTION_ARG_STRING, NULL, _("Property source."), NULL }, { NULL } }; command_action_fill (action, "server property", (command_exec_func) &cli_server_property, COMMAND_REQ_CONNECTION | COMMAND_REQ_CACHE, flags, _("[-i | -s | -D] [-S] <mid> [name [value]]"), _("Get or set properties for a given media.\n" "If no name or value is provided, list all properties.\n" "If only a name is provided, display the value of the property.\n" "If both a name and a value are provided, set the new value of the property.\n\n" "By default, set operations use source \"client/" CLI_CLIENTNAME "\", while list and display operations use source-preference.\n" "Use the --source option to override this behaviour.\n\n" "By default, the value will be used to determine whether it should be saved as a string or an integer.\n" "Use the --int or --string flag to override this behaviour.")); }
void cli_add_setup (command_action_t *action) { /* FIXME: support collection ? */ const GOptionEntry flags[] = { { "file", 'f', 0, G_OPTION_ARG_NONE, NULL, _("Treat the arguments as file paths instead of a pattern."), "path" }, { "pls", 'P', 0, G_OPTION_ARG_NONE, NULL, _("Treat the files as playlist files (implies --file.)"), "path" }, { "pattern", 't', 0, G_OPTION_ARG_NONE, NULL, _("Force treating arguments as pattern."), "pattern" }, { "non-recursive", 'N', 0, G_OPTION_ARG_NONE, NULL, _("Do not add directories recursively."), NULL }, { "playlist", 'p', 0, G_OPTION_ARG_STRING, NULL, _("Add to the given playlist."), "name" }, { "next", 'n', 0, G_OPTION_ARG_NONE, NULL, _("Add after the current track."), NULL }, { "at", 'a', 0, G_OPTION_ARG_INT, NULL, _("Add media at a given position in the playlist, or at a given offset from the current track."), "pos|offset" }, { "attribute", 'A', 0, G_OPTION_ARG_STRING_ARRAY, NULL, _("Add media with given key=value attribute(s)."), NULL }, { "order", 'o', 0, G_OPTION_ARG_STRING, NULL, _("Order media by specified properties."), NULL }, { "jump", 'j', 0, G_OPTION_ARG_NONE, NULL, _("Jump to and start playing the newly-added media."), NULL }, { NULL } }; command_action_fill (action, "add", (command_exec_func) &cli_add, COMMAND_REQ_CONNECTION | COMMAND_REQ_CACHE, flags, _("[-t | -f [-N] [-P] [-A key=value]... ] [-p <playlist>] [-n | -a <pos|offset>] [-j] [pattern | paths] -o prop[,...]"), _("Add the matching media or files to a playlist.")); }