Source

cl-taglib / README.md

Walton Hoops e4e7b16 



































# CL-Taglib

Simple CFFI bindings to (taglib)[http://taglib.github.com/]

## Quick Examples

### Reading file tags

    :::lisp
    (use-package :taglib)
    (with-tag-file (file "07 - 17.mp3")
      (let ((tag (file-tag file))
            (audio (file-audioproperties file)))
        (values (list (tag-title tag)
                      (tag-artist tag)
                      (tag-album tag)
                      (tag-comment tag)
                      (tag-genre tag)
                      (tag-track tag)
                      (tag-year tag))
                (list (audio-length audio)
                      (audio-bitrate audio)
                      (audio-samplerate audio)
                      (audio-channels audio)))))
    ;;; result
    ("17" "Kings Of Leon" "Only By The Night" "Sample Commment"
          "Alternative Rock" 7 2008)
    (185 247 44100 2)

### Setting tags

    :::lisp
    (use-package :taglib)
    (with-tag-file (file "turtles.mp3")
           (let ((tag (file-tag file)))
             (setf (tag-comment tag) "turtles all the way down")
             (file-save file)))
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.