Skip to content

Commit 5aeeac6

Browse files
committed
style: clippy fix
1 parent be8e4f8 commit 5aeeac6

File tree

12 files changed

+54
-80
lines changed

12 files changed

+54
-80
lines changed

src/main.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
use cpal::traits::DeviceTrait;
33
use cpal::traits::HostTrait;
44
use cpal::traits::StreamTrait;
5-
use eframe;
6-
use egui;
75
use std::sync::Arc;
86
use std::sync::Mutex;
97
use std::sync::RwLock;
@@ -48,7 +46,7 @@ impl AudioEngine {
4846
.map(|_| (0..audio_config.buffer_size).map(|_| 0.0).collect())
4947
.collect();
5048
let channels = usize::from(audio_config.channels);
51-
let buffer_size = usize::from(audio_config.buffer_size);
49+
let buffer_size = audio_config.buffer_size;
5250
let stream = device
5351
.build_output_stream(
5452
&cpal::StreamConfig {

src/synth.rs

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ mod sequencer;
1010
mod vca;
1111

1212
use by_address::ByAddress;
13-
use egui;
1413
use serde::{Deserialize, Serialize};
1514
use std::any::Any;
1615
use std::collections::{HashMap, HashSet};
@@ -59,14 +58,14 @@ impl AudioBuffer {
5958
}
6059

6160
pub fn with_read<T, F: FnOnce(Option<&[ControlVoltage]>) -> T>(&self, f: F) -> T {
62-
if let Some(_) = &self.0 {
61+
if self.0.is_some() {
6362
return f(Some(self.get().unwrap().as_ref()));
6463
}
6564
f(None)
6665
}
6766

6867
pub fn with_write<T, F: FnOnce(Option<&mut [ControlVoltage]>) -> T>(&self, f: F) -> T {
69-
if let Some(_) = &self.0 {
68+
if self.0.is_some() {
7069
let mut buf = self.get_mut();
7170
let deref = buf.as_deref_mut().unwrap();
7271
return f(Some(deref));
@@ -112,7 +111,7 @@ fn is_loop(
112111
let mut to_search: Vec<ByAddress<SharedSynthModule>> = vec![ByAddress(module.clone())];
113112
let mut to_add: Vec<ByAddress<SharedSynthModule>> = vec![];
114113
let mut visited: HashSet<ByAddress<SharedSynthModule>> = HashSet::new();
115-
while let Some(current_module) = to_search.iter().filter(|m| visited.get(m).is_none()).next() {
114+
while let Some(current_module) = to_search.iter().find(|m| visited.get(m).is_none()) {
116115
visited.insert(current_module.clone());
117116
for dependency in edges.get(&current_module.clone()).unwrap() {
118117
if dependency.clone() == ByAddress(module.clone()) {
@@ -130,7 +129,7 @@ pub fn plan_execution(
130129
output: SharedSynthModule,
131130
all_modules: &Vec<SharedSynthModule>,
132131
plan: &mut Vec<SharedSynthModule>,
133-
) -> () {
132+
) {
134133
// topological sort of a graph with cycles -- first we need to break cycles
135134
let mut edges: HashMap<ByAddress<SharedSynthModule>, Vec<ByAddress<SharedSynthModule>>> =
136135
HashMap::new(); // K: sink, V: sources
@@ -196,9 +195,7 @@ pub fn plan_execution(
196195
// find leaves first, then search for nodes for which children have already been visited
197196
// find next node with no dependencies that haven't been visited
198197
while let Some(node) = to_search
199-
.iter()
200-
.map(|m| m.clone())
201-
.filter(|m| !visited.contains(&ByAddress(m.clone())))
198+
.iter().filter(|&m| !visited.contains(&ByAddress(m.clone()))).cloned()
202199
.filter(|m| {
203200
!edges
204201
.get(&ByAddress(m.clone()))
@@ -249,7 +246,7 @@ pub trait SynthModule: Any {
249246
}
250247

251248
#[inline]
252-
fn resolve_input<'a>(&'a self, input_idx: u8) -> Result<AudioBuffer, ()> {
249+
fn resolve_input(&self, input_idx: u8) -> Result<AudioBuffer, ()> {
253250
match self.get_input(input_idx)? {
254251
Some((src_module, src_port)) => Ok(src_module.read().unwrap().get_output(src_port)?),
255252
None => Ok(AudioBuffer::new(None)),
@@ -355,67 +352,67 @@ pub fn any_module_to_enum(module: Box<&dyn SynthModule>) -> Result<SynthModuleTy
355352
let module = module.as_any();
356353
if let Some(module) = module.downcast_ref::<output::OutputModule>() {
357354
return Ok(SynthModuleType::OutputModuleV0(prep_for_serialization(
358-
&module,
355+
module,
359356
)));
360357
}
361358
if let Some(module) = module.downcast_ref::<oscillator::OscillatorModule>() {
362359
return Ok(SynthModuleType::OscillatorModuleV0(prep_for_serialization(
363-
&module,
360+
module,
364361
)));
365362
}
366363
if let Some(module) = module.downcast_ref::<oscillator::NoiseModule>() {
367364
return Ok(SynthModuleType::NoiseModuleV0(prep_for_serialization(
368-
&module,
365+
module,
369366
)));
370367
}
371368
if let Some(module) = module.downcast_ref::<sequencer::GridSequencerModule>() {
372369
return Ok(SynthModuleType::GridSequencerModuleV1(
373-
prep_for_serialization(&module),
370+
prep_for_serialization(module),
374371
));
375372
}
376373
if let Some(module) = module.downcast_ref::<sequencer::PatternSequencerModule>() {
377374
return Ok(SynthModuleType::PatternSequencerModuleV0(
378-
prep_for_serialization(&module),
375+
prep_for_serialization(module),
379376
));
380377
}
381378
if let Some(module) = module.downcast_ref::<adsr::ADSRModule>() {
382379
return Ok(SynthModuleType::ADSRModuleV0(prep_for_serialization(
383-
&module,
380+
module,
384381
)));
385382
}
386383
if let Some(module) = module.downcast_ref::<vca::VCAModule>() {
387384
return Ok(SynthModuleType::VCAModuleV0(prep_for_serialization(
388-
&module,
385+
module,
389386
)));
390387
}
391388
if let Some(module) = module.downcast_ref::<filter::MoogFilterModule>() {
392389
return Ok(SynthModuleType::MoogFilterModuleV1(prep_for_serialization(
393-
&module,
390+
module,
394391
)));
395392
}
396393
if let Some(module) = module.downcast_ref::<mixer::MonoMixerModule>() {
397394
return Ok(SynthModuleType::MonoMixerModuleV0(prep_for_serialization(
398-
&module,
395+
module,
399396
)));
400397
}
401398
if let Some(module) = module.downcast_ref::<sample::SampleModule>() {
402399
return Ok(SynthModuleType::SampleModuleV0(prep_for_serialization(
403-
&module,
400+
module,
404401
)));
405402
}
406403
if let Some(module) = module.downcast_ref::<math::MathModule>() {
407404
return Ok(SynthModuleType::MathModuleV0(prep_for_serialization(
408-
&module,
405+
module,
409406
)));
410407
}
411408
if let Some(module) = module.downcast_ref::<math::NonLinearModule>() {
412409
return Ok(SynthModuleType::NonLinearModuleV0(prep_for_serialization(
413-
&module,
410+
module,
414411
)));
415412
}
416413
if let Some(module) = module.downcast_ref::<freeverb::FreeverbModule>() {
417414
return Ok(SynthModuleType::FreeverbModuleV0(prep_for_serialization(
418-
&module,
415+
module,
419416
)));
420417
}
421418
Err(())
@@ -578,7 +575,7 @@ mod tests {
578575
.map(|m| indexes.get(&ByAddress(m.clone())).unwrap())
579576
.enumerate()
580577
{
581-
println!("{} -> {}", idx, mapping);
578+
println!("{idx} -> {mapping}");
582579
}
583580
println!("o -> {}", indexes.get(&ByAddress(out.clone())).unwrap());
584581
assert!(

src/synth/adsr.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
use super::{
22
AudioBuffer, AudioConfig, ControlVoltage, SharedSynthModule, SynthModule, TransitionDetector,
33
};
4-
use egui;
54
use serde::{Deserialize, Serialize};
65
use std::any::Any;
7-
use uuid;
86

97
#[derive(Serialize, Deserialize, Clone)]
108
pub struct ADSRModule {

src/synth/filter.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
use super::{AudioBuffer, AudioConfig, SharedSynthModule, SynthModule};
2-
use egui;
32
use itertools::Itertools;
43
use serde::{Deserialize, Serialize};
54
use std::any::Any;
6-
use uuid;
75

86
/// Moog Filter based on
97
/// https://ccrma.stanford.edu/~stilti/papers/moogvcf.pdf
@@ -70,10 +68,10 @@ impl InternalMoogFilterState {
7068
}
7169
let input = input - (self.q * self.b[4]);
7270
let mut t1;
73-
let t2;
71+
7472
t1 = self.b[1];
7573
self.b[1] = (input + self.b[0]) * self.p - self.b[1] * self.f;
76-
t2 = self.b[2];
74+
let t2 = self.b[2];
7775
self.b[2] = (self.b[1] + t1) * self.p - self.b[2] * self.f;
7876
t1 = self.b[3];
7977
self.b[3] = (self.b[2] + t2) * self.p - self.b[3] * self.f;

src/synth/freeverb.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ use freeverb::Freeverb;
33
use itertools::Itertools;
44
use serde::{Deserialize, Serialize};
55
use std::any::Any;
6-
use uuid;
76

87
#[derive(Serialize, Deserialize)]
98
pub struct FreeverbModule {

src/synth/math.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ use super::{AudioBuffer, AudioConfig, ControlVoltage, SharedSynthModule, SynthMo
22
use itertools::Itertools;
33
use serde::{Deserialize, Serialize};
44
use std::any::Any;
5-
use uuid;
65

76
#[derive(Serialize, Deserialize, Clone)]
87
pub enum MathOperation {

src/synth/mixer.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
use super::{AudioBuffer, AudioConfig, SharedSynthModule, SynthModule};
2-
use egui;
32
use itertools::Itertools;
43
use serde::{Deserialize, Serialize};
54
use std::any::Any;
6-
use uuid;
75

86
#[derive(Serialize, Deserialize, Clone)]
97
pub struct MonoMixerModule {
@@ -103,7 +101,6 @@ impl SynthModule for MonoMixerModule {
103101
fn calc(&mut self) {
104102
AudioBuffer::with_read_many(
105103
(0..self.get_num_inputs())
106-
.into_iter()
107104
.map(|n| self.resolve_input(n).unwrap())
108105
.collect_vec(),
109106
|bufs| {

src/synth/oscillator.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
use super::{
22
AudioBuffer, AudioConfig, ControlVoltage, SharedSynthModule, SynthModule, TransitionDetector,
33
};
4-
use egui;
54
use itertools::Itertools;
65
use serde::{Deserialize, Serialize};
76
use std::any::Any;
87
use std::f64::consts::PI;
9-
use uuid;
108

119
#[derive(Serialize, Deserialize, Clone)]
1210
pub struct OscillatorModule {
@@ -150,8 +148,8 @@ impl SynthModule for OscillatorModule {
150148
0.0
151149
};
152150

153-
self.pos = self.pos + delta;
154-
self.pos = self.pos % 1.0;
151+
self.pos += delta;
152+
self.pos %= 1.0;
155153
}
156154
},
157155
);
@@ -390,6 +388,6 @@ impl SynthModule for NoiseModule {
390388
}
391389

392390
fn as_any(&self) -> &dyn Any {
393-
return self;
391+
self
394392
}
395393
}

src/synth/sample.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ use std::any::Any;
1111
use std::error::Error;
1212
use std::io::Cursor;
1313
use std::sync::{Arc, Mutex};
14-
use uuid;
1514

1615
#[derive(Default, Serialize, Deserialize)]
1716
struct WaveBox {
@@ -225,7 +224,7 @@ impl SynthModule for SampleModule {
225224
self.pos = 0.0;
226225
self.playing = false;
227226
}
228-
if wavebox.samples.len() > 0 {
227+
if !wavebox.samples.is_empty() {
229228
*out = wavebox.samples[self.pos as usize];
230229
} else {
231230
*out = 0.0;
@@ -248,13 +247,10 @@ impl SynthModule for SampleModule {
248247
.add_filter("audio", &["wav"])
249248
.pick_file()
250249
.await;
251-
match file {
252-
Some(file) => {
253-
let data = file.read().await;
254-
let mut unlocked_wavebox = wavebox.lock().unwrap();
255-
let _ = unlocked_wavebox.load(data);
256-
}
257-
None => (),
250+
if let Some(file) = file {
251+
let data = file.read().await;
252+
let mut unlocked_wavebox = wavebox.lock().unwrap();
253+
let _ = unlocked_wavebox.load(data);
258254
}
259255
});
260256
}

src/synth/sequencer.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
use super::{
22
AudioBuffer, AudioConfig, ControlVoltage, SharedSynthModule, SynthModule, TransitionDetector,
33
};
4-
use egui::{self, output};
4+
use egui::{self};
55
use itertools::Itertools;
66
use serde::{Deserialize, Serialize};
77
use std::any::Any;
8-
use uuid;
98

109
const GRID_CELL_SIZE: f32 = 7.0;
1110
const GRID_CELL_PADDING: f32 = 1.0;
@@ -143,7 +142,7 @@ impl SynthModule for GridSequencerModule {
143142
.into(),
144143
);
145144
let clicked = ui.interact(space_rect, id, egui::Sense::click()).clicked();
146-
for row in (0..num_rows).into_iter().rev() {
145+
for row in (0..num_rows).rev() {
147146
for col in 0..self.sequence.len() {
148147
let top_left = egui::Pos2::new(
149148
space_rect.min.x + (col as f32 * (GRID_CELL_SIZE + GRID_CELL_PADDING)),
@@ -167,20 +166,20 @@ impl SynthModule for GridSequencerModule {
167166
if usize::from(self.current_step) == col {
168167
color = egui::Color32::RED;
169168
}
170-
if self.sequence[usize::from(col)] == Some((row, true)) {
169+
if self.sequence[col] == Some((row, true)) {
171170
color = egui::Color32::BLACK;
172171
}
173-
if self.sequence[usize::from(col)] == Some((row, false)) {
172+
if self.sequence[col] == Some((row, false)) {
174173
color = egui::Color32::BLUE;
175174
}
176175
ui.painter().rect_filled(rect, 1.0, color);
177176
if clicked && ui.rect_contains_pointer(rect) {
178-
if self.sequence[usize::from(col)] == Some((row, true)) {
179-
self.sequence[usize::from(col)] = Some((row, false));
180-
} else if self.sequence[usize::from(col)] == Some((row, false)) {
181-
self.sequence[usize::from(col)] = None;
177+
if self.sequence[col] == Some((row, true)) {
178+
self.sequence[col] = Some((row, false));
179+
} else if self.sequence[col] == Some((row, false)) {
180+
self.sequence[col] = None;
182181
} else {
183-
self.sequence[usize::from(col)] = Some((row, true));
182+
self.sequence[col] = Some((row, true));
184183
}
185184
}
186185
}
@@ -591,7 +590,7 @@ impl SynthModule for PatternSequencerModule {
591590
return Ok(Some("Sync".to_string()));
592591
}
593592
if output_idx < self.gate_outs.len() as u8 {
594-
return Ok(Some(format!("{}", output_idx)));
593+
return Ok(Some(format!("{output_idx}")));
595594
}
596595
Err(())
597596
}

0 commit comments

Comments
 (0)