DESIGN: Add info about layers

Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
Anna Schumaker 2014-11-01 21:53:50 -04:00
parent 47f6684923
commit f25fa7bebc
1 changed files with 22 additions and 0 deletions

22
DESIGN
View File

@ -21,6 +21,28 @@ Install:
/usr/share/ocarina/.
Core Layers:
Ocarina was written with an "every file is a layer" strategy. This
means code can only call functions that reside in a lower layer.
From top to bottom, core layers are:
* Audio (include/core/audio.h)
* Audio driver (include/core/driver.h)
* Deck (include/core/deck.h)
* Playlist (include/core/playlist.h)
* Library (include/core/library.h)
* Queue (include/core/queue.h)
* RNG (include/core/random.h)
* Tag database (include/core/tags.h)
* Idle queue (include/core/idle.h)
* Filter (include/core/filter.h)
* Index (include/core/index.h)
* Databases (include/core/database.h)
* File (include/core/file.h)
* Callbacks (include/core/callback.h)
* Version (include/core/version.h)
Callbacks:
Callbacks are used to notify a unit test or the gui that something in