]> code.delx.au - pulseaudio/blobdiff - src/utils/pactl.c
pactl: Make stat backwards compatible with previous versions.
[pulseaudio] / src / utils / pactl.c
index e6f9c1752fdacbb32a3f20a0ae1a44515ebcbc28..c95a38cecd0c4b64201c789325fcf118317eda94 100644 (file)
@@ -1001,7 +1001,9 @@ static void context_state_callback(pa_context *c, void *userdata) {
             switch (action) {
                 case STAT:
                     pa_operation_unref(pa_context_stat(c, stat_callback, NULL));
-                    break;
+                    if (short_list_format)
+                        break;
+                    actions++;
 
                 case INFO:
                     pa_operation_unref(pa_context_get_server_info(c, get_server_info_callback, NULL));
@@ -1251,39 +1253,30 @@ static int parse_volume(const char *vol_spec, pa_volume_t *vol, enum volume_flag
 
 static void help(const char *argv0) {
 
-    printf(_("%s [options] stat\n"
-             "%s [options] info\n"
-             "%s [options] list [short] [TYPE]\n"
-             "%s [options] exit\n"
-             "%s [options] upload-sample FILENAME [NAME]\n"
-             "%s [options] play-sample NAME [SINK]\n"
-             "%s [options] remove-sample NAME\n"
-             "%s [options] move-sink-input SINKINPUT SINK\n"
-             "%s [options] move-source-output SOURCEOUTPUT SOURCE\n"
-             "%s [options] load-module NAME [ARGS ...]\n"
-             "%s [options] unload-module MODULE\n"
-             "%s [options] suspend-sink SINK 1|0\n"
-             "%s [options] suspend-source SOURCE 1|0\n"
-             "%s [options] set-card-profile CARD PROFILE\n"
-             "%s [options] set-sink-port SINK PORT\n"
-             "%s [options] set-source-port SOURCE PORT\n"
-             "%s [options] set-sink-volume SINK VOLUME\n"
-             "%s [options] set-source-volume SOURCE VOLUME\n"
-             "%s [options] set-sink-input-volume SINKINPUT VOLUME\n"
-             "%s [options] set-source-output-volume SOURCEOUTPUT VOLUME\n"
-             "%s [options] set-sink-mute SINK 1|0\n"
-             "%s [options] set-source-mute SOURCE 1|0\n"
-             "%s [options] set-sink-input-mute SINKINPUT 1|0\n"
-             "%s [options] subscribe\n\n"
+    printf("%s %s %s\n",    argv0, _("[options]"), "stat [short]");
+    printf("%s %s %s\n",    argv0, _("[options]"), "info");
+    printf("%s %s %s %s\n", argv0, _("[options]"), "list [short]", _("[TYPE]"));
+    printf("%s %s %s\n",    argv0, _("[options]"), "exit");
+    printf("%s %s %s %s\n", argv0, _("[options]"), "upload-sample", _("FILENAME [NAME]"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "play-sample ", _("NAME [SINK]"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "remove-sample ", _("NAME"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "load-module ", _("NAME [ARGS ...]"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "unload-module ", _("#N"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "move-(sink-input|source-output)", _("#N SINK|SOURCE"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "suspend-(sink|source)", _("NAME|#N 1|0"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "set-card-profile ", _("CARD PROFILE"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "set-(sink|source)-port", _("NAME|#N PORT"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "set-(sink|source)-volume", _("NAME|#N VOLUME"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "set-(sink-input|source-output)-volume", _("#N VOLUME"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "set-(sink|source)-mute", _("NAME|#N 1|0"));
+    printf("%s %s %s %s\n", argv0, _("[options]"), "set-sink-input-mute", _("#N 1|0"));
+    printf("%s %s %s\n",    argv0, _("[options]"), "subscribe");
+
+    printf(_("\n"
              "  -h, --help                            Show this help\n"
              "      --version                         Show version\n\n"
              "  -s, --server=SERVER                   The name of the server to connect to\n"
-             "  -n, --client-name=NAME                How to call this client on the server\n"),
-           argv0, argv0, argv0, argv0, argv0,
-           argv0, argv0, argv0, argv0, argv0,
-           argv0, argv0, argv0, argv0, argv0,
-           argv0, argv0, argv0, argv0, argv0,
-           argv0, argv0, argv0, argv0);
+             "  -n, --client-name=NAME                How to call this client on the server\n"));
 }
 
 enum {
@@ -1353,10 +1346,13 @@ int main(int argc, char *argv[]) {
     }
 
     if (optind < argc) {
-        if (pa_streq(argv[optind], "stat"))
+        if (pa_streq(argv[optind], "stat")) {
             action = STAT;
+            short_list_format = FALSE;
+            if (optind+1 < argc && pa_streq(argv[optind+1], "short"))
+                short_list_format = TRUE;
 
-        else if (pa_streq(argv[optind], "info"))
+        else if (pa_streq(argv[optind], "info"))
             action = INFO;
 
         else if (pa_streq(argv[optind], "exit"))