@@ -10,7 +10,6 @@ mod sequencer;
1010mod vca;
1111
1212use by_address:: ByAddress ;
13- use egui;
1413use serde:: { Deserialize , Serialize } ;
1514use std:: any:: Any ;
1615use 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 ! (
0 commit comments