fix some clippy warnings
This commit is contained in:
parent
a846242218
commit
e9e84df708
10 changed files with 71 additions and 60 deletions
|
@ -43,7 +43,7 @@ impl CellDir {
|
||||||
*self as u8
|
*self as u8
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_menu_pos(&self) -> (i32, i32) {
|
pub fn as_menu_pos(&self) -> (i32, i32) {
|
||||||
match self {
|
match self {
|
||||||
// out 1 - TR
|
// out 1 - TR
|
||||||
CellDir::TR => (0, 1),
|
CellDir::TR => (0, 1),
|
||||||
|
@ -61,7 +61,7 @@ impl CellDir {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_offs(&self, x: usize) -> (i32, i32) {
|
pub fn as_offs(&self, x: usize) -> (i32, i32) {
|
||||||
let even = x % 2 == 0;
|
let even = x % 2 == 0;
|
||||||
match self {
|
match self {
|
||||||
// out 1 - TR
|
// out 1 - TR
|
||||||
|
|
|
@ -369,17 +369,18 @@ impl Trigger {
|
||||||
if input <= 0.25 {
|
if input <= 0.25 {
|
||||||
self.triggered = false;
|
self.triggered = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
false
|
false
|
||||||
} else {
|
|
||||||
if input > 0.75 {
|
} else if input > 0.75 {
|
||||||
self.triggered = true;
|
self.triggered = true;
|
||||||
true
|
true
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy)]
|
#[derive(Debug, Clone, Copy)]
|
||||||
pub struct TriggerClock {
|
pub struct TriggerClock {
|
||||||
|
|
|
@ -95,6 +95,7 @@ impl Sampl {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Sampl {
|
impl Sampl {
|
||||||
|
#[allow(clippy::many_single_char_names)]
|
||||||
#[inline]
|
#[inline]
|
||||||
fn next_sample(&mut self, sr_factor: f64, speed: f64, sample_data: &[f32]) -> f32 {
|
fn next_sample(&mut self, sr_factor: f64, speed: f64, sample_data: &[f32]) -> f32 {
|
||||||
let sd_len = sample_data.len();
|
let sd_len = sample_data.len();
|
||||||
|
@ -129,6 +130,7 @@ impl Sampl {
|
||||||
(((a * f) - b_neg) * f + c) * f + x0
|
(((a * f) - b_neg) * f + c) * f + x0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::float_cmp)]
|
||||||
#[inline]
|
#[inline]
|
||||||
fn play(&mut self, inputs: &[ProcBuf], nframes: usize,
|
fn play(&mut self, inputs: &[ProcBuf], nframes: usize,
|
||||||
sample_data: &[f32], out: &mut ProcBuf, do_loop: bool,
|
sample_data: &[f32], out: &mut ProcBuf, do_loop: bool,
|
||||||
|
|
|
@ -631,7 +631,7 @@ impl Matrix {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_adjacent(&self, x: usize, y: usize, dir: CellDir) -> Option<&Cell> {
|
pub fn get_adjacent(&self, x: usize, y: usize, dir: CellDir) -> Option<&Cell> {
|
||||||
let offs : (i32, i32) = dir.to_offs(x);
|
let offs : (i32, i32) = dir.as_offs(x);
|
||||||
let x = x as i32 + offs.0;
|
let x = x as i32 + offs.0;
|
||||||
let y = y as i32 + offs.1;
|
let y = y as i32 + offs.1;
|
||||||
|
|
||||||
|
|
|
@ -183,6 +183,12 @@ impl MinMaxMonitorSamples {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn len(&self) -> usize { MONITOR_MINMAX_SAMPLES }
|
pub fn len(&self) -> usize { MONITOR_MINMAX_SAMPLES }
|
||||||
|
|
||||||
|
pub fn is_empty(&self) -> bool { false }
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for MinMaxMonitorSamples {
|
||||||
|
fn default() -> Self { Self::new() }
|
||||||
}
|
}
|
||||||
|
|
||||||
impl std::ops::Index<usize> for MinMaxMonitorSamples {
|
impl std::ops::Index<usize> for MinMaxMonitorSamples {
|
||||||
|
|
|
@ -60,7 +60,7 @@ impl NodeInstance {
|
||||||
pub fn mark_used(&mut self) { self.in_use = true; }
|
pub fn mark_used(&mut self) { self.in_use = true; }
|
||||||
pub fn is_used(&self) -> bool { self.in_use }
|
pub fn is_used(&self) -> bool { self.in_use }
|
||||||
|
|
||||||
pub fn to_op(&self) -> NodeOp {
|
pub fn as_op(&self) -> NodeOp {
|
||||||
NodeOp {
|
NodeOp {
|
||||||
idx: self.prog_idx as u8,
|
idx: self.prog_idx as u8,
|
||||||
out_idxlen: (self.out_start, self.out_end),
|
out_idxlen: (self.out_start, self.out_end),
|
||||||
|
@ -308,7 +308,7 @@ impl NodeConfigurator {
|
||||||
if param.is_atom() {
|
if param.is_atom() {
|
||||||
let at =
|
let at =
|
||||||
if let SAtom::AudioSample((path, None)) = at.clone() {
|
if let SAtom::AudioSample((path, None)) = at.clone() {
|
||||||
if path.len() > 0 {
|
if !path.is_empty() {
|
||||||
match self.sample_lib.load(&path) {
|
match self.sample_lib.load(&path) {
|
||||||
Ok(sample) => sample.clone(),
|
Ok(sample) => sample.clone(),
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
|
@ -354,6 +354,7 @@ impl NodeConfigurator {
|
||||||
|
|
||||||
/// Dumps all set parameters (inputs and atoms).
|
/// Dumps all set parameters (inputs and atoms).
|
||||||
/// Most useful for serialization and saving patches.
|
/// Most useful for serialization and saving patches.
|
||||||
|
#[allow(clippy::type_complexity)]
|
||||||
pub fn dump_param_values(&self)
|
pub fn dump_param_values(&self)
|
||||||
-> (Vec<(ParamId, f32)>, Vec<(ParamId, SAtom)>)
|
-> (Vec<(ParamId, f32)>, Vec<(ParamId, SAtom)>)
|
||||||
{
|
{
|
||||||
|
@ -516,9 +517,7 @@ impl NodeConfigurator {
|
||||||
{
|
{
|
||||||
let mut bufs = [UNUSED_MONITOR_IDX; MON_SIG_CNT];
|
let mut bufs = [UNUSED_MONITOR_IDX; MON_SIG_CNT];
|
||||||
|
|
||||||
if let Some((_node_info, node_instance)) = self.node_by_id(node_id) {
|
if let Some((_node_info, Some(node_instance))) = self.node_by_id(node_id) {
|
||||||
if let Some(node_instance) = node_instance {
|
|
||||||
|
|
||||||
let mut i = 0;
|
let mut i = 0;
|
||||||
for inp_idx in inputs.iter().take(MON_SIG_CNT / 2) {
|
for inp_idx in inputs.iter().take(MON_SIG_CNT / 2) {
|
||||||
if let Some(inp_idx) = inp_idx {
|
if let Some(inp_idx) = inp_idx {
|
||||||
|
@ -549,7 +548,6 @@ impl NodeConfigurator {
|
||||||
QuickMessage::SetMonitor { bufs });
|
QuickMessage::SetMonitor { bufs });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get_pattern_data(&self, tracker_id: usize)
|
pub fn get_pattern_data(&self, tracker_id: usize)
|
||||||
-> Option<Rc<RefCell<PatternData>>>
|
-> Option<Rc<RefCell<PatternData>>>
|
||||||
|
@ -773,7 +771,7 @@ impl NodeConfigurator {
|
||||||
= self.node_by_id_mut(node_id)
|
= self.node_by_id_mut(node_id)
|
||||||
{
|
{
|
||||||
node_instance.mark_used();
|
node_instance.mark_used();
|
||||||
let op = node_instance.to_op();
|
let op = node_instance.as_op();
|
||||||
prog.append_op(op);
|
prog.append_op(op);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -805,14 +803,13 @@ impl NodeConfigurator {
|
||||||
= self.node_by_id_mut(&node_input.0)
|
= self.node_by_id_mut(&node_input.0)
|
||||||
{
|
{
|
||||||
node_instance.mark_used();
|
node_instance.mark_used();
|
||||||
let op = node_instance.to_op();
|
let op = node_instance.as_op();
|
||||||
|
|
||||||
let input_index = node_instance.in_local2global(node_input.1);
|
let input_index = node_instance.in_local2global(node_input.1);
|
||||||
match (input_index, output_index) {
|
if let (Some(input_index), Some(output_index)) =
|
||||||
(Some(input_index), Some(output_index)) => {
|
(input_index, output_index)
|
||||||
|
{
|
||||||
prog.append_edge(op, input_index, output_index);
|
prog.append_edge(op, input_index, output_index);
|
||||||
},
|
|
||||||
_ => {},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,14 +149,17 @@ impl FeedbackBuffer {
|
||||||
if self.sample_count > 0 {
|
if self.sample_count > 0 {
|
||||||
self.sample_count -= 1;
|
self.sample_count -= 1;
|
||||||
self.read_ptr = (self.read_ptr + 1) % MAX_FB_DELAY_SIZE;
|
self.read_ptr = (self.read_ptr + 1) % MAX_FB_DELAY_SIZE;
|
||||||
let s = self.buffer[self.read_ptr];
|
self.buffer[self.read_ptr]
|
||||||
s
|
|
||||||
} else {
|
} else {
|
||||||
0.0
|
0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Default for FeedbackBuffer {
|
||||||
|
fn default() -> Self { Self::new() }
|
||||||
|
}
|
||||||
|
|
||||||
/// Contains global state that all nodes can access.
|
/// Contains global state that all nodes can access.
|
||||||
/// This is used for instance to implement the feedbackd delay nodes.
|
/// This is used for instance to implement the feedbackd delay nodes.
|
||||||
pub struct NodeExecContext {
|
pub struct NodeExecContext {
|
||||||
|
@ -166,7 +169,7 @@ pub struct NodeExecContext {
|
||||||
impl NodeExecContext {
|
impl NodeExecContext {
|
||||||
fn new() -> Self {
|
fn new() -> Self {
|
||||||
let mut fbdb = vec![];
|
let mut fbdb = vec![];
|
||||||
fbdb.resize_with(MAX_ALLOCATED_NODES, || FeedbackBuffer::new());
|
fbdb.resize_with(MAX_ALLOCATED_NODES, FeedbackBuffer::new);
|
||||||
Self {
|
Self {
|
||||||
feedback_delay_buffers: fbdb,
|
feedback_delay_buffers: fbdb,
|
||||||
}
|
}
|
||||||
|
@ -346,12 +349,7 @@ impl NodeExecutor {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find unused smoother and set it:
|
// Find unused smoother and set it:
|
||||||
if let Some(sm) =
|
if let Some(sm) = self.smoothers.iter_mut().find(|s| s.1.is_done()) {
|
||||||
self.smoothers
|
|
||||||
.iter_mut()
|
|
||||||
.filter(|s| s.1.is_done())
|
|
||||||
.next()
|
|
||||||
{
|
|
||||||
sm.0 = input_idx;
|
sm.0 = input_idx;
|
||||||
sm.1.set(prog.params[input_idx], value);
|
sm.1.set(prog.params[input_idx], value);
|
||||||
//d// println!("SET SMOOTHER {} {:6.3} (old = {:6.3})",
|
//d// println!("SET SMOOTHER {} {:6.3} (old = {:6.3})",
|
||||||
|
|
|
@ -184,6 +184,10 @@ impl NodeGraphOrdering {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Default for NodeGraphOrdering {
|
||||||
|
fn default() -> Self { Self::new() }
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
|
@ -115,16 +115,16 @@ impl NodeProg {
|
||||||
|
|
||||||
pub fn new(out_len: usize, inp_len: usize, at_len: usize) -> Self {
|
pub fn new(out_len: usize, inp_len: usize, at_len: usize) -> Self {
|
||||||
let mut out = vec![];
|
let mut out = vec![];
|
||||||
out.resize_with(out_len, || ProcBuf::new());
|
out.resize_with(out_len, ProcBuf::new);
|
||||||
|
|
||||||
let out_fb = vec![0.0; out_len];
|
let out_fb = vec![0.0; out_len];
|
||||||
let tb = TripleBuffer::new(out_fb);
|
let tb = TripleBuffer::new(out_fb);
|
||||||
let (input_fb, output_fb) = tb.split();
|
let (input_fb, output_fb) = tb.split();
|
||||||
|
|
||||||
let mut inp = vec![];
|
let mut inp = vec![];
|
||||||
inp.resize_with(inp_len, || ProcBuf::new());
|
inp.resize_with(inp_len, ProcBuf::new);
|
||||||
let mut cur_inp = vec![];
|
let mut cur_inp = vec![];
|
||||||
cur_inp.resize_with(inp_len, || ProcBuf::null());
|
cur_inp.resize_with(inp_len, ProcBuf::null);
|
||||||
|
|
||||||
let mut params = vec![];
|
let mut params = vec![];
|
||||||
params.resize(inp_len, 0.0);
|
params.resize(inp_len, 0.0);
|
||||||
|
|
|
@ -53,8 +53,7 @@ impl SampleLibrary {
|
||||||
|
|
||||||
let channels = rd.spec().channels as usize;
|
let channels = rd.spec().channels as usize;
|
||||||
|
|
||||||
let mut v = vec![];
|
let mut v = vec![rd.spec().sample_rate as f32];
|
||||||
v.push(rd.spec().sample_rate as f32);
|
|
||||||
|
|
||||||
match rd.spec().sample_format {
|
match rd.spec().sample_format {
|
||||||
hound::SampleFormat::Float => {
|
hound::SampleFormat::Float => {
|
||||||
|
@ -78,6 +77,10 @@ impl SampleLibrary {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Default for SampleLibrary {
|
||||||
|
fn default() -> Self { Self::new() }
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
Loading…
Reference in a new issue