summaryrefslogtreecommitdiff
path: root/TODO
blob: ce745d22dd8b6e777d708107eaaa42e4b603061f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
-*- mode: outline -*-

v. 0.2
~~~~~~
* FEATURE: Inotify/kqueue support for watching music directories

  * Take a look at http://mark.heily.com/pnotify/.
  * For FreeBSD: kqueue(2)

* FEATURE: Songs without tags (or with empty tags) 
  Put all songs not having complete tags in an Unsorted folder, with
  the real filename as the name. 
  * We may be missing just some of the tags, should we have

    /Unsorted/Missing Genre/*
    /Unsorted/Missing Artist/*
    /Unsorted/Missing multiple/*

    ...etc?

  * Do unsorted files go in an own table? The song table doesn't
    really fit, since it has (title,artist,album,year) as primary key.
  * Only care about files with specific extensions
    (ogg,flac,mp3,aac,..., which TagLib supports)

* FEATURE: Re-tagging:
  Implement support for changing tags by moving a file around in the
  directory tree. (eg. cd /Artists; mv jazzanova Jazzanova)


Ideas for the future
~~~~~~~~~~~~~~~~~~~~
* 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 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.

* 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.

* File handle stuff for .config (this is a matter of style, not performance)

* FUTURE: Playlist support?
  * A /Playlist directory, where you can create folders (playlists)
    and add links to files elsewhere in the tree. Some nice things
    could be done here.