A simple utility to suggest ID3 tag changes for MP3 collections with a specific format.
Go to file
Elf M. Sternberg a95aa05bbf Added output notice, so users won't think the script alters their files
without consent.
2014-12-08 21:28:40 -08:00
.gitignore My first hy. 2014-12-06 00:45:42 -08:00
AUTHORS My first hy. 2014-12-06 00:45:42 -08:00
COPYING My first hy. 2014-12-06 00:45:42 -08:00
INSTALL My first hy. 2014-12-06 00:45:42 -08:00
Makefile Fixing documentation for PDF output. Fixed Makefile to not generate errors on clean if the build failed. 2014-12-06 16:10:20 -08:00
README.md Added output notice, so users won't think the script alters their files 2014-12-08 21:28:40 -08:00
TODO My first hy. 2014-12-06 00:45:42 -08:00
mp_suggest.hy All Operations are in expected output order. I can *see* the pattern; I just can't yet rationalize it the way I want. 2014-12-08 21:21:51 -08:00
mp_suggest_man.tex Fixing documentation for PDF output. Fixed Makefile to not generate errors on clean if the build failed. 2014-12-06 16:10:20 -08:00

README.md

mp_suggest is a simple little organizational tool for MP3 collections. I wrote it a few years ago to help me organize my own collection, and when the Hy Programming Language came out, I decided it was time for a minor exercise. Rewriting mp_suggest in Hy was a perfect opportunity.

mp_suggest does not alter your MP3 files; instead, it prints to stdout a simple Bash script that invokes the command-line program id3v2; you can capture that script and run it by hand, or pipe the output of mp_suggest through sed to make changes on the fly, or just run the output straight into Bash with a unix pipe.

Writing mp_suggest was an interesting exercise in returning to Lisp after all these years. I find that I really enjoyed it (although, honestly, Hy's debugging facilities leave a lot to be desired). The style used inside mp_suggest is most definitely not Lispy; looking through it, with its persistent use of cheap anonymous functions and closures and its function-level metaprogramming, I guess the best language I could compare it to is Coffeescript. I like Coffeescript a lot, but I don't get many opportunities to use it professionally, but the sensibilities of Coffeescript (especially Reginald Braithwaite's Ristrettology and his other books on functional programming) heavily influenced the design decisions I made in mp_suggest.

  • Licensing

    This program is released under the terms of the GNU General Public License (GNU GPL).

    You can find a copy of the license in the file COPYING.

  • Using:

    mp_suggest comes with a complete list of commands that can be seen by running the command with no arguments. See the man page that comes with it.

  • To do:

    The TODO file is empty for a reason. This was mostly an exercise in writing Hy.