153a5a1b3Sopenharmony_ci#!/bin/bash 253a5a1b3Sopenharmony_ci 353a5a1b3Sopenharmony_ci__cards () { 453a5a1b3Sopenharmony_ci while IFS=$'\t' read idx name _; do 553a5a1b3Sopenharmony_ci printf "%s %s\n" "$idx" "$name" 653a5a1b3Sopenharmony_ci done < <(pactl list cards short 2> /dev/null) 753a5a1b3Sopenharmony_ci} 853a5a1b3Sopenharmony_ci 953a5a1b3Sopenharmony_ci__sinks () { 1053a5a1b3Sopenharmony_ci while IFS=$'\t' read _ name _ _ _; do 1153a5a1b3Sopenharmony_ci printf "%s\n" "$name" 1253a5a1b3Sopenharmony_ci done < <(pactl list sinks short 2> /dev/null) 1353a5a1b3Sopenharmony_ci} 1453a5a1b3Sopenharmony_ci 1553a5a1b3Sopenharmony_ci__sinks_idx () { 1653a5a1b3Sopenharmony_ci while IFS=$'\t' read idx _ _ _ _; do 1753a5a1b3Sopenharmony_ci printf "%s\n" "$idx" 1853a5a1b3Sopenharmony_ci done < <(pactl list sinks short 2> /dev/null) 1953a5a1b3Sopenharmony_ci} 2053a5a1b3Sopenharmony_ci 2153a5a1b3Sopenharmony_ci__sources () { 2253a5a1b3Sopenharmony_ci while IFS=$'\t' read _ name _ _ _; do 2353a5a1b3Sopenharmony_ci printf "%s\n" "$name" 2453a5a1b3Sopenharmony_ci done < <(pactl list sources short 2> /dev/null) 2553a5a1b3Sopenharmony_ci} 2653a5a1b3Sopenharmony_ci 2753a5a1b3Sopenharmony_ci__sink_inputs () { 2853a5a1b3Sopenharmony_ci while IFS=$'\t' read idx _ _ _ _; do 2953a5a1b3Sopenharmony_ci printf "%s\n" "$idx" 3053a5a1b3Sopenharmony_ci done < <(pactl list sink-inputs short 2> /dev/null) 3153a5a1b3Sopenharmony_ci} 3253a5a1b3Sopenharmony_ci 3353a5a1b3Sopenharmony_ci__source_outputs () { 3453a5a1b3Sopenharmony_ci while IFS=$'\t' read idx _ _ _ _; do 3553a5a1b3Sopenharmony_ci printf "%s\n" "$idx" 3653a5a1b3Sopenharmony_ci done < <(pactl list source-outputs short 2> /dev/null) 3753a5a1b3Sopenharmony_ci} 3853a5a1b3Sopenharmony_ci 3953a5a1b3Sopenharmony_ci__ports () { 4053a5a1b3Sopenharmony_ci pactl list cards 2> /dev/null | awk -- \ 4153a5a1b3Sopenharmony_ci '/^\tPorts:/ { 4253a5a1b3Sopenharmony_ci flag=1; next 4353a5a1b3Sopenharmony_ci } 4453a5a1b3Sopenharmony_ci 4553a5a1b3Sopenharmony_ci /^\t[A-Za-z]/ { 4653a5a1b3Sopenharmony_ci flag=0 4753a5a1b3Sopenharmony_ci } 4853a5a1b3Sopenharmony_ci 4953a5a1b3Sopenharmony_ci flag { 5053a5a1b3Sopenharmony_ci if (/^\t\t[A-Za-z]/) 5153a5a1b3Sopenharmony_ci ports = ports substr($0, 3, index($0, ":")-3) " " 5253a5a1b3Sopenharmony_ci } 5353a5a1b3Sopenharmony_ci 5453a5a1b3Sopenharmony_ci END { 5553a5a1b3Sopenharmony_ci print ports 5653a5a1b3Sopenharmony_ci }' 5753a5a1b3Sopenharmony_ci} 5853a5a1b3Sopenharmony_ci 5953a5a1b3Sopenharmony_ci__profiles () { 6053a5a1b3Sopenharmony_ci pactl list cards 2> /dev/null | awk -- \ 6153a5a1b3Sopenharmony_ci '/^\tProfiles:/ { 6253a5a1b3Sopenharmony_ci flag=1; next 6353a5a1b3Sopenharmony_ci } 6453a5a1b3Sopenharmony_ci 6553a5a1b3Sopenharmony_ci /^\t[A-Za-z]/ { 6653a5a1b3Sopenharmony_ci flag=0 6753a5a1b3Sopenharmony_ci } 6853a5a1b3Sopenharmony_ci 6953a5a1b3Sopenharmony_ci flag { 7053a5a1b3Sopenharmony_ci if (/^\t\t[A-Za-z]/) 7153a5a1b3Sopenharmony_ci profiles = profiles substr($0, 3, index($0, ": ")-3) " " 7253a5a1b3Sopenharmony_ci } 7353a5a1b3Sopenharmony_ci 7453a5a1b3Sopenharmony_ci END { 7553a5a1b3Sopenharmony_ci print profiles 7653a5a1b3Sopenharmony_ci }' 7753a5a1b3Sopenharmony_ci} 7853a5a1b3Sopenharmony_ci 7953a5a1b3Sopenharmony_ci__all_modules () { 8053a5a1b3Sopenharmony_ci while read name; do 8153a5a1b3Sopenharmony_ci name=${name%% *} 8253a5a1b3Sopenharmony_ci printf "%s\n" "$name" 8353a5a1b3Sopenharmony_ci done < <(pulseaudio --dump-modules 2> /dev/null) 8453a5a1b3Sopenharmony_ci} 8553a5a1b3Sopenharmony_ci 8653a5a1b3Sopenharmony_ci__loaded_modules () { 8753a5a1b3Sopenharmony_ci while IFS=$'\t' read idx name _; do 8853a5a1b3Sopenharmony_ci printf "%s %s\n" "$idx" "$name" 8953a5a1b3Sopenharmony_ci done < <(pactl list modules short 2> /dev/null) 9053a5a1b3Sopenharmony_ci} 9153a5a1b3Sopenharmony_ci 9253a5a1b3Sopenharmony_ci__resample_methods () { 9353a5a1b3Sopenharmony_ci while read name; do 9453a5a1b3Sopenharmony_ci printf "%s\n" "$name" 9553a5a1b3Sopenharmony_ci done < <(pulseaudio --dump-resample-methods 2> /dev/null) 9653a5a1b3Sopenharmony_ci} 9753a5a1b3Sopenharmony_ci 9853a5a1b3Sopenharmony_ci_pacat_file_formats () { 9953a5a1b3Sopenharmony_ci while IFS=$'\t' read name _; do 10053a5a1b3Sopenharmony_ci printf "%s\n" "$name" 10153a5a1b3Sopenharmony_ci done < <(pacat --list-file-formats 2> /dev/null) 10253a5a1b3Sopenharmony_ci} 10353a5a1b3Sopenharmony_ci 10453a5a1b3Sopenharmony_ciin_array() { 10553a5a1b3Sopenharmony_ci local i 10653a5a1b3Sopenharmony_ci for i in "${@:2}"; do 10753a5a1b3Sopenharmony_ci [[ $1 = "$i" ]] && return 10853a5a1b3Sopenharmony_ci done 10953a5a1b3Sopenharmony_ci} 11053a5a1b3Sopenharmony_ci 11153a5a1b3Sopenharmony_ci_pactl() { 11253a5a1b3Sopenharmony_ci local cur prev words cword preprev word command 11353a5a1b3Sopenharmony_ci local comps 11453a5a1b3Sopenharmony_ci local flags='-h --help --version -s --server= --client-name=' 11553a5a1b3Sopenharmony_ci local list_types='short sinks sources sink-inputs source-outputs cards 11653a5a1b3Sopenharmony_ci modules samples clients message-handlers' 11753a5a1b3Sopenharmony_ci local commands=(stat info list exit upload-sample play-sample remove-sample 11853a5a1b3Sopenharmony_ci load-module unload-module move-sink-input move-source-output 11953a5a1b3Sopenharmony_ci suspend-sink suspend-source set-card-profile set-default-sink 12053a5a1b3Sopenharmony_ci set-sink-port set-default-source set-source-port set-sink-volume 12153a5a1b3Sopenharmony_ci set-source-volume set-sink-input-volume set-source-output-volume 12253a5a1b3Sopenharmony_ci set-sink-mute set-source-mute set-sink-input-mute 12353a5a1b3Sopenharmony_ci set-source-output-mute set-sink-formats set-port-latency-offset 12453a5a1b3Sopenharmony_ci subscribe send-message help) 12553a5a1b3Sopenharmony_ci 12653a5a1b3Sopenharmony_ci _init_completion -n = || return 12753a5a1b3Sopenharmony_ci preprev=${words[$cword-2]} 12853a5a1b3Sopenharmony_ci 12953a5a1b3Sopenharmony_ci for word in "${COMP_WORDS[@]}"; do 13053a5a1b3Sopenharmony_ci if in_array "$word" "${commands[@]}"; then 13153a5a1b3Sopenharmony_ci command=$word 13253a5a1b3Sopenharmony_ci break 13353a5a1b3Sopenharmony_ci fi 13453a5a1b3Sopenharmony_ci done 13553a5a1b3Sopenharmony_ci 13653a5a1b3Sopenharmony_ci case $preprev in 13753a5a1b3Sopenharmony_ci list) COMPREPLY=($(compgen -W 'short' -- "$cur")) ;; 13853a5a1b3Sopenharmony_ci 13953a5a1b3Sopenharmony_ci play-sample) 14053a5a1b3Sopenharmony_ci comps=$(__sinks) 14153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 14253a5a1b3Sopenharmony_ci ;; 14353a5a1b3Sopenharmony_ci 14453a5a1b3Sopenharmony_ci move-sink-input) 14553a5a1b3Sopenharmony_ci comps=$(__sinks) 14653a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 14753a5a1b3Sopenharmony_ci ;; 14853a5a1b3Sopenharmony_ci 14953a5a1b3Sopenharmony_ci move-source-output) 15053a5a1b3Sopenharmony_ci comps=$(__sources) 15153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 15253a5a1b3Sopenharmony_ci ;; 15353a5a1b3Sopenharmony_ci 15453a5a1b3Sopenharmony_ci set-card-profile) 15553a5a1b3Sopenharmony_ci comps=$(__profiles) 15653a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 15753a5a1b3Sopenharmony_ci ;; 15853a5a1b3Sopenharmony_ci 15953a5a1b3Sopenharmony_ci set-*-port) 16053a5a1b3Sopenharmony_ci comps=$(__ports) 16153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 16253a5a1b3Sopenharmony_ci ;; 16353a5a1b3Sopenharmony_ci 16453a5a1b3Sopenharmony_ci set-*-mute) COMPREPLY=($(compgen -W 'true false toggle' -- "$cur")) ;; 16553a5a1b3Sopenharmony_ci 16653a5a1b3Sopenharmony_ci set-sink-formats) 16753a5a1b3Sopenharmony_ci ;; #TODO 16853a5a1b3Sopenharmony_ci 16953a5a1b3Sopenharmony_ci set-port-*) 17053a5a1b3Sopenharmony_ci comps=$(__ports) 17153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 17253a5a1b3Sopenharmony_ci ;; 17353a5a1b3Sopenharmony_ci --server) 17453a5a1b3Sopenharmony_ci compopt +o nospace 17553a5a1b3Sopenharmony_ci _known_hosts_real "$cur" 17653a5a1b3Sopenharmony_ci ;; 17753a5a1b3Sopenharmony_ci esac 17853a5a1b3Sopenharmony_ci [[ $COMPREPLY ]] && return 0 17953a5a1b3Sopenharmony_ci 18053a5a1b3Sopenharmony_ci case $prev in 18153a5a1b3Sopenharmony_ci list) COMPREPLY=($(compgen -W '${list_types[*]}' -- "$cur")) ;; 18253a5a1b3Sopenharmony_ci 18353a5a1b3Sopenharmony_ci upload-sample) _filedir ;; 18453a5a1b3Sopenharmony_ci 18553a5a1b3Sopenharmony_ci play-sample) ;; # TODO 18653a5a1b3Sopenharmony_ci 18753a5a1b3Sopenharmony_ci remove-sample) ;; # TODO 18853a5a1b3Sopenharmony_ci 18953a5a1b3Sopenharmony_ci load-module) 19053a5a1b3Sopenharmony_ci comps=$(__all_modules) 19153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 19253a5a1b3Sopenharmony_ci ;; 19353a5a1b3Sopenharmony_ci 19453a5a1b3Sopenharmony_ci unload-module) 19553a5a1b3Sopenharmony_ci comps=$(__loaded_modules) 19653a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 19753a5a1b3Sopenharmony_ci ;; 19853a5a1b3Sopenharmony_ci 19953a5a1b3Sopenharmony_ci set-card*) 20053a5a1b3Sopenharmony_ci comps=$(__cards) 20153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 20253a5a1b3Sopenharmony_ci ;; 20353a5a1b3Sopenharmony_ci 20453a5a1b3Sopenharmony_ci *sink-input*) 20553a5a1b3Sopenharmony_ci comps=$(__sink_inputs) 20653a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 20753a5a1b3Sopenharmony_ci ;; 20853a5a1b3Sopenharmony_ci 20953a5a1b3Sopenharmony_ci *source-output*) 21053a5a1b3Sopenharmony_ci comps=$(__source_outputs) 21153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 21253a5a1b3Sopenharmony_ci ;; 21353a5a1b3Sopenharmony_ci 21453a5a1b3Sopenharmony_ci set-sink-formats) 21553a5a1b3Sopenharmony_ci comps=$(__sinks_idx) 21653a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 21753a5a1b3Sopenharmony_ci ;; 21853a5a1b3Sopenharmony_ci 21953a5a1b3Sopenharmony_ci *sink*) 22053a5a1b3Sopenharmony_ci comps=$(__sinks) 22153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 22253a5a1b3Sopenharmony_ci ;; 22353a5a1b3Sopenharmony_ci 22453a5a1b3Sopenharmony_ci *source*) 22553a5a1b3Sopenharmony_ci comps=$(__sources) 22653a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 22753a5a1b3Sopenharmony_ci ;; 22853a5a1b3Sopenharmony_ci 22953a5a1b3Sopenharmony_ci set-port*) 23053a5a1b3Sopenharmony_ci comps=$(__cards) 23153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 23253a5a1b3Sopenharmony_ci ;; 23353a5a1b3Sopenharmony_ci 23453a5a1b3Sopenharmony_ci -s) 23553a5a1b3Sopenharmony_ci _known_hosts_real "$cur" ;; 23653a5a1b3Sopenharmony_ci esac 23753a5a1b3Sopenharmony_ci [[ $COMPREPLY ]] && return 0 23853a5a1b3Sopenharmony_ci 23953a5a1b3Sopenharmony_ci case $cur in 24053a5a1b3Sopenharmony_ci --server=*) 24153a5a1b3Sopenharmony_ci cur=${cur#*=} 24253a5a1b3Sopenharmony_ci _known_hosts_real "$cur" 24353a5a1b3Sopenharmony_ci ;; 24453a5a1b3Sopenharmony_ci 24553a5a1b3Sopenharmony_ci -*) 24653a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur")) 24753a5a1b3Sopenharmony_ci [[ $COMPREPLY == *= ]] && compopt -o nospace 24853a5a1b3Sopenharmony_ci ;; 24953a5a1b3Sopenharmony_ci 25053a5a1b3Sopenharmony_ci *) 25153a5a1b3Sopenharmony_ci [[ -z $command ]] && COMPREPLY=($(compgen -W '${commands[*]}' -- "$cur")) 25253a5a1b3Sopenharmony_ci ;; 25353a5a1b3Sopenharmony_ci esac 25453a5a1b3Sopenharmony_ci} 25553a5a1b3Sopenharmony_cicomplete -F _pactl pactl 25653a5a1b3Sopenharmony_ci 25753a5a1b3Sopenharmony_ci_pacmd() { 25853a5a1b3Sopenharmony_ci local cur prev words cword preprev word command 25953a5a1b3Sopenharmony_ci local comps 26053a5a1b3Sopenharmony_ci local flags='-h --help --version' 26153a5a1b3Sopenharmony_ci local commands=(exit help list-modules list-cards list-sinks list-sources list-clients 26253a5a1b3Sopenharmony_ci list-samples list-sink-inputs list-source-outputs stat info 26353a5a1b3Sopenharmony_ci load-module unload-module describe-module set-sink-volume 26453a5a1b3Sopenharmony_ci set-source-volume set-sink-input-volume set-source-output-volume 26553a5a1b3Sopenharmony_ci set-sink-mute set-source-mut set-sink-input-mute 26653a5a1b3Sopenharmony_ci set-source-output-mute update-sink-proplist update-source-proplist 26753a5a1b3Sopenharmony_ci update-sink-input-proplist update-source-output-proplist 26853a5a1b3Sopenharmony_ci set-default-sink set-default-source kill-client kill-sink-input 26953a5a1b3Sopenharmony_ci kill-source-output play-sample remove-sample load-sample 27053a5a1b3Sopenharmony_ci load-sample-lazy load-sample-dir-lazy play-file dump 27153a5a1b3Sopenharmony_ci move-sink-input move-source-output suspend-sink suspend-source 27253a5a1b3Sopenharmony_ci suspend set-card-profile set-sink-port set-source-port 27353a5a1b3Sopenharmony_ci set-port-latency-offset set-log-target set-log-level set-log-meta 27453a5a1b3Sopenharmony_ci set-log-time set-log-backtrace send-message) 27553a5a1b3Sopenharmony_ci _init_completion -n = || return 27653a5a1b3Sopenharmony_ci preprev=${words[$cword-2]} 27753a5a1b3Sopenharmony_ci 27853a5a1b3Sopenharmony_ci for word in "${COMP_WORDS[@]}"; do 27953a5a1b3Sopenharmony_ci if in_array "$word" "${commands[@]}"; then 28053a5a1b3Sopenharmony_ci command=$word 28153a5a1b3Sopenharmony_ci break 28253a5a1b3Sopenharmony_ci fi 28353a5a1b3Sopenharmony_ci done 28453a5a1b3Sopenharmony_ci 28553a5a1b3Sopenharmony_ci case $preprev in 28653a5a1b3Sopenharmony_ci play-sample|play-file) 28753a5a1b3Sopenharmony_ci comps=$(__sinks) 28853a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 28953a5a1b3Sopenharmony_ci ;; 29053a5a1b3Sopenharmony_ci 29153a5a1b3Sopenharmony_ci load-sample*) _filedir ;; 29253a5a1b3Sopenharmony_ci 29353a5a1b3Sopenharmony_ci move-sink-input) 29453a5a1b3Sopenharmony_ci comps=$(__sinks) 29553a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 29653a5a1b3Sopenharmony_ci ;; 29753a5a1b3Sopenharmony_ci 29853a5a1b3Sopenharmony_ci move-source-output) 29953a5a1b3Sopenharmony_ci comps=$(__sources) 30053a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 30153a5a1b3Sopenharmony_ci ;; 30253a5a1b3Sopenharmony_ci 30353a5a1b3Sopenharmony_ci set-card-profile) 30453a5a1b3Sopenharmony_ci comps=$(__profiles) 30553a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 30653a5a1b3Sopenharmony_ci ;; 30753a5a1b3Sopenharmony_ci 30853a5a1b3Sopenharmony_ci set-*port*) 30953a5a1b3Sopenharmony_ci comps=$(__ports) 31053a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 31153a5a1b3Sopenharmony_ci ;; 31253a5a1b3Sopenharmony_ci 31353a5a1b3Sopenharmony_ci set-*-mute) COMPREPLY=($(compgen -W 'true false' -- "$cur"));; 31453a5a1b3Sopenharmony_ci 31553a5a1b3Sopenharmony_ci set-sink-formats) 31653a5a1b3Sopenharmony_ci ;; #TODO 31753a5a1b3Sopenharmony_ci esac 31853a5a1b3Sopenharmony_ci 31953a5a1b3Sopenharmony_ci case $prev in 32053a5a1b3Sopenharmony_ci list-*) ;; 32153a5a1b3Sopenharmony_ci describe-module|load-module) 32253a5a1b3Sopenharmony_ci comps=$(__all_modules) 32353a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 32453a5a1b3Sopenharmony_ci ;; 32553a5a1b3Sopenharmony_ci 32653a5a1b3Sopenharmony_ci unload-module) 32753a5a1b3Sopenharmony_ci comps=$(__loaded_modules) 32853a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 32953a5a1b3Sopenharmony_ci ;; 33053a5a1b3Sopenharmony_ci 33153a5a1b3Sopenharmony_ci load-sample-dir-lazy) _filedir -d ;; 33253a5a1b3Sopenharmony_ci play-file) _filedir ;; 33353a5a1b3Sopenharmony_ci 33453a5a1b3Sopenharmony_ci *sink-input*) 33553a5a1b3Sopenharmony_ci comps=$(__sink_inputs) 33653a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 33753a5a1b3Sopenharmony_ci ;; 33853a5a1b3Sopenharmony_ci 33953a5a1b3Sopenharmony_ci *source-output*) 34053a5a1b3Sopenharmony_ci comps=$(__source_outputs) 34153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 34253a5a1b3Sopenharmony_ci ;; 34353a5a1b3Sopenharmony_ci 34453a5a1b3Sopenharmony_ci *sink*) 34553a5a1b3Sopenharmony_ci comps=$(__sinks) 34653a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 34753a5a1b3Sopenharmony_ci ;; 34853a5a1b3Sopenharmony_ci 34953a5a1b3Sopenharmony_ci *source*) 35053a5a1b3Sopenharmony_ci comps=$(__sources) 35153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 35253a5a1b3Sopenharmony_ci ;; 35353a5a1b3Sopenharmony_ci 35453a5a1b3Sopenharmony_ci set-card*) 35553a5a1b3Sopenharmony_ci comps=$(__cards) 35653a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 35753a5a1b3Sopenharmony_ci ;; 35853a5a1b3Sopenharmony_ci 35953a5a1b3Sopenharmony_ci set-port-*) 36053a5a1b3Sopenharmony_ci comps=$(__cards) 36153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 36253a5a1b3Sopenharmony_ci ;; 36353a5a1b3Sopenharmony_ci 36453a5a1b3Sopenharmony_ci set-log-target) 36553a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W 'auto syslog stderr file: newfile:' -- "$cur")) 36653a5a1b3Sopenharmony_ci ;; 36753a5a1b3Sopenharmony_ci 36853a5a1b3Sopenharmony_ci set-log-level) 36953a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '{0..4}' -- "$cur")) 37053a5a1b3Sopenharmony_ci ;; 37153a5a1b3Sopenharmony_ci 37253a5a1b3Sopenharmony_ci set-log-meta|set-log-time|suspend) 37353a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W 'true false' -- "$cur")) 37453a5a1b3Sopenharmony_ci ;; 37553a5a1b3Sopenharmony_ci esac 37653a5a1b3Sopenharmony_ci 37753a5a1b3Sopenharmony_ci case $cur in 37853a5a1b3Sopenharmony_ci -*) COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur")) ;; 37953a5a1b3Sopenharmony_ci suspend) 38053a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W 'suspend suspend-sink suspend-source' -- "$cur")) 38153a5a1b3Sopenharmony_ci ;; 38253a5a1b3Sopenharmony_ci 38353a5a1b3Sopenharmony_ci load-sample) 38453a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W 'load-sample load-sample-lazy load-sample-dir-lazy' -- "$cur")) 38553a5a1b3Sopenharmony_ci ;; 38653a5a1b3Sopenharmony_ci 38753a5a1b3Sopenharmony_ci *) 38853a5a1b3Sopenharmony_ci [[ -z $command ]] && COMPREPLY=($(compgen -W '${commands[*]}' -- "$cur")) 38953a5a1b3Sopenharmony_ci ;; 39053a5a1b3Sopenharmony_ci esac 39153a5a1b3Sopenharmony_ci} 39253a5a1b3Sopenharmony_cicomplete -F _pacmd pacmd 39353a5a1b3Sopenharmony_ci 39453a5a1b3Sopenharmony_ci_pasuspender () { 39553a5a1b3Sopenharmony_ci local cur prev 39653a5a1b3Sopenharmony_ci local flags='-h --help --version -s --server=' 39753a5a1b3Sopenharmony_ci 39853a5a1b3Sopenharmony_ci _init_completion -n = || return 39953a5a1b3Sopenharmony_ci 40053a5a1b3Sopenharmony_ci case $cur in 40153a5a1b3Sopenharmony_ci --server=*) 40253a5a1b3Sopenharmony_ci cur=${cur#*=} 40353a5a1b3Sopenharmony_ci _known_hosts_real "$cur" 40453a5a1b3Sopenharmony_ci ;; 40553a5a1b3Sopenharmony_ci 40653a5a1b3Sopenharmony_ci -*) 40753a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur")) 40853a5a1b3Sopenharmony_ci [[ $COMPREPLY == *= ]] && compopt -o nospace 40953a5a1b3Sopenharmony_ci ;; 41053a5a1b3Sopenharmony_ci esac 41153a5a1b3Sopenharmony_ci 41253a5a1b3Sopenharmony_ci case $prev in 41353a5a1b3Sopenharmony_ci -s) _known_hosts_real "$cur" ;; 41453a5a1b3Sopenharmony_ci esac 41553a5a1b3Sopenharmony_ci} 41653a5a1b3Sopenharmony_cicomplete -F _pasuspender pasuspender 41753a5a1b3Sopenharmony_ci 41853a5a1b3Sopenharmony_ci_padsp () { 41953a5a1b3Sopenharmony_ci local cur prev 42053a5a1b3Sopenharmony_ci local flags='-h -s -n -m -M -S -D -d' 42153a5a1b3Sopenharmony_ci 42253a5a1b3Sopenharmony_ci _get_comp_words_by_ref cur prev 42353a5a1b3Sopenharmony_ci 42453a5a1b3Sopenharmony_ci case $cur in 42553a5a1b3Sopenharmony_ci -*) COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur")) ;; 42653a5a1b3Sopenharmony_ci esac 42753a5a1b3Sopenharmony_ci 42853a5a1b3Sopenharmony_ci case $prev in 42953a5a1b3Sopenharmony_ci -s) _known_hosts_real "$cur" ;; 43053a5a1b3Sopenharmony_ci esac 43153a5a1b3Sopenharmony_ci} 43253a5a1b3Sopenharmony_cicomplete -F _padsp padsp 43353a5a1b3Sopenharmony_ci 43453a5a1b3Sopenharmony_ci_pacat () { 43553a5a1b3Sopenharmony_ci local cur prev comps 43653a5a1b3Sopenharmony_ci local flags='-h --help --version -r --record -p --playback -v --verbose -s 43753a5a1b3Sopenharmony_ci --server= -d --device= -n --client-name= --stream-name= --volume= 43853a5a1b3Sopenharmony_ci --rate= --format= --channels= --channel-map= --fix-format --fix-rate 43953a5a1b3Sopenharmony_ci --fix-channels --no-remix --no-remap --latency= --process-time= 44053a5a1b3Sopenharmony_ci --latency-msec= --process-time-msec= --property= --raw --passthrough 44153a5a1b3Sopenharmony_ci --file-format= --list-file-formats --monitor-stream=' 44253a5a1b3Sopenharmony_ci 44353a5a1b3Sopenharmony_ci _init_completion -n = || return 44453a5a1b3Sopenharmony_ci 44553a5a1b3Sopenharmony_ci case $cur in 44653a5a1b3Sopenharmony_ci --server=*) 44753a5a1b3Sopenharmony_ci cur=${cur#*=} 44853a5a1b3Sopenharmony_ci _known_hosts_real "$cur" 44953a5a1b3Sopenharmony_ci ;; 45053a5a1b3Sopenharmony_ci 45153a5a1b3Sopenharmony_ci --device=*) 45253a5a1b3Sopenharmony_ci cur=${cur#*=} 45353a5a1b3Sopenharmony_ci comps=$(__sinks) 45453a5a1b3Sopenharmony_ci comps+=" "$(__sources) 45553a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 45653a5a1b3Sopenharmony_ci ;; 45753a5a1b3Sopenharmony_ci 45853a5a1b3Sopenharmony_ci --monitor-stream=*) 45953a5a1b3Sopenharmony_ci cur=${cur#*=} 46053a5a1b3Sopenharmony_ci comps=$(__sink_inputs) 46153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 46253a5a1b3Sopenharmony_ci ;; 46353a5a1b3Sopenharmony_ci 46453a5a1b3Sopenharmony_ci --rate=*) 46553a5a1b3Sopenharmony_ci cur=${cur#*=} 46653a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '32000 44100 48000 9600 192000' -- "$cur")) 46753a5a1b3Sopenharmony_ci ;; 46853a5a1b3Sopenharmony_ci 46953a5a1b3Sopenharmony_ci --file-format=*) 47053a5a1b3Sopenharmony_ci cur=${cur#*=} 47153a5a1b3Sopenharmony_ci comps=$(_pacat_file_formats) 47253a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 47353a5a1b3Sopenharmony_ci ;; 47453a5a1b3Sopenharmony_ci 47553a5a1b3Sopenharmony_ci --*=*) 47653a5a1b3Sopenharmony_ci ;; 47753a5a1b3Sopenharmony_ci 47853a5a1b3Sopenharmony_ci -*) 47953a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur")) 48053a5a1b3Sopenharmony_ci [[ $COMPREPLY == *= ]] && compopt -o nospace 48153a5a1b3Sopenharmony_ci ;; 48253a5a1b3Sopenharmony_ci *) _filedir ;; 48353a5a1b3Sopenharmony_ci esac 48453a5a1b3Sopenharmony_ci 48553a5a1b3Sopenharmony_ci case $prev in 48653a5a1b3Sopenharmony_ci -s) _known_hosts_real "$cur" ;; 48753a5a1b3Sopenharmony_ci -d) 48853a5a1b3Sopenharmony_ci comps=$(__sinks) 48953a5a1b3Sopenharmony_ci comps+=" "$(__sources) 49053a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 49153a5a1b3Sopenharmony_ci ;; 49253a5a1b3Sopenharmony_ci esac 49353a5a1b3Sopenharmony_ci} 49453a5a1b3Sopenharmony_cicomplete -F _pacat pacat paplay parec parecord 49553a5a1b3Sopenharmony_ci 49653a5a1b3Sopenharmony_ci_pulseaudio() 49753a5a1b3Sopenharmony_ci{ 49853a5a1b3Sopenharmony_ci local cur prev words cword 49953a5a1b3Sopenharmony_ci local flags='-h --help --version --dump-conf --dump-resample-methods --cleanup-shm 50053a5a1b3Sopenharmony_ci --start -k --kill --check --system= -D --daemonize= --fail= --high-priority= 50153a5a1b3Sopenharmony_ci --realtime= --disallow-module-loading= --disallow-exit= --exit-idle-time= 50253a5a1b3Sopenharmony_ci --scache-idle-time= --log-level= -v --log-target= --log-meta= --log-time= 50353a5a1b3Sopenharmony_ci --log-backtrace= -p --dl-search-path= --resample-method= --use-pit-file= 50453a5a1b3Sopenharmony_ci --no-cpu-limit= --disable-shm= --enable-memfd= -L --load= -F --file= -C -n' 50553a5a1b3Sopenharmony_ci _init_completion -n = || return 50653a5a1b3Sopenharmony_ci 50753a5a1b3Sopenharmony_ci case $cur in 50853a5a1b3Sopenharmony_ci --system=*|--daemonize=*|--fail=*|--high-priority=*|--realtime=*| \ 50953a5a1b3Sopenharmony_ci --disallow-*=*|--log-meta=*|--log-time=*|--use-pid-file=*| \ 51053a5a1b3Sopenharmony_ci --no-cpu-limit=*|--disable-shm=*|--enable-memfd=*) 51153a5a1b3Sopenharmony_ci cur=${cur#*=} 51253a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W 'true false' -- "$cur")) 51353a5a1b3Sopenharmony_ci ;; 51453a5a1b3Sopenharmony_ci 51553a5a1b3Sopenharmony_ci --log-target=*) 51653a5a1b3Sopenharmony_ci cur=${cur#*=} 51753a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W 'auto syslog stderr file: newfile:' -- "$cur")) 51853a5a1b3Sopenharmony_ci ;; 51953a5a1b3Sopenharmony_ci 52053a5a1b3Sopenharmony_ci --log-level=*) 52153a5a1b3Sopenharmony_ci cur=${cur#*=} 52253a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '{0..4}' -- "$cur")) 52353a5a1b3Sopenharmony_ci ;; 52453a5a1b3Sopenharmony_ci 52553a5a1b3Sopenharmony_ci --dl-search-path=*) 52653a5a1b3Sopenharmony_ci cur=${cur#*=} 52753a5a1b3Sopenharmony_ci _filedir -d 52853a5a1b3Sopenharmony_ci ;; 52953a5a1b3Sopenharmony_ci 53053a5a1b3Sopenharmony_ci --file=*) 53153a5a1b3Sopenharmony_ci cur=${cur#*=} 53253a5a1b3Sopenharmony_ci _filedir 53353a5a1b3Sopenharmony_ci ;; 53453a5a1b3Sopenharmony_ci 53553a5a1b3Sopenharmony_ci --resample-method=*) 53653a5a1b3Sopenharmony_ci cur=${cur#*=} 53753a5a1b3Sopenharmony_ci comps=$(__resample_methods) 53853a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 53953a5a1b3Sopenharmony_ci ;; 54053a5a1b3Sopenharmony_ci 54153a5a1b3Sopenharmony_ci --load=*) 54253a5a1b3Sopenharmony_ci cur=${cur#*=} 54353a5a1b3Sopenharmony_ci comps=$(__all_modules) 54453a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 54553a5a1b3Sopenharmony_ci ;; 54653a5a1b3Sopenharmony_ci 54753a5a1b3Sopenharmony_ci --*=*) 54853a5a1b3Sopenharmony_ci ;; 54953a5a1b3Sopenharmony_ci 55053a5a1b3Sopenharmony_ci -*) 55153a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur")) 55253a5a1b3Sopenharmony_ci [[ $COMPREPLY == *= ]] && compopt -o nospace 55353a5a1b3Sopenharmony_ci ;; 55453a5a1b3Sopenharmony_ci esac 55553a5a1b3Sopenharmony_ci 55653a5a1b3Sopenharmony_ci case $prev in 55753a5a1b3Sopenharmony_ci -D) COMPREPLY=($(compgen -W 'true false' -- "$cur")) ;; 55853a5a1b3Sopenharmony_ci -p) _filedir -d ;; 55953a5a1b3Sopenharmony_ci -F) _filedir ;; 56053a5a1b3Sopenharmony_ci -L) 56153a5a1b3Sopenharmony_ci cur=${cur#*=} 56253a5a1b3Sopenharmony_ci comps=$(__all_modules) 56353a5a1b3Sopenharmony_ci COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur")) 56453a5a1b3Sopenharmony_ci ;; 56553a5a1b3Sopenharmony_ci esac 56653a5a1b3Sopenharmony_ci} 56753a5a1b3Sopenharmony_cicomplete -F _pulseaudio pulseaudio 56853a5a1b3Sopenharmony_ci 56953a5a1b3Sopenharmony_ci#vim: set ft=zsh sw=4 ts=4 noet 570