mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
add new describe-module CLI command
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2231 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
39afb14093
commit
5d7128abf9
1 changed files with 41 additions and 0 deletions
|
|
@ -90,6 +90,7 @@ static int pa_cli_command_stat(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_b
|
||||||
static int pa_cli_command_info(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
static int pa_cli_command_info(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
||||||
static int pa_cli_command_load(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
static int pa_cli_command_load(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
||||||
static int pa_cli_command_unload(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
static int pa_cli_command_unload(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
||||||
|
static int pa_cli_command_describe(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
||||||
static int pa_cli_command_sink_volume(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
static int pa_cli_command_sink_volume(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
||||||
static int pa_cli_command_sink_input_volume(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
static int pa_cli_command_sink_input_volume(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
||||||
static int pa_cli_command_source_volume(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
static int pa_cli_command_source_volume(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
||||||
|
|
@ -136,6 +137,7 @@ static const struct command commands[] = {
|
||||||
{ "list", pa_cli_command_info, NULL, 1 },
|
{ "list", pa_cli_command_info, NULL, 1 },
|
||||||
{ "load-module", pa_cli_command_load, "Load a module (args: name, arguments)", 3},
|
{ "load-module", pa_cli_command_load, "Load a module (args: name, arguments)", 3},
|
||||||
{ "unload-module", pa_cli_command_unload, "Unload a module (args: index)", 2},
|
{ "unload-module", pa_cli_command_unload, "Unload a module (args: index)", 2},
|
||||||
|
{ "describe-module", pa_cli_command_describe, "Describe a module (arg: name)", 2},
|
||||||
{ "set-sink-volume", pa_cli_command_sink_volume, "Set the volume of a sink (args: index|name, volume)", 3},
|
{ "set-sink-volume", pa_cli_command_sink_volume, "Set the volume of a sink (args: index|name, volume)", 3},
|
||||||
{ "set-sink-input-volume", pa_cli_command_sink_input_volume, "Set the volume of a sink input (args: index, volume)", 3},
|
{ "set-sink-input-volume", pa_cli_command_sink_input_volume, "Set the volume of a sink input (args: index, volume)", 3},
|
||||||
{ "set-source-volume", pa_cli_command_source_volume, "Set the volume of a source (args: index|name, volume)", 3},
|
{ "set-source-volume", pa_cli_command_source_volume, "Set the volume of a source (args: index|name, volume)", 3},
|
||||||
|
|
@ -419,6 +421,45 @@ static int pa_cli_command_unload(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int pa_cli_command_describe(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail) {
|
||||||
|
const char *name;
|
||||||
|
pa_modinfo *i;
|
||||||
|
|
||||||
|
pa_core_assert_ref(c);
|
||||||
|
pa_assert(t);
|
||||||
|
pa_assert(buf);
|
||||||
|
pa_assert(fail);
|
||||||
|
|
||||||
|
if (!(name = pa_tokenizer_get(t, 1))) {
|
||||||
|
pa_strbuf_puts(buf, "You need to specify the module name.\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((i = pa_modinfo_get_by_name(name))) {
|
||||||
|
|
||||||
|
pa_strbuf_printf(buf, "Name: %s\n", name);
|
||||||
|
|
||||||
|
if (!i->description && !i->version && !i->author && !i->usage)
|
||||||
|
pa_strbuf_printf(buf, "No module information available\n");
|
||||||
|
else {
|
||||||
|
if (i->version)
|
||||||
|
pa_strbuf_printf(buf, "Version: %s\n", i->version);
|
||||||
|
if (i->description)
|
||||||
|
pa_strbuf_printf(buf, "Description: %s\n", i->description);
|
||||||
|
if (i->author)
|
||||||
|
pa_strbuf_printf(buf, "Author: %s\n", i->author);
|
||||||
|
if (i->usage)
|
||||||
|
pa_strbuf_printf(buf, "Usage: %s\n", i->usage);
|
||||||
|
pa_strbuf_printf(buf, "Load Once: %s\n", pa_yes_no(i->load_once));
|
||||||
|
}
|
||||||
|
|
||||||
|
pa_modinfo_free(i);
|
||||||
|
} else
|
||||||
|
pa_strbuf_puts(buf, "Failed to open module.\n");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int pa_cli_command_sink_volume(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail) {
|
static int pa_cli_command_sink_volume(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail) {
|
||||||
const char *n, *v;
|
const char *n, *v;
|
||||||
pa_sink *sink;
|
pa_sink *sink;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue