design: Update design.txt

Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
This commit is contained in:
Anna Schumaker 2013-08-28 20:59:57 -04:00 committed by Anna Schumaker
parent 7b7414c755
commit f7d95707d6
1 changed files with 18 additions and 10 deletions

View File

@ -485,8 +485,11 @@ Groups: (lib/group.cpp)
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:
Index group_idx(groups.idx)
Index group_idx()
- Default groups:
All music
@ -497,16 +500,14 @@ Groups: (lib/group.cpp)
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)
void group :: add(name, track_id)
group_idx.insert(name, track_id);
group :: del(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]
@ -562,13 +563,14 @@ Library: (lib/library.cpp)
short last_day;
unsigned int play_count;
unsigned int length;
bool banned;
string title;
string length_str;
string filepath;
};
File << artist_id << album_id << genre_id << library_id << track << last_year
File << last_year << last_month << last_day << play_count << length << endl
File << last_year << last_month << last_day << play_count << length << banned << endl
File << title << endl;
File << filepath << endl;
@ -609,6 +611,12 @@ Library: (lib/library.cpp)
This way the user will still be able to use Ocarina and scanning can
happen while idle.
- Testing:
A test library should be created to test adding tags and anything else.
The command `arecord -d 10 </dev/zero | lame - -b 32 -h silence.mp3`
will create a 10 second long, silent mp3 file. Do something with this
command and figure out how to apply tags!
- API
library :: init();
Initialize all databases