-
Notifications
You must be signed in to change notification settings - Fork 3
mjl-/attrfs
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# status unknown. have not attempted to use this in some time. it did work at some point though. consider it experimental and needing some work at least. # intro ## attrfs reads an attrdb(6) database into memory and provides a file system interface to finding matches. the key/value pairs are kept in memory. attrfs makes an index of the indexkeys specified on the command line, for fast lookups. opening file "clone" makes a new selection. a directory name (number) can be read from it, and one can walk to the directory. in that directory there are files with the names of each attribute, reading them results in all (unique and sorted) values present in the database. file "all" is speciall, it returns all attributes for the database entries, one attribute per line, so multiple lines per entry. writing attribute names (one per line) sets the attributes to return instead of all of them. writing "attribute value" to file "pick" or the "clone" file that started the selection narrows down the search result. ## mkaudiodb make an attrdb(6) file that can be read by attrfs, the file created is the meta-info database and can grow quite large ## mp3tag used by mkaudiodb to get meta-info out of an mp3 file ## wm/pick tk front-end to attrfs that allows selecting attribute (meta-info) values to narrow down matching database entries. the matching entries can be read from a file, by a script, executed when pressing a button. do not use wm/pick directly, instead use e.g. appl/wm/audiopick (which calls wm/pick with the options to make it look like an audio-selecting tool and to add matches to the playlist) also see guide.txt for an example on how to start these tools # install make sure $ROOT is set. now "mk install" to compile and install the files. when building from within inferno, insert SYSHOST=Inferno and ROOT= in the mk invocations to override the values in the mkconfig. # download see http://www.ueber.net/code/r/attrfs for instructions. # licence & author this code is in the public domain, written by mechiel lukkien, reachable at mechiel@ueber.net. # todo - attrfs: rethink the whole thing, major things: * need a new fast and small data store * need more efficient in-memory storage * need to be able to get updates without restarting * determine whether it is possible to do word-lookup, split the values into words and store them as such as well, indexed. - attrfs: sorting without case is better - attrfs: test if we don't leak memory, e.g. on clunk the fiddata and fidallpick - pick: don't show paths in result listbox, but descriptions based on fields, read from file "all" - pick: allow user to select multiple options from listbox? needs support from attrfs # testing - mkaudiodb/mp3tag: fill in genre, instead of number - attrfs: allow pick-file write commands on clone fid that created the pick - attrfs: fix "leaking" of mp3 attributes to other path-elements - attrfs: read attributes, indexkeys and mainkey from command-line - pick: fix behaviour after having clicked on "show" for listbox - pick: fix selecting type, doesn't work now - pick: add fixed "show" button - pick: fix frame with buttons, it is too high - pick: implement executing commands on double-click (has been done on button3, not double click) - rename attr to attrfs - pick: isolate namespace, for chdir - pick: when new listbox gets one entry, simulate a select on that as well
About
attribute fs, limbo, converted from hg on bitbucket
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published