c2bc99ad9b
I made a few modifications to the database, and introduced an "IndexEntry" database type to do the exact same thing :) Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
44 lines
1.1 KiB
Plaintext
44 lines
1.1 KiB
Plaintext
== Files ==
|
|
ocarina/include/
|
|
groups.h
|
|
ocarina/lib/
|
|
groups.cpp
|
|
$HOME/.ocarina{-debug}/
|
|
groups.idx
|
|
|
|
== Depends ==
|
|
database
|
|
|
|
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.
|
|
|
|
In Ocarina 6.0, groups are a wrapper around a specific index. Future
|
|
releases will store user-defined groups in a file on disk.
|
|
|
|
- Index:
|
|
Database<database :: IndexEntry> group_db
|
|
|
|
- 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
|
|
void group :: add(name, track_id)
|
|
group_idx.insert(name, track_id);
|
|
|
|
void group :: del(name, track_id)
|
|
grou_idx.delete(name, track_id)
|
|
|
|
void void group :: list(list<string> &);
|
|
return group_idx.keys();
|
|
|
|
void group :: get_tracks(name):
|
|
return group_idx[name]
|