So you think your music player rocks?
Oh yeah? Can it
- Keep track of which are your favorite and most played songs?
- Organize your media collection in a queryable and powerful database?
- Manage your collection’s tags by using scanners and filters?
- Go beyond what your computer knows and use the semantic web to get augmented information and lyrics?
- Grab the docs as required from the project’s wiki instead of relying on arcane manuals?
- Fine-tune configurations and plugins?
- Colorize your playlist using the colors of your country?
- Have such a kick-ass equalizer?
Yes? But it doesn’t run on Emacs.
Cloning from Github
First of all, clone GIMME from Github.
git clone git://github.com/konr/GIMME.git
Install mechanize, from ruby gems, the ruby bindings for glib2 and, of course, xmms2. On Arch Linux one does simply:
gem install mechanize sudo pacman -S ruby-glib2 xmms2
First of all, you must put GIMME’s files on Emacs’s PATH. If you haven’t set it up on Emacs, here is a code snippet you can use to add all subdirectories under ~/.emacs.d/ to it:
;;;;;;;;;; Path ;; ;;;;;;;; (require 'cl) (defun reload-path () (interactive) (let* ((directory "~/.emacs.d") (newdirs (lp-subdir-list directory))) (setq load-path (remove-duplicates (append load-path newdirs) :test #'string=))) (message "Path reloaded!")) (defconst +lp-ignore-list+ (list "CVS" ".git" ".svn" ".." ".")) (defun lp-subdir-list (base &optional ignore) (unless ignore (setq ignore +lp-ignore-list+)) (let ((pending (list base)) (retval nil)) (while pending (let ((dir (pop pending))) (push dir retval) (dolist (f (directory-files dir)) (let ((name (concat dir "/" f))) (when (and (not (member f ignore)) (file-directory-p name)) (push name pending) (push name retval)))))) (reverse retval))) (reload-path)
You must add these lines to your initialization file, which is usually either ~/.emacs or ~/.emacs.d/init.el. If you are new to Emacs and have neither file, it’s advisable to create the latter and keep everything in a single directory. Then, move or link GIMME to that folder with:
ln -s $HOME/Repositories/GIMME ~/.emacs.d/
In the initialization file we were working on, you must tell Emacs to load GIMME, like you’d do with most packages. Add the line
(autoload 'gimme "gimme" "launch GIMME" t)
restart and that’ll be enough to run GIMME.
On Emacs, press M-x, alternate notation for Alt-x, to launch the command prompt, and then gimme. At all times, you can press ?, the question mark, to get a list of the currently set keybindings.
Check out this page for a tour of GIMME’s features.