Files: f675cb27f2640ba304b1816b279b2ef7f8c19a59 / src / control.rs
537 bytesRaw
1 | use std::sync::mpsc::{channel, Sender, Receiver}; |
2 | |
3 | use clock; |
4 | |
5 | |
6 | pub struct Control { |
7 | pub tx: Sender<ControlMessage>, |
8 | pub rx: Receiver<ControlMessage> |
9 | } |
10 | |
11 | impl Control { |
12 | pub fn new() -> Self { |
13 | let (tx, rx) = channel(); |
14 | |
15 | Self { |
16 | tx, |
17 | rx |
18 | } |
19 | } |
20 | } |
21 | |
22 | |
23 | pub enum ControlMessage { |
24 | Time(clock::ClockTime), |
25 | Signature(clock::ClockSignature), |
26 | Start, |
27 | Stop, |
28 | TapTempo, |
29 | SetTempo, |
30 | NudgeClock, |
31 | Configure |
32 | } |
33 | |
34 |
Built with git-ssb-web