Go to file
aditya-K2 654212086f Added Update Function to Update the Expanded View for search
Following Functions have been added:

    1. GenerateContentSlice :
	This Function Generates a slice of interfaces which are mostly
	string slices or strings. The Reason for this is the random
	nature of the maps. and also this makes adding songs to playlist
	a breeze as we only need the row number to add the
	song/album/artist to the playlist.
    2. UpdateSearchView :
	this is the Update function for the search view which just
	iterates over the interface slice and draws their content to the
	expanded view
    3. AddAlbum :
	As the Name Suggests adds all the contents of the Album to the
	Playlist
    4. AddTitle :
	As the Name Suggests adds the track to the Playlist
    5. QueryArtistTreeForAlbums :
	This Functions finds all the albums named album in the Artist
	tree and returns an album map. This is because two artists can
	have same album names too.
	Album Map is basically a [2]string{artist, album} -> path to all the songs in the album

Following Functions Have been changed:

    1. AddArtist :
	It now sends notifications.

Following Functions Have been removed:

    1. GetAlbumTree
    2. PrintAlbumTree

    Album Trees are no longer needed
2021-11-16 15:17:50 +05:30
cache
config Added Function to Default Key Map For Focusing Search Box 2021-11-15 15:34:41 +05:30
search
.gitignore
App.go minor changes: using default color for searchbar 2021-11-15 22:18:27 +05:30
client.go Added Update Function to Update the Expanded View for search 2021-11-16 15:17:50 +05:30
fileBrowser.go
go.mod Using My Fork Of tview 2021-11-15 21:48:17 +05:30
go.sum Using My Fork Of tview 2021-11-15 21:48:17 +05:30
imageUtils.go
lastfm.go
LICENSE
main.go Change in Formatting 2021-11-16 00:14:00 +05:30
notification.go Using My Fork Of tview 2021-11-15 21:48:17 +05:30
progressBar.go Using My Fork Of tview 2021-11-15 21:48:17 +05:30
README.md
render.go
sample_config.yml
utils.go

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