mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
add set-card-profile CLI command
This commit is contained in:
parent
9a0dbda654
commit
dc2a4bd887
1 changed files with 45 additions and 0 deletions
|
|
@ -123,6 +123,7 @@ static int pa_cli_command_update_sink_proplist(pa_core *c, pa_tokenizer *t, pa_s
|
|||
static int pa_cli_command_update_source_proplist(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
||||
static int pa_cli_command_update_sink_input_proplist(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
||||
static int pa_cli_command_update_source_output_proplist(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
||||
static int pa_cli_command_card_profile(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail);
|
||||
|
||||
/* A method table for all available commands */
|
||||
|
||||
|
|
@ -173,6 +174,7 @@ static const struct command commands[] = {
|
|||
{ "suspend-sink", pa_cli_command_suspend_sink, "Suspend sink (args: index|name, bool)", 3},
|
||||
{ "suspend-source", pa_cli_command_suspend_source, "Suspend source (args: index|name, bool)", 3},
|
||||
{ "suspend", pa_cli_command_suspend, "Suspend all sinks and all sources (args: bool)", 2},
|
||||
{ "set-card-profile", pa_cli_command_card_profile, "Change the profile of a card (aargs: index, name)", 3},
|
||||
{ "set-log-level", pa_cli_command_log_level, "Change the log level (args: numeric level)", 2},
|
||||
{ "set-log-meta", pa_cli_command_log_meta, "Show source code location in log messages (args: bool)", 2},
|
||||
{ "set-log-time", pa_cli_command_log_time, "Show timestamps in log messages (args: bool)", 2},
|
||||
|
|
@ -1411,10 +1413,43 @@ static int pa_cli_command_log_backtrace(pa_core *c, pa_tokenizer *t, pa_strbuf *
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int pa_cli_command_card_profile(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail) {
|
||||
const char *n, *p;
|
||||
pa_card *card;
|
||||
|
||||
pa_core_assert_ref(c);
|
||||
pa_assert(t);
|
||||
pa_assert(buf);
|
||||
pa_assert(fail);
|
||||
|
||||
if (!(n = pa_tokenizer_get(t, 1))) {
|
||||
pa_strbuf_puts(buf, "You need to specify a card either by its name or its index.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!(p = pa_tokenizer_get(t, 2))) {
|
||||
pa_strbuf_puts(buf, "You need to specify a profile by its name.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!(card = pa_namereg_get(c, n, PA_NAMEREG_CARD))) {
|
||||
pa_strbuf_puts(buf, "No card found by this name or index.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (pa_card_set_profile(card, p) < 0) {
|
||||
pa_strbuf_printf(buf, "Failed to set card profile to '%s'.\n", p);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int pa_cli_command_dump(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_bool_t *fail) {
|
||||
pa_module *m;
|
||||
pa_sink *sink;
|
||||
pa_source *source;
|
||||
pa_card *card;
|
||||
int nl;
|
||||
const char *p;
|
||||
uint32_t idx;
|
||||
|
|
@ -1470,6 +1505,16 @@ static int pa_cli_command_dump(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, pa_b
|
|||
pa_strbuf_printf(buf, "suspend-source %s %s\n", source->name, pa_yes_no(pa_source_get_state(source) == PA_SOURCE_SUSPENDED));
|
||||
}
|
||||
|
||||
for (card = pa_idxset_first(c->cards, &idx); card; card = pa_idxset_next(c->cards, &idx)) {
|
||||
|
||||
if (!nl) {
|
||||
pa_strbuf_puts(buf, "\n");
|
||||
nl = 1;
|
||||
}
|
||||
|
||||
if (card->active_profile)
|
||||
pa_strbuf_printf(buf, "set-card-profile %s %s\n", card->name, card->active_profile->name);
|
||||
}
|
||||
|
||||
nl = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue