]> gitweb @ CieloNegro.org - soundpipes.git/blob - docs/components.rst
5770f63bf6101453f654a27df5d910c02323a4f9
[soundpipes.git] / docs / components.rst
1 Component diagrams
2 ==================
3
4 -------
5 filesrc
6 -------
7
8 Diagram::
9
10             ,---------.
11             |         | octet stream
12     control |         |------------->
13     ------->| filesrc | state
14             |         |------------->
15             |         |
16             `---------'
17
18 control event
19     * Open FilePath
20     * Seek SeekMode Integer
21     * Read Int
22     * Close
23
24 octet stream event
25     ByteString (response for the "Read" event)
26
27 reactive state value
28     * Open Integer Integer -- size and the current position
29     * Closed
30
31 -----
32 wvdec
33 -----
34
35 Diagram::
36
37     decoder ctrl ,-------. wv ctrl
38     ------------>|       |----------->
39     wv stream    |       | wvc ctrl
40     ------------>| wvdec |----------->
41     wvc stream   |       | PCM streams
42     ------------>|       |----------->
43                  `-------' state
44                       | `------------>
45                       | stream info
46                       `-------------->
47
48 decoder control event
49     FileDecodingCtrl -- Seekable wv/wvc ctrl
50         * Reset (can be omitted)
51         * Start
52         * Stop
53         * Seek Integer -- sample index
54
55     StreamDecodingCtrl -- NonSeekable wv/wvc ctrl
56         * Reset (can be omitted)
57         * Start
58         * Stop
59
60 wv stream event
61     ByteString
62
63 wvc stream event
64     Maybe ByteString
65
66 wv/wvc control event
67     Seekable
68         * Seek SeekMode Integer
69         * Read Int
70         * Close
71
72     NonSeekable
73         * Read Int
74
75 PCM stream events
76     (FIXME: not defined yet)
77
78 reactive state value
79     * Idle
80     * Running
81
82 reactive stream info (Maybe; responds to the "Reset" event)
83     #. compression style :: Lossless | Hybrid Bool Bool -- True if
84        using wvc, True if dynamic noise shaping is in effect
85     #. compression mode :: Fast | Normal | High | VeryHigh
86     #. extra compression level :: Maybe Int
87     #. sample format :: Word8 | Word16 | Word32 | Float
88     #. # channels :: Int
89     #. channel mask :: (FIXME: not defined yet)
90     #. sampling rate :: Integer
91     #. # samples :: Maybe Integer
92     #. media tags :: (FIXME: not defined yet)