2014-12-09 05:31:31 +00:00
|
|
|
<code>mp\_suggest</code> is a simple little organizational tool for MP3
|
2014-12-08 17:08:23 +00:00
|
|
|
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
|
2014-12-09 05:31:31 +00:00
|
|
|
was time for a minor exercise. Rewriting <code>mp\_suggest</code> in Hy
|
|
|
|
was a perfect opportunity.
|
2014-12-07 00:05:37 +00:00
|
|
|
|
2014-12-09 05:29:18 +00:00
|
|
|
<code>mp\_suggest</code> does *not* alter your MP3 files; instead, it
|
2014-12-09 05:31:31 +00:00
|
|
|
prints to stdout a simple <code>bash</code> script that invokes the
|
|
|
|
command-line program id3v2; you can capture that script and run it by
|
|
|
|
hand, or pipe the output of <code>mp\_suggest</code> through
|
|
|
|
<code>sed</code> to make changes on the fly, or just run the output
|
|
|
|
straight into <code>bash</code> with a unix pipe.
|
|
|
|
|
|
|
|
Writing <code>mp\_suggest</code> 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 <code>mp\_suggest</code> 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 <code>mp_suggest</code>.
|
2014-12-06 08:45:42 +00:00
|
|
|
|
|
|
|
* Licensing
|
|
|
|
|
|
|
|
This program is released under the terms of the GNU General Public
|
2014-12-08 17:08:23 +00:00
|
|
|
License (GNU GPL).
|
2014-12-06 08:45:42 +00:00
|
|
|
|
|
|
|
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.
|