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から取ってこれたらもっと便利な気がする。