X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=docs%2Fcomponents.rst;h=627b69dbb81b3ca0f2f15156551ffe322e616e55;hb=HEAD;hp=5f86f3f1f4fd0af836ff340ed49825b99fdf919c;hpb=2e2959dcb2d780e58433e4892126f864b0efae26;p=soundpipes.git diff --git a/docs/components.rst b/docs/components.rst index 5f86f3f..627b69d 100644 --- a/docs/components.rst +++ b/docs/components.rst @@ -1,6 +1,8 @@ Component diagrams ================== +.. contents:: + ------- filesrc ------- @@ -17,7 +19,6 @@ Diagram:: Input ~~~~~ - control event * Open FilePath * Seek SeekMode Integer @@ -26,7 +27,6 @@ control event Output ~~~~~~ - octet stream event ByteString (response for the "Read" event) @@ -45,26 +45,23 @@ Diagram:: -----------. v wv stream ,---------. wv ctrl - ---------->| |----------> - wvc stream | | wv blocks - ---------->| wvparse |----------> - | | wvc ctrl - | |----------> - `---------' wvc blocks - | | `-----------> - | | media tags - | `-------------> - | state - `---------------> + ---------->| |-------------> + wvc stream | | wvc ctrl + ---------->| wvparse |-------------> + | | wv/wvc blocks + | |-------------> + `---------' media tags + | `--------------> + | parser state + `----------------> Input ~~~~~ - parser control event SeekableParserCtrl * GetNext * FindTags - * Seek Integer -- sample index + * Seek Integer -- frame index NonSeekableParserCtrl * GetNext @@ -77,8 +74,7 @@ wvc stream event Output ~~~~~~ - -wv/wvc control event +wv/wvc stream control event Seekable * Seek SeekMode Integer * Read Int @@ -86,18 +82,17 @@ wv/wvc control event NonSeekable * Read Int -wv block event - WavPack.Block - -wvc block event - Maybe WavPack.Block +wv/wvc blocks event + #. [WavPack.Block] -- wv blocks for all channels (non-empty) + #. [WavPack.Block] -- wvc blocks for all channels + #. Integer -- samples to skip reactive media tags Map Text Text -reactive state value - * Active +reactive parser state value * Inactive + * Active (Maybe Integer) -- # samples ----- @@ -106,59 +101,27 @@ 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 + ,-------. + wv/wvc blocks | | PCM streams + ------------->| wvdec |-----------> + | | + `-------' -wvc stream event - Maybe ByteString +Input +~~~~~ +wv/wvc blocks event + #. [WavPack.Block] -- wv blocks for all channels (non-empty) + #. [WavPack.Block] -- wvc blocks for all channels + #. Integer -- frames to skip -wv/wvc control event - Seekable - * Seek SeekMode Integer - * Read Int - * Close +Output +~~~~~~ +reactive PCM streams + (FIXME: not defined yet) - NonSeekable - * Read Int -PCM stream events - (FIXME: not defined yet) +------ +wvplay +------ -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) +FIXME: under construction