From: PHO Date: Wed, 20 Jul 2011 18:58:02 +0000 (+0900) Subject: initial revision X-Git-Url: https://git.cielonegro.org/gitweb.cgi?a=commitdiff_plain;h=4bcf1540ea92b0cb2bd8359538ffcb3fdc7f06be;p=soundpipes.git initial revision --- 4bcf1540ea92b0cb2bd8359538ffcb3fdc7f06be diff --git a/docs/components.rst b/docs/components.rst new file mode 100644 index 0000000..5770f63 --- /dev/null +++ b/docs/components.rst @@ -0,0 +1,92 @@ +Component diagrams +================== + +------- +filesrc +------- + +Diagram:: + + ,---------. + | | octet stream + control | |-------------> + ------->| filesrc | state + | |-------------> + | | + `---------' + +control event + * Open FilePath + * Seek SeekMode Integer + * Read Int + * Close + +octet stream event + ByteString (response for the "Read" event) + +reactive state value + * Open Integer Integer -- size and the current position + * Closed + +----- +wvdec +----- + +Diagram:: + + decoder ctrl ,-------. wv ctrl + ------------>| |-----------> + wv stream | | wvc ctrl + ------------>| wvdec |-----------> + wvc stream | | PCM streams + ------------>| |-----------> + `-------' state + | `------------> + | stream info + `--------------> + +decoder control event + FileDecodingCtrl -- Seekable wv/wvc ctrl + * Reset (can be omitted) + * Start + * Stop + * Seek Integer -- sample index + + StreamDecodingCtrl -- NonSeekable wv/wvc ctrl + * Reset (can be omitted) + * Start + * Stop + +wv stream event + ByteString + +wvc stream event + Maybe ByteString + +wv/wvc control event + Seekable + * Seek SeekMode Integer + * Read Int + * Close + + NonSeekable + * Read Int + +PCM stream events + (FIXME: not defined yet) + +reactive state value + * Idle + * Running + +reactive stream info (Maybe; responds to the "Reset" event) + #. compression style :: Lossless | Hybrid Bool Bool -- True if + using wvc, True if dynamic noise shaping is in effect + #. compression mode :: Fast | Normal | High | VeryHigh + #. extra compression level :: Maybe Int + #. sample format :: Word8 | Word16 | Word32 | Float + #. # channels :: Int + #. channel mask :: (FIXME: not defined yet) + #. sampling rate :: Integer + #. # samples :: Maybe Integer + #. media tags :: (FIXME: not defined yet)