Baseado em esta resposta que passa argumentos de find
, eu criei o seguinte script:
$ beet ls QUERY | mplayer -playlist /dev/fd/3 3<&0 </dev/tty
Explicação rápida de como eu o entendo: mplayer
é instruído a ler /dev/fd/3
como um arquivo de lista de reprodução. O descritor de arquivo 3 ( /dev/fd/3
) é preenchido pela entrada padrão ( 3<&0
) do comando beet
. E a entrada para mplayer
é especificada como o terminal de controle ( </dev/tty
). Como o mplayer está lendo de um arquivo e não stdin, você pode controlá-lo com o teclado.
Isso funciona para mim no Mac OS 10.8.3.