fnwiya's quine

自分自身を出力するブログ

youtubeをfzf/pecoでフィルタリングしながらコマンドラインで再生

コマンドラインに引きこもりたいけど音楽も聴きたかったので聴きたい曲をpecoって選べるようにしてみました。

再生用のツールをインストール

brew install youtube-dl mplayer

聴きたい曲候補を~/favoriteSongs.tsvに
一行目:検索する際のタイトル
二行目:URL
として用意します。

zshの設定(fzfの部分をpecoにしても動きます)

    function fzf-youtube () {
        local title=$(cat ~/favoriteSongs.tsv | cut -f1 | fzf)
        if [ -n "$title" ]; then
            url=$(grep ${title} ~/favoriteSongs.tsv | cut -f2)
            BUFFER="youtube-dl '${url}' -o - | mplayer - -novideo"
            zle accept-line
        fi
        zle clear-screen
    }
    zle -N fzf-youtube fzf-youtube
    bindkey '^x^v' fzf-youtube

これでC-x C-vを叩けばfzfでフィルタリングができ、
選択した曲が流れ始めます。

自分のplaylistから取ってこれたらもっと便利な気がする。