@@ -41,50 +41,51 @@ enum SubCommand {
41
41
}
42
42
43
43
fn passthrough ( ) {
44
- let _streams = hardware:: setup_passthrough_processor ( DisplayProcessor :: new ( true ) ) ;
44
+ let display_processor: DisplayProcessor = DisplayProcessor :: new ( true ) ;
45
+ let _streams = hardware:: setup_passthrough_processor ( display_processor) ;
45
46
std:: thread:: park ( ) ;
46
47
}
47
48
48
49
fn naive_pitch_shifter ( ) {
50
+ let display_processor: DisplayProcessor = DisplayProcessor :: new ( true ) ;
49
51
let composed_processor = ComposedProcessor :: new (
50
- DisplayProcessor :: new ( true ) ,
52
+ display_processor ,
51
53
Segmenter :: new ( NaivePitchShifter :: new ( 1.2 ) ) ,
52
54
) ;
53
- let composed_processor =
54
- ComposedProcessor :: new ( composed_processor, DisplayProcessor :: new ( false ) ) ;
55
+ let display_processor : DisplayProcessor = DisplayProcessor :: new ( false ) ;
56
+ let composed_processor = ComposedProcessor :: new ( composed_processor, display_processor ) ;
55
57
let _streams = hardware:: setup_passthrough_processor ( composed_processor) ;
56
58
std:: thread:: park ( ) ;
57
59
}
58
60
59
61
fn high_pass_filter ( ) {
60
- let composed_processor = ComposedProcessor :: new (
61
- DisplayProcessor :: new ( true ) ,
62
- Segmenter :: new ( HighPassFilter :: new ( ) ) ,
63
- ) ;
62
+ let display_processor: DisplayProcessor = DisplayProcessor :: new ( true ) ;
64
63
let composed_processor =
65
- ComposedProcessor :: new ( composed_processor, DisplayProcessor :: new ( false ) ) ;
64
+ ComposedProcessor :: new ( display_processor, Segmenter :: new ( HighPassFilter :: new ( ) ) ) ;
65
+ let display_processor: DisplayProcessor = DisplayProcessor :: new ( false ) ;
66
+ let composed_processor = ComposedProcessor :: new ( composed_processor, display_processor) ;
66
67
let _streams = hardware:: setup_passthrough_processor ( composed_processor) ;
67
68
std:: thread:: park ( ) ;
68
69
}
69
70
70
71
fn low_pass_filter ( ) {
71
- let composed_processor = ComposedProcessor :: new (
72
- DisplayProcessor :: new ( true ) ,
73
- Segmenter :: new ( LowPassFilter :: new ( ) ) ,
74
- ) ;
72
+ let display_processor: DisplayProcessor = DisplayProcessor :: new ( true ) ;
75
73
let composed_processor =
76
- ComposedProcessor :: new ( composed_processor, DisplayProcessor :: new ( false ) ) ;
74
+ ComposedProcessor :: new ( display_processor, Segmenter :: new ( LowPassFilter :: new ( ) ) ) ;
75
+ let display_processor: DisplayProcessor = DisplayProcessor :: new ( false ) ;
76
+ let composed_processor = ComposedProcessor :: new ( composed_processor, display_processor) ;
77
77
let _streams = hardware:: setup_passthrough_processor ( composed_processor) ;
78
78
std:: thread:: park ( ) ;
79
79
}
80
80
81
81
fn frequency_domain_pitch_shifter ( ) {
82
+ let display_processor: DisplayProcessor = DisplayProcessor :: new ( true ) ;
82
83
let composed_processor = ComposedProcessor :: new (
83
- DisplayProcessor :: new ( true ) ,
84
+ display_processor ,
84
85
Segmenter :: new ( FrequencyDomainPitchShifter :: new ( ) ) ,
85
86
) ;
86
- let composed_processor =
87
- ComposedProcessor :: new ( composed_processor, DisplayProcessor :: new ( false ) ) ;
87
+ let display_processor : DisplayProcessor = DisplayProcessor :: new ( false ) ;
88
+ let composed_processor = ComposedProcessor :: new ( composed_processor, display_processor ) ;
88
89
let _streams = hardware:: setup_passthrough_processor ( composed_processor) ;
89
90
std:: thread:: park ( ) ;
90
91
}
@@ -95,10 +96,10 @@ fn play() {
95
96
let barrier = Arc :: new ( Barrier :: new ( 2 ) ) ;
96
97
let barrier_clone = barrier. clone ( ) ;
97
98
let once = std:: sync:: Once :: new ( ) ;
98
-
99
+ let display_processor : DisplayProcessor = DisplayProcessor :: new ( true ) ;
99
100
let pitch_halver = ComposedProcessor :: new (
100
101
Segmenter :: new ( FrequencyDomainPitchShifter :: new ( ) ) ,
101
- DisplayProcessor :: new ( true ) ,
102
+ display_processor ,
102
103
) ;
103
104
104
105
for t in ( 0 ..SAMPLE_RATE * 5 ) . map ( |x| x as f32 / SAMPLE_RATE as f32 ) {
0 commit comments