“Agora adicionando o atalho do media player” ou software para * nix? [fechadas]

1

Procurando por um addon / aplicativo ou media player que forneça uma saída de tecla de atalho 'Now Playing' para o recurso de área de transferência, semelhante ao do AMIP (plugin avançado de integração mIRC) que é executado nativamente no Linux - sem vinho.

O AMIP está strongmente ligado à API do Windows, o que é uma vergonha.

Alguém sabe de algo semelhante?

    
por archenemy 19.06.2014 / 11:20

1 resposta

0

Depois de procurar por algumas horas sem sorte, tomei a iniciativa e joguei tudo junto.

Apenas um alerta para qualquer um que planeje usar isso - duvido que isso seja muito eficiente , e tenho certeza de que há uma maneira melhor - mas isso funciona muito bem para mim.

Se eficiência é um problema, talvez essa não seja a melhor maneira para você.

Pessoalmente, eu tenho essa configuração executada em uma tecla de atalho no meu gerenciador de janelas (CTRL + Shift + Z), e funciona muito bem! :)

Observação: xclip, lsof e ffmpeg são necessários.

Saída: np: A Perfect Circle - The Noose.flac [801 kb/s] in vlc

#!/bin/sh

mediaplayers="vlc totem rhythmbox banshee mplayer gnome-mplayer"

# path to ffmpeg
ffmpeg=$(which ffmpeg)
[ -z "$ffmpeg" ] && echo "ffmpeg not installed" && exit 1


for mediaplayer in $mediaplayers
do
  pat="([^\w-]$mediaplayer)"
  if ps ux | grep -P $pat | grep -vq grep; then
    #mediaplayer detected
    file='lsof -F n -c "$mediaplayer" | egrep -i "^.*\.(mp3|flac|m4a)$" | sed 's/^n//g''

    if [ ! -z "$file" ]; then
          if echo $file | grep -q m4a; then
          bitrate='ffmpeg -i "$file" 2>&1 | grep -v Estimating | grep bitrate | sed 's/^.*[*:].//g''
          # crazy bash string manipulation (my m4a's have no metadata -- unsure if yours do)
          echo -n "np: ${file##*/} [$bitrate] in $mediaplayer"  | xclip -selection clipboard
          exit 1
        fi

        if echo $file | grep -q mp3; then
          # mp3 metadata
          perf='ffmpeg -i "$file" 2>&1 | grep -v album_artist | grep artist | sed 's/^.*[*:].//g''
          title='ffmpeg -i "$file" 2>&1 | grep -v Image | grep -v cover | grep title | sed 's/^.*[*:].//g''
          bitrate='ffmpeg -i "$file" 2>&1 | grep -v Estimating | grep bitrate | sed 's/^.*[*:].//g''
          if [ ! -z "$title" ] && [ ! -z "$perf" ]; then
            echo -n "np: $perf - $title.mp3 [$bitrate] in $mediaplayer"  | xclip -selection clipboard
            exit 1
          fi
        fi

        if echo $file | grep -q flac; then
          # flac metadata
          perf='ffmpeg -i "$file" 2>&1 | grep ARTIST | sed 's/^.*[*:].//g''
          title='ffmpeg -i "$file" 2>&1 | grep -v Image | grep TITLE | sed 's/^.*[*:].//g''
          bitrate='ffmpeg -i "$file" 2>&1 | grep bitrate | sed 's/^.*[*:].//g''
          echo File: "$file"
          if [ ! -z "$title" ] && [ ! -z "$perf" ]; then
            echo -n "np: $perf - $title.flac [$bitrate] in $mediaplayer"  | xclip -selection clipboard
            exit 1
          fi
        fi

      fi
    else
      echo -n "No music playing or no player detected..." | xclip -selection clipboard
  fi
done

FYI, sou 'arqui-inimigo'. Não consegui me lembrar dos detalhes da minha conta quando fiz a pergunta.

    
por 19.06.2014 / 16:34