Index

Minimalist music tag editor for the command line.

Pure Nim score 15/100 · last commit 2020-09-16 · 4 stars · tests present · no docs generated

Summary

Latest Version Unknown
License Unknown
CI Status Failing
Stars 4
Forks 0
Open Issues 0
Last Commit 2020-09-16
Downloads 0
Last Indexed 2026-07-27 04:31

Installation

nimble install Index
choosenim install Index
git clone https://gitlab.com/sacules/index

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
Index - - - - - - -

Source

Repository https://gitlab.com/sacules/index
Homepage https://gitlab.com/sacules/index
Registry Source gitlab

README

Index

A tiny and fast music tag editor that aims to please the most demanding folks!

Index provides a very simple and minimalistic TUI that allows for quick and efficient tagging of multiple records and songs at once.

Installation

You'll need Go 1.8 at least (usually available by your package manager), and the taglib library, which can be installed as follows:

Debian

# apt-get update
# apt-get install libtagc0-dev

Void

# xbps-install -S taglib-devel

Afterwards the installation is pretty simple (make sure you have your GOPATH set properly):

$ go get -u gitlab.com/Sacules/index

This will clone the repo and install Index on $GOPATH/bin, and should pull and install all the necessary dependencies. Use this command each time you want to update Index to the latest version.

Usage

$ index -h
Usage: index [OPTION]... filename...

Filename has to end in .mp3, .m4a, .ogg, or .flac.

Options:
  -a    auto-tag the given tracks (not implemented yet)
  -d name
        recursively explore the specified directory
  -m    manually tag the given tracks (default)
  -h    print help information

By default, Manual tag editing is enabled, so doing

$ index song.mp3

will result in the following:

Features

Current

  • Manual tag editing
  • Support for MP3, FLAC, and OGG files.

Planned

  • TUI for Auto Tag
  • Fast, parallel searches on multiple providers
  • Tabs for editing multiple recordings/tracks
  • Approximate/extract artist and record from filename if tags are missing
  • Download album art from:
  • [ ] Fanartv
  • [ ] Musicbrainz
  • [ ] iTunes
  • [ ] Discogs
  • [ ] Album Art Exchange
  • [ ] Google
  • [ ] Gracenote

  • Support for the following metadata providers:

  • [X] Musicbrainz
  • [ ] Freedb
  • [ ] Discogs
  • [ ] Last.fm
  • [ ] Spotify/Deezer/Other streaming service
  • [ ] Bandcamp (hard without a REST API)
  • Configuration file to blacklist certain providers / tags / file formats / etc
  • Customizable colors
  • Show album artwork via w3m-img / ueberzug / pixterm / etc.
  • Sort downloaded tags
  • Show which tags change when choosing downloaded metadata
  • Thorough tag editing with regex

TODO

  • Provide binaries for different platforms
  • Oganize the code using a standard approach - divide stuff into small packages?
  • Add tests
  • Implement writing tags support to tag and replace go-taglib with it
  • Add logs for errors and changes made to the tracks
  • Add install instructions for diferent platforms and distributions