O Audacity tem opções cli?
Infelizmente, olhando para man audacity
, não mostra opções interessantes ou relevantes:
OPTIONS
-help display a brief list of command line options
-version display the audacity version number
-test run self diagnostics tests (only present in development
builds)
-blocksize nnn
set the audacity block size for writing files to disk to nnn
bytes
No entanto ...
simplesmente pausando / continuando o Audacity do cli funciona exatamente de forma semelhante ao pausar / continuar gravando
Eu testei a pausa do Audacity como um processo, com os comandos kill -stop <pid>
e kill -cont <pid>
. Ele fez o trabalho perfeitamente; Parou de gravar imediatamente, retomando imediatamente quando o processo foi continuado. Mesmo depois de 6 ou sete horas, ele interrompe / retoma a gravação imediatamente com esses comandos.
Adicionar os dois comandos às teclas de atalho explica exatamente o que você descreve.
Como usar
Adicione os dois comandos a seguir para teclas de atalho:
/bin/bash -c "kill -stop $(pgrep audacity)"
... para parar (pausar) a gravação e
/bin/bash -c "kill -cont $(pgrep audacity)"
... para continuar, e você tem suas próprias teclas de atalho para iniciar / parar (realmente pausar) a gravação.
Somente a inicial inicial da gravação precisa ser feita através da GUI do Audacity.
Adicionando teclas de atalho
Escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione os dois comandos acima a duas teclas de atalho diferentes.
Estendendo opções
Claro que podemos ampliar opções, por exemplo
/bin/bash -c "kill -cont $(pgrep audacity) && notify-send Recording"
e
/bin/bash -c "kill -stop $(pgrep audacity) && notify-send Stopped"
...paramostrarumanotificaçãosobreoestadoatualouatémesmofazerumíconedepainelparamostraroestadoatual.Tudoépossível
Alémdisso,umscriptdealternância,conformesolicitadoemumcomentário
Oscriptabaixoiráalternaragravação.Adicione-aaumatecladeatalhoouinicie-adequalqueroutraforma.
Oscriptlêoestadodoprocessoatualdoarquivo/proc/<pid>/status
edecidequaldeveseroestadodedestino.
Alémdisso,oscriptnotificaousuáriosobreoqueaconteceemumanotificação(usandonotify-send
).
#!/usr/bin/env python3
import subprocess
try:
pid = subprocess.check_output(["pgrep", "audacity"]).decode("utf-8").strip()
except subprocess.CalledProcessError:
pass
else:
state = "(stopped)" in open("/proc/"+pid+"/status").read()
if state == True:
cmd = ["kill", "-cont", pid]; msg = "Recording"
else:
cmd = ["kill", "-stop", pid]; msg = "Pausing"
subprocess.Popen(cmd)
subprocess.Popen(["notify-send", msg])
Para usá-lo
- Basta copiá-lo em um arquivo vazio, salve-o como
toggle_record.py
-
Teste-o com o comando:
python3 /path/to/toggle_record.py
-
Se tudo funcionar bem, adicione-o a uma tecla de atalho, conforme explicado anteriormente na resposta.