Go to file
aditya-K2 0d945a3b23 Converting SearchBar Table -> Input Field
Change in Layout Now the SearchBar is at the top and everything is below
it.
2021-11-15 16:31:46 +05:30
cache RENAME functions for module 2021-11-13 14:47:26 +05:30
config Added Function to Default Key Map For Focusing Search Box 2021-11-15 15:34:41 +05:30
search Simple Implementation for calculating Distance. 2021-11-14 22:07:39 +05:30
.gitignore minor changes 2021-11-05 15:06:42 +05:30
App.go Converting SearchBar Table -> Input Field 2021-11-15 16:31:46 +05:30
LICENSE Initial commit 2021-10-08 20:22:09 +05:30
README.md UPDATE README -> demo.mp4 2021-11-14 11:58:04 +05:30
client.go Generating Album and Artist Tree 2021-11-14 14:36:24 +05:30
fileBrowser.go Updated FileNode Struct 2021-10-17 21:51:01 +05:30
go.mod GO MOD TIDY 2021-11-15 15:35:29 +05:30
go.sum GO MOD TIDY 2021-11-15 15:35:29 +05:30
imageUtils.go Rewriting image Rendering 2021-11-08 11:48:49 +05:30
lastfm.go Connecting LastFm Api to get Image Urls which is then rendered 2021-11-13 01:34:24 +05:30
main.go Rename notificationServer -> NOTIFICATION_SERVER 2021-11-14 12:02:36 +05:30
notification.go Simple Implementation of notification Mechanism. 2021-11-13 23:52:16 +05:30
progressBar.go Minor changes 2021-11-14 14:21:16 +05:30
render.go Now a notification is sent when Image is downloaded from lastfm 2021-11-14 12:04:54 +05:30
sample_config.yml Added functionality to set image paths 2021-11-05 14:11:14 +05:30
utils.go Making a config package for Generating keymappings 2021-11-11 21:57:01 +05:30

README.md

goMP

MPD client inspired by ncmpcpp written in GO

https://user-images.githubusercontent.com/51816057/141670212-34b62601-19b0-40c0-8797-f21bce2e11f3.mp4

Roadmap

  • Add Functionality to Sort out most played songs
  • Add a config parser
  • Image Previews
  • User Key Mappings
  • Querying LastFM API for getting Album Art
  • Fuzzy Searching
  • Visual Mode (like vim) for updating playlists

Setting Up

  • Music Player Daemon must be setup
  • Go Should Be Installed ( for building )
  • Make a YAML/TOML file in $HOME/.config/goMP named config.yml / config.toml
  • Read the sample_config.yml for config options

Installing / Building

git clone https://github.com/aditya-K2/goMP &&
cd goMP &&
go build

Configuration

Key Mappings

Following Keys can be used for Mappings

Keys Using them in Config
a-z a-z
A-Z A-z
{,},(,),[,],<,> {,},(,),[,],<,>
Enter(Return) ENTER/RETURN
Tab TAB
Space SPACE

See config/kMap.go for more information

For mapping a key to some function use the following format:

Function: [ firstMapping, secondMapping, thirdMapping]

for.eg

togglePlayBack : [ "p", "TAB", "[" ] # using the quotes is neccessary.

Following functions are provided :

Functions
showChildrenContent
togglePlayBack
showParentContent
nextSong
clearPlaylist
previousSong
addToPlaylist
toggleRandom
toggleRepeat
decreaseVolume
increaseVolume
navigateToFiles
navigateToPlaylist
navigateToMostPlayed
quit
stop
updateDB
deleteSongFromPlaylist

Getting Album Art from LastFm API

  1. Generate API Key here

    Screenshot from 2021-11-13 21-54-54

  2. Add the api key and api secret to config.yml


GET_COVER_ART_FROM_LAST_FM : "TRUE" # Turn On Getting Album art from lastfm api
LASTFM_API_KEY: "YOUR API KEY HERE"
LASTFM_API_SECRET: "YOUR API SECRET HERE"
  1. Auto correct
Screenshot from 2021-11-13 21-59-46

LASTFM_AUTO_CORRECT: 1  # 0 means it is turned off

Tested on following terminals:

  • Alacritty
  • ST
  • URXVT