1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
//! # Rill Patchbay — Event routing and automation
//!
//! `rill-patchbay` is the evolution of `rill-automation` from version 0.2.0,
//! merged with the mapping functionality from `rill-control`.
//!
//! ## Core components
//!
//! - **Automata** — generative signal sources (LFO, envelopes, sequencers)
//! - **Servos** (in the `control` module) — connect automata to node parameters
//! - **Mappings** — connect external events (MIDI/OSC) to parameters
//! - **Sensors** — event sources from the external world
//! - **Manager** — central coordinator for dual-thread architecture
//!
//! ## Architecture
//!
//! ```text
//! ┌─────────────────────────────────────────────────────────────┐
//! │ CONTROL THREAD │
//! │ │
//! │ ┌─────────────────────────────────────────────────────┐ │
//! │ │ Manager │ │
//! │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │
//! │ │ │ Automata │ │ Servos │ │ Mappings │ │ │
//! │ │ └────────────┘ └────────────┘ └────────────┘ │ │
//! │ │ │ │ │ │
//! │ │ ▼ ▼ │ │
//! │ │ ┌──────────────────────────┐ │ │
//! │ │ │ RtQueue<ParameterCommand>│ │ │
//! │ │ └──────────────────────────┘ │ │
//! │ └─────────────────────────────────────────────────────┘ │
//! │ │ │
//! │ │ non-blocking queue │
//! │ ▼ │
//! │ ┌─────────────────────────────────────────────────────┐ │
//! │ │ SIGNAL THREAD │ │
//! │ │ (rill-graph / rill-io) │ │
//! │ └─────────────────────────────────────────────────────┘ │
//! └─────────────────────────────────────────────────────────────┘
//! ```
// =============================================================================
// External dependencies
// =============================================================================
// Re-exports from rill-core
pub use *;
pub use RtQueue;
pub use ;
// =============================================================================
// Public modules
// =============================================================================
/// Automata — generative control sources
/// Control and event mapping
/// Sensors — event sources from the external world
/// Utilities and helper functions
/// Named function registry for serialization
/// Automaton control strategies
/// Rack module type definitions (always compiled)
/// Custom module factory — type registry for rack module construction
/// Servo constructor — creates servo actors from ModuleDef descriptors
/// Automaton wrapper in a green thread (tokio task)
/// Serialization — documents, DOT, formats
pub use PatchbayDef;
/// MIDI hub — raw MIDI → ControlEvent bridge
/// Micro-control observer for RT safety monitoring
pub use spawn_midi_sensor;
pub use MidiHub;
pub use Sensor;
// =============================================================================
// Re-exports for convenience
// =============================================================================
// Selective re-exports
pub use ;
pub use ;
pub use spawn_automaton_task;
pub use ;
pub use ;
// =============================================================================
// Prelude for convenient imports
// =============================================================================
/// Prelude for convenient import of core types
// =============================================================================
// Tests
// =============================================================================