Commits

Walton Hoops committed c19ce08

add API to README

Comments (0)

Files changed (1)

     (with-tag-file (file "turtles.mp3")
            (let ((tag (file-tag file)))
              (setf (tag-comment tag) "turtles all the way down")
-             (file-save file)))
+             (file-save file)))
+
+## API
+
+(*file-new* pathname) Takes a pathname or a string and returns the tagfile.  The the tagfile MUST be freed manually, use *with-open-tagfile* instead
+
+(*file-free* tagfile) Frees the provided tagfile, returns nil.
+
+(*file-save* tagfile) Saves any changes to the files tags.  Returns T on success, nil on failure.
+
+(*with-tag-file* (var-name pathname) &body) Opens the file, runs &body and closes it, similar to with-open-file.  The file is NOT automatically saved.
+### Working with tags
+
+(*file-tag* tagfile) Returns the tag structure associated with the file.  Will be automatically be freed along with the file.
+
+(*tag-<property>* tag) Returns the given property.  All tag operations are setf-able.  Available accessors are (title album artist genre comment track year)
+
+### Reading audio information
+
+(*file-audioproperties* file) returns the audio properties for the given file
+
+(*audio-<property>* audio) Returns the given property as an integer.  Properties are (length bitrate samplerate channels).  Audio properties are NOT setf-able.
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.