You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
61 lines
1.6 KiB
#!/bin/bash |
|
|
|
## |
|
# Create virtual sinks for use it on Twitch VOD Track. |
|
# |
|
# @author kj |
|
# @website http://kj2.me |
|
# @licence MIT |
|
## |
|
|
|
AUDIOOUTPUTDEVICE=bluez_output.00_25_DB_69_D3_0B.a2dp-sink |
|
|
|
function startSinks() { |
|
if [ -f "sinks.pid" ]; then |
|
echo "Se ha encontrado el archivo de configuración de dispositivos virtuales previos." |
|
stopSinks |
|
fi |
|
|
|
AUDIOOUTPUTDEVICE=$1 |
|
|
|
echo "Creando los nuevos dispositvos virtuales..." |
|
pw-loopback --capture-props='media.class=Audio/Sink node.name=Music_Sink audio.position=[FL FR]' --playback-props='audio.position=[FR FL] node.target="'$AUDIOOUTPUTDEVICE'"' > /dev/null 2>&1 & |
|
Main_PID=$! |
|
pw-loopback --capture-props='media.class=Audio/Sink node.name=Main_Sink audio.position=[FL FR]' --playback-props='audio.position=[FR FL] node.target="'$AUDIOOUTPUTDEVICE'"' > /dev/null 2>&1 & |
|
Music_PID=$! |
|
|
|
echo $Main_PID >> sinks.pid |
|
echo $Music_PID >> sinks.pid |
|
|
|
echo "Las dispositivos de audio virtuales han sido creados :)." |
|
} |
|
|
|
function stopSinks() { |
|
if [ -f "sinks.pid" ]; then |
|
echo "Deteniendo los dispositivos virtuales..." |
|
while read -r pid; do |
|
kill -9 $pid |
|
done < sinks.pid |
|
rm sinks.pid |
|
echo "Dispositivos virtuales detenidos." |
|
else |
|
echo "No se ha encontrado el archivo de configuración, no hay nada para detener." |
|
fi |
|
} |
|
|
|
if [ "$1" == "start" ]; then |
|
startSinks $AUDIOOUTPUTDEVICE |
|
exit |
|
fi |
|
|
|
if [ "$1" == "stop" ]; then |
|
stopSinks |
|
exit |
|
fi |
|
|
|
if [ "$1" == "list" ]; then |
|
pactl list short sinks |
|
exit |
|
fi |
|
|
|
echo "Modo de uso: $(basename $0) [start|stop|list]"
|
|
|