Gomu Terminal Music Player
As I was learning Go programming language, I developed a software that I been yearning for when I was a child due to the limitations of most music players nowadays. Go programming language or “golang” is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. The language itself is easy to learn and you can get the hang of it fairly quick.
Gomu or Go Music player is an open-source standalone TUI program. It is intended to be used inside of the terminal and it is keyboard driven which means that you will be using your keyboard the most for navigating through the application. The keybindings are mostly inspired from vim.
The application is able to download audio from youtube and extracts the audio
from it in order to save space in your hardware. Not only that, if the
downloaded video/audio from youtube has closed caption, it will be able to
extract that and display it as lyric. Of course, if the video has missing close
caption you would also be able to fetch the lyric from this
website by
using 1/2
keybindings depending on the song language (1 is for english and 2
is for chinese)
Quitting gomu and re-open it will cause it to resume for the recently played
song from the queue. The queue is persistent upon closing so you won’t have to
manually re-add your songs back to queue. The songs are organized according to
their layout on the filesystem. By default, gomu will search song in ~/Music
directory. You can always change this in the config ~/.config/gomu/config
Did I tell you that it has embedded programming language? It uses
anko a golang like scripting language. This
scripting language is used to script some things like adding event listener when
the song changes and call notify-send
to show notification about the currently
played song. It is also used to change or add new keybindings.
If you want to try out gomu for yourself, you can go to this repository. Feel free to contribute 😄