Album Cover di Ncmpcpp

Kali ini saya ingin membahas tentang cara tampilkan album cover di ncmpcpp. Sebenarnya tutorial ini udah ada didraft saya sejak 2019 😂 saya lupa mau nulis. Anyway.. kalau kalian emang bosen sama media player biasa kalian boleh coba-coba pake ncmpcpp. Yang tutorial installasinya akan saya jelaskan setelah saya menulis tutorial ini.

Pertama, yang kita butuhkan apa saja?
  • Terminal yang support dengan pixbuf. Disini saya menggunakan urxvt-unicode-pixbuf di repo AUR (udh pada tau kan cara install package dari repo AUR? Kalau belum bisa dicek dilink ini). Kalau kalian menggunakan debian/ubuntu, langsung install urxvt saja, karena konon katanya (di forum-forum) distro berikut sudah included dengan pixbuf
  • Telah terinstall mpd dan ncmpcpp.
  • Cover album disetiap folder lagu kalian.

Nah... sudah tau kan apa yang perlu kalian lakukan. Sekali lagi, saya gak akan jelasin cara installasi requirement diatas, kalian cari sendiri aja. Karena konteks tutorialnya beda.

Oke pertama, pastikan fitur pixbuf bekerja, dengan memanfaatkan perintah berikut :
urxvt -pixmap lokasi/gambarmu
Kalau pixbuf bekerja. Hasilnya akan seperti berikut :

Oke... Kalau step berikut udah lolos. Kita akan lanjut membuat kode bash untuk menampilkan gambar albumnya. Masukkan kode berikut, lalu simpan didalam folder .ncmpcpp kalian, beri nama file sesuai selera kalian masing-masing. Dengan ekstensi .sh (sebagai contoh : cover.sh)
#!/bin/bash

MUSIC_DIR=/home/glad/Music

COVER=/tmp/cover.jpg

function reset_background
{
    printf "\e]20;;100x100+1000+1000\a"
}

{
    album="$(mpc --format %album% current)"
    file="$(mpc --format %file% current)"
    album_dir="${file%/*}"
    [[ -z "$album_dir" ]] && exit 1
    album_dir="$MUSIC_DIR/$album_dir"

    covers="$(find "$album_dir" -type d -exec find {} -maxdepth 1 -type f -iregex ".*/.*\(${album}\|cover\|folder\|artwork\|front\).*[.]\(jpe?g\|png\|gif\|bmp\)" \; )"
    src="$(echo -n "$covers" | head -n1)"
    rm -f "$COVER"
    if [[ -n "$src" ]] ; then
        #resize the image's height to 300px & extent it to cover the urxvt length
        convert "$src" -resize 300x -background "#ffffff" -extent 1100x400 "$COVER"
        if [[ -f "$COVER" ]] ; then

           #-- original script --
           #scale down the cover to 30% of the original
           #place it 1% away from left and 50% away from top.
           #printf "\e]20;${COVER};70x70+0+4:op=keep-aspect\a"
           #---------------------

           #no need to scale down, i have extent it
           printf "\e]20;${COVER};100x100+0+0:op=keep-aspect\a"
        else
            reset_background
        fi
    else
        reset_background
    fi
} &

Oke... Butuh penjelasan gak? Paling kalian cuma copas. Yaudah kujelasin yang (pastin) bakalan kalian ubah-ubah aja ya.

  • MUSIC_DIR = itu directory musik kalian, jadi sesuaikan sendiri dimana kalian menyimpan semua musik-musik kalian. Dan ingan seperti yang saya sebutkan sebelumnya, disetiap folder wajib menyertakan gambar album.
Beri permission agar skrip bisa dieksekusi dengan perintah

chmod +x cover.sh

Lalu buka konfigurasi ncmpcpp kalian.

nano .ncmpcpp/config

Setelah itu, tambahkan kode berikut pada baris terakhir, untuk mengeksekusi skrip yang sudah kalian copas buat sebelumnya.

execute_on_song_change = ~/.ncmpcpp/cover.sh

Simpan dan keluar. lalu nikmatilah...
Sekian tutorial dari saya, jika berkesan/menarik. Silahkan di share. Jika ada pertanyaan tulis saja dikolom komentar.
Semoga bermanfaat. Terimakasih...

Sumber referensi

Tidak ada komentar:

Posting Komentar