Thursday, March 5, 2009

Interested in FUSE

You can represent anything as a file system in FUSE(Filesystem in Userspace). For example you can make your own filesystem with which you can mount a Maya DAG tree to ~/mayadag. (mayadag is an empty directory) And you can enter the directory, rename the dag object or delete it in the unix shell, e.g. 'rm ~/mayadag/persp2' (I don't think it's useful though, it's just an example). I'll update this blog entry when I've made a test program. If FUSE is installed (probably it's installed already), you don't even need to be root to mount it, and you can write it in Python with FusePython :) Dokan is an equivalent for Windows.

2 comments:

hai said...

Interesting idea. I think there's a good portion of people out there who would find this useful. Houdini handles its object and namespace in a similar fashion. Just a thought, but you could even use Python's os.path stuff to mangle names/paths. It can't possibly be worse off than the pipe based namespace thing Maya has going on now.

hohehohe2 [at] gmail.com said...

hai,

Yeah I thought it would be like houdini, but I was not talking about it so seriously. I was just thinking if we could make one with commandPort but it wouldn't be nice in the actual use. I don't know how to make one with a pure plug-in but probably it's possible as long as Maya process stays alive during the file system exists, though it may bring some confusion if we use the file system within Maya, like
-Maya waits for a list of files in a directory in the main thread
-The file system asks Maya about it
-Maya main thread is still busy waiting for the answer ...

Anyway I made an example (not Maya) where a file is mapped to a web page on the net. I'll post it shortly.