]> gitweb @ CieloNegro.org - soundpipes.git/blob - docs/components.rst
We probably don't need wvdec's reactive stream info.
[soundpipes.git] / docs / components.rst
1 Component diagrams
2 ==================
3
4 .. contents::
5
6 -------
7 filesrc
8 -------
9
10 Diagram::
11
12             ,---------.
13             |         | octet stream
14     control |         |------------->
15     ------->| filesrc | state
16             |         |------------->
17             |         |
18             `---------'
19
20 Input
21 ~~~~~
22 control event
23     * Open FilePath
24     * Seek SeekMode Integer
25     * Read Int
26     * Close
27
28 Output
29 ~~~~~~
30 octet stream event
31     ByteString (response for the "Read" event)
32
33 reactive state value
34     * Open Integer Integer -- size and the current position
35     * Closed
36
37
38 -------
39 wvparse
40 -------
41
42 Diagram::
43
44     parser ctl
45     -----------.
46                 v
47     wv stream  ,---------. wv ctrl
48     ---------->|         |------------->
49     wvc stream |         | wvc ctrl
50     ---------->| wvparse |------------->
51                |         | wv/wvc blocks
52                |         |------------->
53                `---------' media tags
54                       | `-------------->
55                       | parser state
56                       `---------------->
57
58 Input
59 ~~~~~
60 parser control event
61     SeekableParserCtrl
62         * GetNext
63         * FindTags
64         * Seek Integer -- frame index
65
66     NonSeekableParserCtrl
67         * GetNext
68
69 wv stream event
70     ByteString
71
72 wvc stream event
73     Maybe ByteString
74
75 Output
76 ~~~~~~
77 wv/wvc stream control event
78     Seekable
79         * Seek SeekMode Integer
80         * Read Int
81
82     NonSeekable
83         * Read Int
84
85 wv/wvc blocks event
86     #. [WavPack.Block] -- wv blocks for all channels (non-empty)
87     #. [WavPack.Block] -- wvc blocks for all channels
88     #. Integer         -- samples to skip
89
90 reactive media tags
91     Map Text Text
92
93 reactive parser state value
94     * Inactive
95     * Active (Maybe Integer) -- # samples
96
97
98 -----
99 wvdec
100 -----
101
102 Diagram::
103
104                   ,-------.
105     wv/wvc blocks |       | PCM streams
106     ------------->| wvdec |----------->
107                   |       |
108                   `-------'
109
110 Input
111 ~~~~~
112 wv/wvc blocks event
113     #. [WavPack.Block] -- wv blocks for all channels (non-empty)
114     #. [WavPack.Block] -- wvc blocks for all channels
115     #. Integer         -- frames to skip
116
117 Output
118 ~~~~~~
119 reactive PCM streams
120     (FIXME: not defined yet)
121
122
123 ------
124 wvplay
125 ------
126
127 FIXME: under construction