All Projects â†’ issadarkthing â†’ Gomu

issadarkthing / Gomu

Licence: gpl-2.0
golang TUI music player

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Gomu

Spotui
Spotify in the terminal ðŸ’ŧðŸŽķ
Stars: ✭ 302 (+1018.52%)
Mutual labels:  terminal-app, terminal, music-player
Tomato Clock
Pomodoro į•ŠčŒ„å·Ĩä―œæģ• https://en.wikipedia.org/wiki/Pomodoro_Technique
Stars: ✭ 139 (+414.81%)
Mutual labels:  terminal-app, terminal
Lazyhub
lazyhub - Terminal UI Client for GitHub using gocui.
Stars: ✭ 133 (+392.59%)
Mutual labels:  terminal-app, terminal
Mitype
Typing speed test in terminal
Stars: ✭ 241 (+792.59%)
Mutual labels:  terminal-app, terminal
Musikcube
a cross-platform, terminal-based music player, audio engine, metadata indexer, and server in c++
Stars: ✭ 2,663 (+9762.96%)
Mutual labels:  terminal, music-player
Linuxspells
âœĻ Potter-ify your Linux experience! ::
Stars: ✭ 77 (+185.19%)
Mutual labels:  terminal-app, terminal
Nord Terminal App
An arctic, north-bluish clean and elegant Terminal.app color theme.
Stars: ✭ 198 (+633.33%)
Mutual labels:  terminal-app, terminal
Rubiks cube
rubik's cube that runs in your terminal!
Stars: ✭ 73 (+170.37%)
Mutual labels:  terminal-app, terminal
Ticker
Terminal stock ticker with live updates and position tracking
Stars: ✭ 3,986 (+14662.96%)
Mutual labels:  terminal-app, terminal
Finalcut
A text-based widget toolkit
Stars: ✭ 244 (+803.7%)
Mutual labels:  terminal-app, terminal
Tizonia Openmax Il
Command-line cloud music player for Linux with support for Spotify, Google Play Music, YouTube, SoundCloud, TuneIn, iHeartRadio, Plex servers and Chromecast devices.
Stars: ✭ 1,556 (+5662.96%)
Mutual labels:  terminal, music-player
Neoterm
👍 A modern-designed Android terminal emulator for the 21st century.
Stars: ✭ 453 (+1577.78%)
Mutual labels:  terminal-app, terminal
Tui Go
A UI library for terminal applications.
Stars: ✭ 2,015 (+7362.96%)
Mutual labels:  terminal-app, terminal
Sc Im
sc-im - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal
Stars: ✭ 3,081 (+11311.11%)
Mutual labels:  terminal-app, terminal
Terminology
The best terminal emulator based on the Enlightenment Foundation Libraries
Stars: ✭ 440 (+1529.63%)
Mutual labels:  terminal-app, terminal
Initior
A command line application that let's you initialize your new projects the right way, replaces npm and yarn's init 🎆
Stars: ✭ 17 (-37.04%)
Mutual labels:  terminal-app, terminal
Mopidy
Mopidy is an extensible music server written in Python
Stars: ✭ 7,254 (+26766.67%)
Mutual labels:  music-player
Socli
Stack overflow command line client. Search and browse stack overflow without leaving the terminal ðŸ’ŧ
Stars: ✭ 911 (+3274.07%)
Mutual labels:  terminal-app
Create Component App
Tool to generate different types of React components from the terminal. ðŸ’ŧ
Stars: ✭ 879 (+3155.56%)
Mutual labels:  terminal
Curlie
The power of curl, the ease of use of httpie.
Stars: ✭ 877 (+3148.15%)
Mutual labels:  terminal

Gomu (Go Music Player)

Go Report Card Build Status

Gomu is intuitive, powerful CLI music player. It has embedded scripting language and event hook to enable user to customize their config extensively.

gomu

Features

  • lightweight
  • simple
  • fast
  • show audio files as tree
  • queue cache
  • vim keybindings
  • youtube-dl integration
  • audio file management
  • customizable
  • find music from youtube
  • scriptable config
  • download lyric
  • id3v2 tag editor

Dependencies

If you are using ubuntu, you need to install alsa and required dependencies

$ sudo apt install libasound2-dev go

Optional dependencies can be installed by this command

$ sudo apt install youtube-dl

Installation

$ go get -u github.com/issadarkthing/gomu

For arch users, you can install from the AUR

using yay:

$ yay -S gomu

using aura:

$ sudo aura -A gomu

Configuration

By default, gomu will look for audio files in ~/music directory. If you wish to change to your desired location, edit ~/.config/gomu/config file and change music_dir = path/to/your/musicDir.

Keybindings

Each panel has it's own additional keybinding. To view the available keybinding for the specific panel use ?

Key (General) Description
tab change panel
space toggle play/pause
esc close popup
n skip
q quit
+ volume up
- volume down
f/F forward 10/60 seconds
b/B rewind 10/60 seconds
? toggle help
m open repl
T switch lyrics
Key (Playlist) Description
j down
k up
h close node in playlist
a create playlist
l (lowercase L) add song to queue
L add playlist to queue
d delete file from filesystemd
D delete playlist from filesystem
Y download audio
r refresh
R rename
y/p yank/paste file
/ find in playlist
s search audio from youtube
t edit mp3 tags
1/2 find lyric if available
Key (Queue) Description
j down
k up
l (lowercase L) play selected song
d remove from queue
D delete playlist
z toggle loop
s shuffle
/ find in queue
t lyric delay increase 0.5 second
r lyric delay decrease 0.5 second

Scripting

Gomu uses anko as its scripting language. You can read more about scripting at our wiki


Keybinds.def_g("ctrl_x", func() {
    out, err = shell(`echo "hello world"`)
    if err != nil {
        debug_popup("an error occured")
    }
    info_popup(out)
})

Project Background

I just wanted to implement my own music player with a programming language i'm currently learning (Go). Gomu might not be stable as it in constant development. For now, it can fulfill basic music player functions such as:

  • add and delete songs from queue
  • create playlists
  • skip
  • play
  • pause
  • forward and rewind

Seeking and more advanced stuff has not yet been implemented; feel free to contribute :)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].