alsaucm - Menedżer przypadków użycia ALSA
alsaucm <options> [command]
alsaucm (ALSA Use Case Manager) to program do używania interfejsu ALSA Use Case z wiersza poleceń.
W przypadku złożonych kart dźwiękowych konfiguracja tras audio nie jest trywialna, a ustawienia miksera mogą powodować konflikty, uniemożliwiając w ogóle działanie karty dźwiękowej.
ALSA Use Case Manager to mechanizm do kontrolowania złożonego sprzętu audio, ustanawiający relacje między konfiguracjami sprzętowymi a znaczącymi przypadkami użycia, z którymi może się identyfikować użytkownik końcowy.
Menedżera przypadków użycia można również używać do przełączania się między przypadkami użycia w razie potrzeby w spójny sposób.
Na niższym poziomie menedżer przypadków użycia działa poprzez konfigurację elementów sterujących karty dźwiękowej ALSA w celu zmiany sprzętowego cyfrowego i analogowego routingu audio w celu dopasowania do żądanego przypadku użycia urządzenia.
Konfiguracje menedżera przypadków użycia kcontrol są przechowywane w łatwych do modyfikacji plikach tekstowych. Przypadek użycia dźwięku można zdefiniować za pomocą parametru czasownik i urządzenie.
Czasownik opisuje przypadek użycia, np. rozmowę telefoniczną, słuchanie muzyki, nagrywanie rozmowy itp. Urządzenie opisuje fizyczny sprzęt do przechwytywania i odtwarzania dźwięku, tj. słuchawki, telefon, zestaw słuchawkowy Bluetooth itp.
Dostępne opcje:
- -h, --help
ta pomoc
- -c, --card NAME
otwórz kartę NAZWA
- -i, --interactive
tryb interaktywny
- -b, --batch FILE
tryb wsadowy (użyj '-' dla wejścia stdin)
- -n, --no-open
nie otwieraj pierwszej znalezionej karty
Dostępne polecenia:
- open NAME
otwórz kartę NAZWA.
prawidłowe nazwy to nazwy kart dźwiękowych wymienione w /usr/share/alsa/ucm.
- reset
zresetuj kartę dźwiękową do stanu domyślnego.
- reload
ponownie załadować konfigurację.
- listcards
wyświetlić listę dostępnych kart.
- list IDENTIFIER
polecenie list, dla elementów zwracających dwa wpisy (wartość + komentarz).
wartość argumentu IDENTYFIKATOR może być:
_verbs - pobierz listę czasowników (w parze czasownik + komentarz)
_devices[/{verb}] - pobierz listę obsługiwanych urządzeń (w parze urządzenie + komentarz)
_modifiers[/{verb}] - pobierz listę obsługiwanych modyfikatorów (w parze modyfikator + komentarz)
Formy bez końcowego /{verb} są ważne tylko po ustawieniu określonego czasownika.
- list1 IDENTIFIER
polecenie list, dla list zwracających jeden element na wpis.
wartość argumentu IDENTYFIKATOR może się różnić w zależności od kontekstu, może to być:
TQ[/{verb}] — pobierz listę identyfikatorów jakości dźwięku
_enadevs — pobierz listę włączonych urządzeń
_enamods - pobierz listę włączonych modyfikatorów
_supporteddevs/{modifier}|{device}[/{verb}] - lista obsługiwanych urządzeń
_conflictingdevs/{modifier}|{device}[/{verb}] - lista urządzeń będących w konflikcie
- get IDENTIFIER
uzyskać wartość ciągu.
wartością argumentu IDENTYFIKATOR może być:
_verb - zwraca bieżący czasownik
[=]{NAME}[/[{modifier}|{/device}][/{verb}]] (Prawidłowe NAZWY można znaleźć w interfejsie przypadków użycia ALSA )
- geti IDENTIFIER
uzyskać wartość całkowitą.
wartością argumentu IDENTYFIKATOR może być:
_devstatus/{urządzenie}
_modstatus/{urządzenie}
- set IDENTIFIER VALUE
ustaw wartość ciągu
Wartością argumentu IDENTYFIKATOR może być:
_verb — ustaw czasownik na WARTOŚĆ
_enadev – włącz urządzenie określone przez WARTOŚĆ
_disdev – wyłącz urządzenie określone przez WARTOŚĆ
_swdev/{old_device} - switche device:
disable old_device and then enable the device specified by VALUE
jeśli żadne urządzenie nie zostało włączone, po prostu wróć
_enamod — włącz modyfikator określony przez WARTOŚĆ
_dismod — wyłącz modyfikator określony przez WARTOŚĆ
_swmod/{old_modifier} - switch modifier:
disable old_modifier and then enable the modifier specified by VALUE
jeśli żaden modyfikator nie był włączony, po prostu wróć
Zauważ, że identyfikatory odnoszące się do urządzeń i modyfikatorów są ważne tylko po ustawieniu czasownika.
- h, help
pomoc
- q, quit
zrezygnować
Główne pliki przypadków użycia dla każdej obsługiwanej karty dźwiękowej znajdują się w /usr/share/alsa/ucm.
Na przykład główny plik przypadków użycia dla karty Pandaboard znajduje się w /usr/share/alsa/ucm/PandaBoard/PandaBoard.conf, ten plik zawiera listę wszystkich obsługiwanych zastosowań przypadki, np.
SectionUseCase."HiFi" { File "hifi" Comment "Play HiFi quality Music." } ...
Każdy przypadek użycia definiuje _verb, który jest opisany w pliku określonym w dyrektywie File, jak powyżej.
Powyższy czasownik HiFi jest opisany w /usr/share/alsa/ucm/PandaBoard/hifi.
Aby uzyskać więcej informacji na temat składni plików UCM, zobacz kod źródłowy alsa-lib: http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/ ucm/parser.c
Niektóre polecenia, na przykład list _devices, mogą działać tylko po ustawieniu _verb w tym samym wykonaniu, na przykład ta sekwencja nie działa :
# alsaucm -c bytcr-rt5640 set _verb HiFi # alsaucm -c bytcr-rt5640 list _devices
Jednak to polecenie robi:
# alsaucm -n -b - <<EOM open bytcr-rt5640 set _verb HiFi list _devices EOM
Przykład ustawienia urządzenia Głośnik dla czasownika HiFi karty bytcr-rt5640:
# alsaucm -n -b - <<EOM open bytcr-rt5640 reset set _verb HiFi set _enadev Speaker EOM
Interfejs przypadków użycia: http://www.alsa-project.org/alsa-doc/alsa-lib/group__ucm.html
Żadne znane.
Antonio Ospite
GPLv2+