From fc1d5d6c0deccca3b6e78b84d14fb316bf6e10f6 Mon Sep 17 00:00:00 2001 From: Patrick Reisert Date: Sun, 2 Nov 2025 19:15:37 +0100 Subject: [PATCH] Fix clippy issues in Jack backend --- src/backend/jack/mod.rs | 27 +++++++++++++++------------ src/backend/jack/wrappers.rs | 5 +---- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/backend/jack/mod.rs b/src/backend/jack/mod.rs index d0e90cf..ef05ece 100644 --- a/src/backend/jack/mod.rs +++ b/src/backend/jack/mod.rs @@ -12,10 +12,12 @@ use crate::{Ignore, MidiMessage}; const OUTPUT_RINGBUFFER_SIZE: usize = 16384; +type CallbackFn = dyn FnMut(u64, &[u8], &mut T) + Send; + struct InputHandlerData { port: Option, ignore_flags: Ignore, - callback: Box, + callback: Box>, user_data: Option, } @@ -135,11 +137,12 @@ impl MidiInput { }; // ... and connect it to the output - if let Err(_) = self + if self .client .as_mut() .unwrap() .connect(&port.name, dest_port.get_name()) + .is_err() { return Err(ConnectError::new(ConnectErrorKind::InvalidPort, self)); } @@ -147,7 +150,7 @@ impl MidiInput { handler_data.port = Some(dest_port); Ok(MidiInputConnection { - handler_data: handler_data, + handler_data, client: self.client.take(), }) } @@ -179,7 +182,7 @@ impl MidiInput { handler_data.port = Some(port); Ok(MidiInputConnection { - handler_data: handler_data, + handler_data, client: self.client.take(), }) } @@ -234,7 +237,7 @@ extern "C" fn handle_input(nframes: jack_nframes_t, arg: *mut c_void) -> i32 for i in 0..event.size { message .bytes - .push(unsafe { *event.buffer.offset(i as isize) }); + .push(unsafe { *event.buffer.add(i) }); } message.timestamp = Client::get_time(); // this is in microseconds @@ -246,7 +249,7 @@ extern "C" fn handle_input(nframes: jack_nframes_t, arg: *mut c_void) -> i32 } } - return 0; + 0 } struct OutputHandlerData { @@ -356,11 +359,11 @@ impl MidiOutput { }; // ... and connect it to the input - if let Err(_) = self + if self .client .as_mut() .unwrap() - .connect(source_port.get_name(), &port.name) + .connect(source_port.get_name(), &port.name).is_err() { return Err(ConnectError::new(ConnectErrorKind::InvalidPort, self)); } @@ -368,7 +371,7 @@ impl MidiOutput { handler_data.port = Some(source_port); Ok(MidiOutputConnection { - handler_data: handler_data, + handler_data, client: self.client.take(), }) } @@ -395,7 +398,7 @@ impl MidiOutput { handler_data.port = Some(port); Ok(MidiOutputConnection { - handler_data: handler_data, + handler_data, client: self.client.take(), }) } @@ -449,7 +452,7 @@ impl Drop for MidiOutputConnection { } extern "C" fn handle_output(nframes: jack_nframes_t, arg: *mut c_void) -> i32 { - let data: &mut OutputHandlerData = unsafe { mem::transmute(arg) }; + let data: &mut OutputHandlerData = unsafe { &mut *(arg as *mut OutputHandlerData) }; // Is port created? if let Some(ref port) = data.port { @@ -475,5 +478,5 @@ extern "C" fn handle_output(nframes: jack_nframes_t, arg: *mut c_void) -> i32 { } } - return 0; + 0 } diff --git a/src/backend/jack/wrappers.rs b/src/backend/jack/wrappers.rs index 55b56a4..a9c5e66 100644 --- a/src/backend/jack/wrappers.rs +++ b/src/backend/jack/wrappers.rs @@ -56,7 +56,6 @@ impl Client { pub fn open(name: &str, options: JackOpenOptions) -> Result { let c_name = CString::new(name) - .ok() .expect("client name must not contain null bytes"); let result = unsafe { jack_client_open(c_name.as_ptr(), options.bits(), ptr::null_mut()) }; if result.is_null() { @@ -66,7 +65,7 @@ impl Client { } } - pub fn get_midi_ports(&self, flags: PortFlags) -> PortInfos { + pub fn get_midi_ports(&self, flags: PortFlags) -> PortInfos<'_> { let raw: *mut *const c_char = unsafe { jack_get_ports( self.p, @@ -91,7 +90,6 @@ impl Client { pub fn register_midi_port(&mut self, name: &str, flags: PortFlags) -> Result { let c_name = CString::new(name) - .ok() .expect("port name must not contain null bytes"); let result = unsafe { jack_port_register( @@ -172,7 +170,6 @@ impl<'a> Index for PortInfos<'a> { fn index(&self, index: usize) -> &Self::Output { let slice = self.get_c_name(index).to_bytes(); str::from_utf8(slice) - .ok() .expect("Error converting port name to UTF8") } }