Subject: UADE filesystem

From: shd
Date: Sun Jun 15 05:38:02 2008

To: UADE-User-discussion
[code:1:0e3dd63a1e]
    Implemented first prototype of uadefs
    
    uadefs is a filesystem in userspace that uses FUSE framework.
    Instead of writing an uade frontend for every player there is,
    implement a file system that converts uade-playable files into
    wav files transparently. Most players can play wav files, so
    the compatibility problem is solved.
    
    Assuming one has Amiga songs under /data/chip, one can do&#58;
    
    1. mkdir /tmp/uadefs
    2. uadefs /tmp/uadefs
    3. aplay /tmp/uadefs/data/chip/fc14.arcane-theme
    
    uadefs isn't installable yet, it has to be done manually.
    Go to src/frontends/uadefs after you have run ./configure. Run make, and
    then copy uadefs executable somewhere.
    
    HOWEVER, uadefs is a complete and utter hack with a million
    deficiencies. Some of them can be fixed, some not.
[/code:1:0e3dd63a1e]

---

From: shd
Date: Sun Jun 15 23:52:30 2008

To: UADE-User-discussion
I've been hacking more with uadefs. It's a bit better now, but sucks horribly still. The new syntax is:
[code:1:cf5e8437e8]uadefs /amiga/music/dir /path/to/mountpoint[/code:1:cf5e8437e8]
It no longer collects huge piles of logs into ~/.uade2/uadefs.log, unless explicitly requested with -f.

There is still one very important optimization that is not done.
Integrate uade's file type recognition system to make directory scanning faster, or, implement a path name cache that remembers which files are uade songs.

---

From: Guest
Date: Thu Jun 19 14:59:54 2008

To: UADE-User-discussion
DAMN! This is cool!

---

From: ceztko
Date: Thu Jun 19 19:05:06 2008

To: UADE-User-discussion
[quote:ab3b708768="shd"][code:1:ab3b708768]
    HOWEVER, uadefs is a complete and utter hack with a million
    deficiencies. Some of them can be fixed, some not.
[/code:1:ab3b708768][/quote:ab3b708768]

It's a so cool idea that I think they can all be solved (with some time...). Congratulations for the intuition!

---

From: shd
Date: Thu Jun 19 19:23:39 2008

To: UADE-User-discussion
[quote:cf805044fe="shd"]There is still one very important optimization that is not done.
Integrate uade's file type recognition system to make directory scanning faster, or, implement a path name cache that remembers which files are uade songs.[/quote:cf805044fe]

File type optimization is done.  It can scan something like 4 files per second in the XMMS plugin. Some further optimizations are possible:

[code:1:cf805044fe]* make a cache of songs under /tmp. It would store 1 Kilobyte from the beginning of each wav. This would increase the speed dramatically. One might scan even a hundred files per second with this. 10000 files would imply 10MiB of cache space under /tmp. Fortunately disk space is cheap thesedays.
* Postpone uade123 synthesis, just generate the wav header for each file. When and if the player wants more data, start uade123 on background.
[/code:1:cf805044fe]

It can also get the wave file length from content database. So, once the file has been played once (with ANY uade frontend), it should know the length.

uadefs has one feature that other frontends lack. It can seek backwards too. It sucks lots of memory by caching the whole song.