=============================================================================== = = = Ocarina 6.3 = = = =============================================================================== Ocarina 6.2 is the 6th implementation of the Ocarina music player - a lightweight, GTK+ based music player with all the features that I want. Improvements over the 5.x series will include the existence of both a design document (this file) and unit tests. This should make maintenance easier and help me stay focused. Ocarina 6.2 will use Gstreamer 1.0 for audio playback, GTK-MM 3 for user interface development, and Taglib for extracting tags. Install: Ocarina will be compiled into a single executable placed under /usr/bin/. Any extra files needed to run will be placed under /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) * Tags (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)