ocarina/design/groups.txt
Bryan Schumaker e13b4afa60 design: Break doc into pieces
Each component has its own text file.  I merge everything together with
simple dependency resolution so I can figure out implementation order
easier.

Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
2014-04-06 19:56:51 -04:00

40 lines
927 B
Plaintext

== Files ==
ocarina/include/
groups.h
ocarina/lib/
groups.cpp
$HOME/.ocarina{-debug}/
groups.idx
== Depends ==
index
Groups: (lib/group.cpp)
Groups are going to be a new feature in Ocarina 6 and can compare
directly to Gmail-style labels. Ocarina 6 will create dynamic groups
that cannot be deleted by the user based on library status. Similar
to the library, groups should exist in their own namespace.
- Index:
Index group_idx(groups.idx)
- Default groups:
All music
All tracks are added to this group
Library
Banned Songs
These groups are mutually exclusive. A track is either
in the Library or the Banned Songs group
- API
group :: init();
Initialize the index
group :: list();
return group_idx.keys();
group :: get_tracks(name):
return group_idx[name]
group :: add(name, track_id)
group_idx.insert(name, track_id);
group :: del(name, track_id)
grou_idx.delete(name, track_id)