-*- mode: outline -*- v. 0.1 ~~~~~~ * Better interface (the new .config is pretty good, but needs improvement) * BUG: musicfs only works in debug mode. * -f (foreground mode) also works * -s (single thread) does not Update: This works if I disable DEBUGGING, probably because of some permission problems when using file I/O in not debugging mode. * BUG: what to do with songs without tags? The current behavior, breaking badly, is probably not what we want. Suggestions: * We put all songs not having complete tags in an Unsorted folder, with the real filename as the name. Perhaps having a flag in the database tables indicating that the information is not complete. * We avoid including them in the database at all, which is what we basically do now, but just a bit more fool proof perhaps. * Missing .config (this is a matter of style, not performance) * BUG: something is wrong with the offset when reading media files. "Ogg : Page out not synced, we skip some bytes" from mplayer. UPDATE: I think this is fixed now. * We should implement flush and similar calls we don't currently implement. Under some circumstances, high load can force the closing of files or something in a similar manner, and we should handle this properly, or else the media player will probably stop playback. v. 0.2(?) ~~~~~~~~~ * FEATURE: Inotify/kqueue support for watching music directories * Take a look at http://mark.heily.com/pnotify/. * Advanced configuration, allowing custom paths. This should be done in the configuration file, so something like "/Artists/%artist%/%album%/%trackno% %title%.%extension%" (with a somewhat prettier syntax ;) would produce the current Artists directory. * Implement support for changing tags by moving a file around in the directory tree. * Implement support for changing encoding my changing file name. * Implement support for encoding/decoding when reading the data? (embedded decoder in the file system, removing the need for encoder support in the player). * Support for looking up tags to CDDB or something like that. * Internal stuff/convenience * Add proper debugging facilities. * DEBUG macro has been improved * Add some generic way of logging, possibly using any fuse API available to do this. * What is the correct way to crash? :) Not at all? * Create a more generic way of mapping a pathname to a file. There are some path lookups we'd like to be able to run more than once.