mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	pactl: Add short output format for list action
This commit is contained in:
		
							parent
							
								
									8f25f8dc7d
								
							
						
					
					
						commit
						9501504859
					
				
					 1 changed files with 79 additions and 9 deletions
				
			
		| 
						 | 
					@ -62,6 +62,7 @@ static uint32_t
 | 
				
			||||||
    sink_input_idx = PA_INVALID_INDEX,
 | 
					    sink_input_idx = PA_INVALID_INDEX,
 | 
				
			||||||
    source_output_idx = PA_INVALID_INDEX;
 | 
					    source_output_idx = PA_INVALID_INDEX;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static pa_bool_t short_list_format = FALSE;
 | 
				
			||||||
static uint32_t module_index;
 | 
					static uint32_t module_index;
 | 
				
			||||||
static pa_bool_t suspend;
 | 
					static pa_bool_t suspend;
 | 
				
			||||||
static pa_bool_t mute;
 | 
					static pa_bool_t mute;
 | 
				
			||||||
| 
						 | 
					@ -237,10 +238,20 @@ static void get_sink_info_callback(pa_context *c, const pa_sink_info *i, int is_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_assert(i);
 | 
					    pa_assert(i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (nl)
 | 
					    if (nl && !short_list_format)
 | 
				
			||||||
        printf("\n");
 | 
					        printf("\n");
 | 
				
			||||||
    nl = TRUE;
 | 
					    nl = TRUE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (short_list_format) {
 | 
				
			||||||
 | 
					        printf("%u\t%s\t%s\t%s\t%s\n",
 | 
				
			||||||
 | 
					               i->index,
 | 
				
			||||||
 | 
					               i->name,
 | 
				
			||||||
 | 
					               pa_strnull(i->driver),
 | 
				
			||||||
 | 
					               pa_sample_spec_snprint(s, sizeof(s), &i->sample_spec),
 | 
				
			||||||
 | 
					               state_table[1+i->state]);
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf(_("Sink #%u\n"
 | 
					    printf(_("Sink #%u\n"
 | 
				
			||||||
             "\tState: %s\n"
 | 
					             "\tState: %s\n"
 | 
				
			||||||
             "\tName: %s\n"
 | 
					             "\tName: %s\n"
 | 
				
			||||||
| 
						 | 
					@ -329,10 +340,20 @@ static void get_source_info_callback(pa_context *c, const pa_source_info *i, int
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_assert(i);
 | 
					    pa_assert(i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (nl)
 | 
					    if (nl && !short_list_format)
 | 
				
			||||||
        printf("\n");
 | 
					        printf("\n");
 | 
				
			||||||
    nl = TRUE;
 | 
					    nl = TRUE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (short_list_format) {
 | 
				
			||||||
 | 
					        printf("%u\t%s\t%s\t%s\t%s\n",
 | 
				
			||||||
 | 
					               i->index,
 | 
				
			||||||
 | 
					               i->name,
 | 
				
			||||||
 | 
					               pa_strnull(i->driver),
 | 
				
			||||||
 | 
					               pa_sample_spec_snprint(s, sizeof(s), &i->sample_spec),
 | 
				
			||||||
 | 
					               state_table[1+i->state]);
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf(_("Source #%u\n"
 | 
					    printf(_("Source #%u\n"
 | 
				
			||||||
             "\tState: %s\n"
 | 
					             "\tState: %s\n"
 | 
				
			||||||
             "\tName: %s\n"
 | 
					             "\tName: %s\n"
 | 
				
			||||||
| 
						 | 
					@ -407,12 +428,17 @@ static void get_module_info_callback(pa_context *c, const pa_module_info *i, int
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_assert(i);
 | 
					    pa_assert(i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (nl)
 | 
					    if (nl && !short_list_format)
 | 
				
			||||||
        printf("\n");
 | 
					        printf("\n");
 | 
				
			||||||
    nl = TRUE;
 | 
					    nl = TRUE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_snprintf(t, sizeof(t), "%u", i->n_used);
 | 
					    pa_snprintf(t, sizeof(t), "%u", i->n_used);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (short_list_format) {
 | 
				
			||||||
 | 
					        printf("%u\t%s\t%s\t\n", i->index, i->name, i->argument ? i->argument : "");
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf(_("Module #%u\n"
 | 
					    printf(_("Module #%u\n"
 | 
				
			||||||
             "\tName: %s\n"
 | 
					             "\tName: %s\n"
 | 
				
			||||||
             "\tArgument: %s\n"
 | 
					             "\tArgument: %s\n"
 | 
				
			||||||
| 
						 | 
					@ -444,12 +470,20 @@ static void get_client_info_callback(pa_context *c, const pa_client_info *i, int
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_assert(i);
 | 
					    pa_assert(i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (nl)
 | 
					    if (nl && !short_list_format)
 | 
				
			||||||
        printf("\n");
 | 
					        printf("\n");
 | 
				
			||||||
    nl = TRUE;
 | 
					    nl = TRUE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_snprintf(t, sizeof(t), "%u", i->owner_module);
 | 
					    pa_snprintf(t, sizeof(t), "%u", i->owner_module);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (short_list_format) {
 | 
				
			||||||
 | 
					        printf("%u\t%s\t%s\n",
 | 
				
			||||||
 | 
					               i->index,
 | 
				
			||||||
 | 
					               pa_strnull(i->driver),
 | 
				
			||||||
 | 
					               pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_PROCESS_BINARY)));
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf(_("Client #%u\n"
 | 
					    printf(_("Client #%u\n"
 | 
				
			||||||
             "\tDriver: %s\n"
 | 
					             "\tDriver: %s\n"
 | 
				
			||||||
             "\tOwner Module: %s\n"
 | 
					             "\tOwner Module: %s\n"
 | 
				
			||||||
| 
						 | 
					@ -479,12 +513,17 @@ static void get_card_info_callback(pa_context *c, const pa_card_info *i, int is_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_assert(i);
 | 
					    pa_assert(i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (nl)
 | 
					    if (nl && !short_list_format)
 | 
				
			||||||
        printf("\n");
 | 
					        printf("\n");
 | 
				
			||||||
    nl = TRUE;
 | 
					    nl = TRUE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_snprintf(t, sizeof(t), "%u", i->owner_module);
 | 
					    pa_snprintf(t, sizeof(t), "%u", i->owner_module);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (short_list_format) {
 | 
				
			||||||
 | 
					        printf("%u\t%s\t%s\n", i->index, i->name, pa_strnull(i->driver));
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf(_("Card #%u\n"
 | 
					    printf(_("Card #%u\n"
 | 
				
			||||||
             "\tName: %s\n"
 | 
					             "\tName: %s\n"
 | 
				
			||||||
             "\tDriver: %s\n"
 | 
					             "\tDriver: %s\n"
 | 
				
			||||||
| 
						 | 
					@ -528,13 +567,23 @@ static void get_sink_input_info_callback(pa_context *c, const pa_sink_input_info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_assert(i);
 | 
					    pa_assert(i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (nl)
 | 
					    if (nl && !short_list_format)
 | 
				
			||||||
        printf("\n");
 | 
					        printf("\n");
 | 
				
			||||||
    nl = TRUE;
 | 
					    nl = TRUE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_snprintf(t, sizeof(t), "%u", i->owner_module);
 | 
					    pa_snprintf(t, sizeof(t), "%u", i->owner_module);
 | 
				
			||||||
    pa_snprintf(k, sizeof(k), "%u", i->client);
 | 
					    pa_snprintf(k, sizeof(k), "%u", i->client);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (short_list_format) {
 | 
				
			||||||
 | 
					        printf("%u\t%u\t%s\t%s\t%s\n",
 | 
				
			||||||
 | 
					               i->index,
 | 
				
			||||||
 | 
					               i->sink,
 | 
				
			||||||
 | 
					               i->client != PA_INVALID_INDEX ? k : "-",
 | 
				
			||||||
 | 
					               pa_strnull(i->driver),
 | 
				
			||||||
 | 
					               pa_sample_spec_snprint(s, sizeof(s), &i->sample_spec));
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf(_("Sink Input #%u\n"
 | 
					    printf(_("Sink Input #%u\n"
 | 
				
			||||||
             "\tDriver: %s\n"
 | 
					             "\tDriver: %s\n"
 | 
				
			||||||
             "\tOwner Module: %s\n"
 | 
					             "\tOwner Module: %s\n"
 | 
				
			||||||
| 
						 | 
					@ -586,7 +635,7 @@ static void get_source_output_info_callback(pa_context *c, const pa_source_outpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_assert(i);
 | 
					    pa_assert(i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (nl)
 | 
					    if (nl && !short_list_format)
 | 
				
			||||||
        printf("\n");
 | 
					        printf("\n");
 | 
				
			||||||
    nl = TRUE;
 | 
					    nl = TRUE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -594,6 +643,16 @@ static void get_source_output_info_callback(pa_context *c, const pa_source_outpu
 | 
				
			||||||
    pa_snprintf(t, sizeof(t), "%u", i->owner_module);
 | 
					    pa_snprintf(t, sizeof(t), "%u", i->owner_module);
 | 
				
			||||||
    pa_snprintf(k, sizeof(k), "%u", i->client);
 | 
					    pa_snprintf(k, sizeof(k), "%u", i->client);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (short_list_format) {
 | 
				
			||||||
 | 
					        printf("%u\t%u\t%s\t%s\t%s\n",
 | 
				
			||||||
 | 
					               i->index,
 | 
				
			||||||
 | 
					               i->source,
 | 
				
			||||||
 | 
					               i->client != PA_INVALID_INDEX ? k : "-",
 | 
				
			||||||
 | 
					               pa_strnull(i->driver),
 | 
				
			||||||
 | 
					               pa_sample_spec_snprint(s, sizeof(s), &i->sample_spec));
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf(_("Source Output #%u\n"
 | 
					    printf(_("Source Output #%u\n"
 | 
				
			||||||
             "\tDriver: %s\n"
 | 
					             "\tDriver: %s\n"
 | 
				
			||||||
             "\tOwner Module: %s\n"
 | 
					             "\tOwner Module: %s\n"
 | 
				
			||||||
| 
						 | 
					@ -637,12 +696,21 @@ static void get_sample_info_callback(pa_context *c, const pa_sample_info *i, int
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_assert(i);
 | 
					    pa_assert(i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (nl)
 | 
					    if (nl && !short_list_format)
 | 
				
			||||||
        printf("\n");
 | 
					        printf("\n");
 | 
				
			||||||
    nl = TRUE;
 | 
					    nl = TRUE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_bytes_snprint(t, sizeof(t), i->bytes);
 | 
					    pa_bytes_snprint(t, sizeof(t), i->bytes);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (short_list_format) {
 | 
				
			||||||
 | 
					        printf("%u\t%s\t%s\t%0.3f\n",
 | 
				
			||||||
 | 
					               i->index,
 | 
				
			||||||
 | 
					               i->name,
 | 
				
			||||||
 | 
					               pa_sample_spec_valid(&i->sample_spec) ? pa_sample_spec_snprint(s, sizeof(s), &i->sample_spec) : "-",
 | 
				
			||||||
 | 
					               (double) i->duration/1000000.0);
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf(_("Sample #%u\n"
 | 
					    printf(_("Sample #%u\n"
 | 
				
			||||||
             "\tName: %s\n"
 | 
					             "\tName: %s\n"
 | 
				
			||||||
             "\tSample Specification: %s\n"
 | 
					             "\tSample Specification: %s\n"
 | 
				
			||||||
| 
						 | 
					@ -1126,7 +1194,7 @@ static void help(const char *argv0) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf(_("%s [options] stat\n"
 | 
					    printf(_("%s [options] stat\n"
 | 
				
			||||||
             "%s [options] info\n"
 | 
					             "%s [options] info\n"
 | 
				
			||||||
             "%s [options] list [TYPE]\n"
 | 
					             "%s [options] list [short] [TYPE]\n"
 | 
				
			||||||
             "%s [options] exit\n"
 | 
					             "%s [options] exit\n"
 | 
				
			||||||
             "%s [options] upload-sample FILENAME [NAME]\n"
 | 
					             "%s [options] upload-sample FILENAME [NAME]\n"
 | 
				
			||||||
             "%s [options] play-sample NAME [SINK]\n"
 | 
					             "%s [options] play-sample NAME [SINK]\n"
 | 
				
			||||||
| 
						 | 
					@ -1243,6 +1311,8 @@ int main(int argc, char *argv[]) {
 | 
				
			||||||
                    pa_streq(argv[i], "sources") || pa_streq(argv[i], "source-outputs") ||
 | 
					                    pa_streq(argv[i], "sources") || pa_streq(argv[i], "source-outputs") ||
 | 
				
			||||||
                    pa_streq(argv[i], "samples") || pa_streq(argv[i], "cards")) {
 | 
					                    pa_streq(argv[i], "samples") || pa_streq(argv[i], "cards")) {
 | 
				
			||||||
                    list_type = pa_xstrdup(argv[i]);
 | 
					                    list_type = pa_xstrdup(argv[i]);
 | 
				
			||||||
 | 
					                } else if (pa_streq(argv[i], "short")) {
 | 
				
			||||||
 | 
					                    short_list_format = TRUE;
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    pa_log(_("Specify nothing, or one of: %s"), "modules, sinks, sources, sink-inputs, source-outputs, clients, samples, cards");
 | 
					                    pa_log(_("Specify nothing, or one of: %s"), "modules, sinks, sources, sink-inputs, source-outputs, clients, samples, cards");
 | 
				
			||||||
                    goto quit;
 | 
					                    goto quit;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue