Como jogar o resultado de “mpc search”?

3

Exemplo:

$ mpc search title "when I was your man" 
Bruno Mars/Unorthodox Jukebox/06 Bruno Mars - When I Was Your Man.mp3

Como faço para tocar a música? Eu tentei canalizá-lo para mpc play , mas sem sorte.

$ mpc search title "when I was your man" | mpc play
    
por Jürgen Paul 22.08.2013 / 09:15

4 respostas

4

Se você olhar para o que mpd play deve fazer:

play <position>
  Starts playing the song-number specified. If none is specified, plays number 1.

você notará que não faz sentido especificar um nome de arquivo como position .

Não tenho certeza se há uma maneira fácil de fazer o que você quer com o mpc porque ele não suporta todos os comandos que o MPD faz (como addid ).

Se você não quiser manter sua playlist, você pode fazer

mpc clear; mpc search title "when I was your man" | mpc add; mpc play

que limpa a lista de reprodução, adiciona a (s) música (s) desejada (s) e reproduz a primeira música da lista de reprodução.

O melhor que pude fazer para tocar, adicionar uma música a uma lista de reprodução sem limpá-la e tocar a música é

title="your song title here"
mpc search title $title  | mpc add
mpc playlist -f '%position% %title%' | grep -i $title | head -n1 | cut - -d " " -f 1 | xargs mpc play
    
por 22.08.2013 / 10:29
7

mpc play espera uma posição como argumento, não um nome de arquivo. Uma posição em uma lista de reprodução para ser precisa. Primeiro, você precisa add do arquivo para uma lista de reprodução e, em seguida, informar mpc to play dessa música da lista de reprodução. Mas add adicionará a nova música no final da lista de reprodução. Para play da música recém-adicionada, você precisa saber quanto tempo é a lista de reprodução.

Aqui estão algumas sugestões de como adicionar uma música e começar a reproduzi-la:

  1. Limpe a lista de reprodução primeiro:

    mpc clear
    mpc search title "when I was your man" | mpc add
    mpc play
    
  2. Insira como próximo e reproduza em seguida:

    mpc search title "when I was your man" | mpc insert
    mpc next
    
  3. Determine o tamanho da lista de reprodução para reproduzir por último:

    mpc search title "when I was your man" | mpc add
    mpc play $(mpc playlist | wc -l)
    
por 22.08.2013 / 10:19
1

Existe uma maneira mais simples do que a resposta aceita (no caso de a música já estar em sua lista de reprodução):

mpc searchplay filename "$(mpc search title 'when I was your man')"

Se nenhum resultado for encontrado, o mpc simplesmente tocará a primeira música da sua lista de reprodução.

Se você não quiser a saída do mpc, basta anexar 2>&1 >/dev/null .

    
por 25.02.2018 / 20:14
0

Em vez de usar a função de pesquisa do mpc, eu vi o que você quer fazer com um script 'pular para a música': link

usa o mpc para obter uma lista de reprodução completa com 'position', usa essa lista para as palavras-chave de pesquisa e envia o marcador 'position' correspondente ao mpc para ser reproduzido

    
por 19.11.2013 / 13:40

Tags