mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-04-28 05:20:14 +02:00
ref -> rev; fix some warns; cov 33.46%
This commit is contained in:
parent
bcc3f5809e
commit
60e4bb49b2
12
Cargo.lock
generated
12
Cargo.lock
generated
|
@ -560,7 +560,7 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jack"
|
name = "jack"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
source = "git+https://codeberg.org/unspeaker/rust-jack#a13c1c4d20343e574787a703eaeea7aeda63b084"
|
source = "git+https://codeberg.org/unspeaker/rust-jack?rev=a13c1c4#a13c1c4d20343e574787a703eaeea7aeda63b084"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.9.0",
|
"bitflags 2.9.0",
|
||||||
"jack-sys",
|
"jack-sys",
|
||||||
|
@ -572,7 +572,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jack-sys"
|
name = "jack-sys"
|
||||||
version = "0.5.1"
|
version = "0.5.1"
|
||||||
source = "git+https://codeberg.org/unspeaker/rust-jack#a13c1c4d20343e574787a703eaeea7aeda63b084"
|
source = "git+https://codeberg.org/unspeaker/rust-jack?rev=a13c1c4#a13c1c4d20343e574787a703eaeea7aeda63b084"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.9.0",
|
"bitflags 2.9.0",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
|
@ -1499,7 +1499,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tek_edn"
|
name = "tek_edn"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://codeberg.org/unspeaker/tengri#5352a9d5484198e35760d62a2cd6ef202990fb2c"
|
source = "git+https://codeberg.org/unspeaker/tengri?rev=d5a304e#d5a304e64593fc38b4a393b5e1fdf3fc60baf35d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"itertools 0.14.0",
|
"itertools 0.14.0",
|
||||||
"konst",
|
"konst",
|
||||||
|
@ -1509,7 +1509,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tek_input"
|
name = "tek_input"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://codeberg.org/unspeaker/tengri#5352a9d5484198e35760d62a2cd6ef202990fb2c"
|
source = "git+https://codeberg.org/unspeaker/tengri?rev=d5a304e#d5a304e64593fc38b4a393b5e1fdf3fc60baf35d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"tek_edn",
|
"tek_edn",
|
||||||
]
|
]
|
||||||
|
@ -1535,7 +1535,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tek_output"
|
name = "tek_output"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://codeberg.org/unspeaker/tengri#5352a9d5484198e35760d62a2cd6ef202990fb2c"
|
source = "git+https://codeberg.org/unspeaker/tengri?rev=d5a304e#d5a304e64593fc38b4a393b5e1fdf3fc60baf35d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"tek_edn",
|
"tek_edn",
|
||||||
]
|
]
|
||||||
|
@ -1577,7 +1577,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tek_tui"
|
name = "tek_tui"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://codeberg.org/unspeaker/tengri#5352a9d5484198e35760d62a2cd6ef202990fb2c"
|
source = "git+https://codeberg.org/unspeaker/tengri?rev=d5a304e#d5a304e64593fc38b4a393b5e1fdf3fc60baf35d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"atomic_float",
|
"atomic_float",
|
||||||
"better-panic",
|
"better-panic",
|
||||||
|
|
26
Justfile
26
Justfile
|
@ -1,13 +1,16 @@
|
||||||
upstreams := "codeberg origin" # TODO!
|
upstreams := "codeberg origin" # TODO!
|
||||||
debug := "reset && cargo run --"
|
debug := "reset && cargo run --"
|
||||||
release := "reset && cargo run --release --"
|
release := "reset && cargo run --release --"
|
||||||
name := "-n tek"
|
name := "-n tek"
|
||||||
bpm := "-b 174"
|
bpm := "-b 174"
|
||||||
midi-in := "-i 'Midi-Bridge:.*nanoKEY.*:.*capture.*'"
|
midi-in := "-i 'Midi-Bridge:.*nanoKEY.*:.*capture.*'"
|
||||||
midi-out := "-o 'Midi-Bridge:.*playback.*'"
|
midi-out := "-o 'Midi-Bridge:.*playback.*'"
|
||||||
audio-in := "-l 'Komplete Audio 6 Pro:capture_AUX1' -r 'Komplete Audio 6 Pro:capture_AUX1'"
|
audio-in := "-l 'Komplete Audio 6 Pro:capture_AUX1' -r 'Komplete Audio 6 Pro:capture_AUX1'"
|
||||||
audio-out := "-L 'Komplete Audio 6 Pro:playback_AUX1' -R 'Komplete Audio 6 Pro:playback_AUX1'"
|
audio-out := "-L 'Komplete Audio 6 Pro:playback_AUX1' -R 'Komplete Audio 6 Pro:playback_AUX1'"
|
||||||
firefox-in := "-l 'Firefox:output_FL' -r 'Firefox:output_FR'"
|
firefox-in := "-l 'Firefox:output_FL' -r 'Firefox:output_FR'"
|
||||||
|
covfig := "CARGO_INCREMENTAL=0 RUSTFLAGS='-Cinstrument-coverage' RUSTDOCFLAGS='-Cinstrument-coverage' LLVM_PROFILE_FILE='cov/cargo-test-%p-%m.profraw'"
|
||||||
|
grcov-binary := "--binary-path ./target/coverage/deps/"
|
||||||
|
grcov-ignore := "--ignore-not-existing --ignore '../*' --ignore \"/*\" --ignore 'target/*'"
|
||||||
|
|
||||||
default:
|
default:
|
||||||
bacon -s
|
bacon -s
|
||||||
|
@ -21,9 +24,6 @@ prof:
|
||||||
CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph -- arranger
|
CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph -- arranger
|
||||||
doc:
|
doc:
|
||||||
cargo doc -j4 --workspace --document-private-items
|
cargo doc -j4 --workspace --document-private-items
|
||||||
covfig := "CARGO_INCREMENTAL=0 RUSTFLAGS='-Cinstrument-coverage' RUSTDOCFLAGS='-Cinstrument-coverage' LLVM_PROFILE_FILE='cov/cargo-test-%p-%m.profraw'"
|
|
||||||
grcov-binary := "--binary-path ./target/coverage/deps/"
|
|
||||||
grcov-ignore := "--ignore-not-existing --ignore '../*' --ignore \"/*\" --ignore 'target/*'"
|
|
||||||
cov:
|
cov:
|
||||||
{{covfig}} time cargo test -j4 --workspace --exclude jack --profile coverage
|
{{covfig}} time cargo test -j4 --workspace --exclude jack --profile coverage
|
||||||
rm -rf target/coverage/html || true
|
rm -rf target/coverage/html || true
|
||||||
|
|
|
@ -4,7 +4,7 @@ edition = "2021"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
tek_tui = { git = "https://codeberg.org/unspeaker/tengri", ref = "5352a9d" }
|
tek_tui = { git = "https://codeberg.org/unspeaker/tengri", rev = "d5a304e" }
|
||||||
|
|
||||||
tek_jack = { path = "../jack" }
|
tek_jack = { path = "../jack" }
|
||||||
tek_time = { path = "../time" }
|
tek_time = { path = "../time" }
|
||||||
|
|
|
@ -4,4 +4,4 @@ edition = "2021"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
jack = { git = "https://codeberg.org/unspeaker/rust-jack", ref = "a13c1c4" }
|
jack = { git = "https://codeberg.org/unspeaker/rust-jack", rev = "a13c1c4" }
|
||||||
|
|
|
@ -33,7 +33,7 @@ pub trait HasJack {
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
fn sync_follow (&self, enable: bool) -> Usually<()> {
|
fn sync_follow (&self, _enable: bool) -> Usually<()> {
|
||||||
// TODO: sync follow
|
// TODO: sync follow
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ edition = "2021"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
tek_tui = { git = "https://codeberg.org/unspeaker/tengri", ref = "5352a9d" }
|
tek_tui = { git = "https://codeberg.org/unspeaker/tengri", rev = "d5a304e" }
|
||||||
|
|
||||||
tek_jack = { path = "../jack" }
|
tek_jack = { path = "../jack" }
|
||||||
tek_time = { path = "../time" }
|
tek_time = { path = "../time" }
|
||||||
|
|
|
@ -47,27 +47,27 @@ pub trait MidiRecordApi: HasClock + HasPlayClip + HasMidiIns {
|
||||||
if let Some((started, ref clip)) = self.play_clip().clone() {
|
if let Some((started, ref clip)) = self.play_clip().clone() {
|
||||||
self.record_clip(scope, started, clip, midi_buf);
|
self.record_clip(scope, started, clip, midi_buf);
|
||||||
}
|
}
|
||||||
if let Some((start_at, clip)) = &self.next_clip() {
|
if let Some((_start_at, _clip)) = &self.next_clip() {
|
||||||
self.record_next();
|
self.record_next();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn record_clip (
|
fn record_clip (
|
||||||
&mut self,
|
&mut self,
|
||||||
scope: &ProcessScope,
|
scope: &ProcessScope,
|
||||||
started: Moment,
|
started: Moment,
|
||||||
clip: &Option<Arc<RwLock<MidiClip>>>,
|
clip: &Option<Arc<RwLock<MidiClip>>>,
|
||||||
midi_buf: &mut Vec<Vec<Vec<u8>>>
|
_midi_buf: &mut Vec<Vec<Vec<u8>>>
|
||||||
) {
|
) {
|
||||||
if let Some(clip) = clip {
|
if let Some(clip) = clip {
|
||||||
let sample0 = scope.last_frame_time() as usize;
|
let sample0 = scope.last_frame_time() as usize;
|
||||||
let start = started.sample.get() as usize;
|
let start = started.sample.get() as usize;
|
||||||
let recording = self.recording();
|
let _recording = self.recording();
|
||||||
let timebase = self.clock().timebase().clone();
|
let timebase = self.clock().timebase().clone();
|
||||||
let quant = self.clock().quant.get();
|
let quant = self.clock().quant.get();
|
||||||
let mut clip = clip.write().unwrap();
|
let mut clip = clip.write().unwrap();
|
||||||
let length = clip.length;
|
let length = clip.length;
|
||||||
for input in self.midi_ins_mut().iter() {
|
for input in self.midi_ins_mut().iter() {
|
||||||
for (sample, event, bytes) in parse_midi_input(input.port().iter(scope)) {
|
for (sample, event, _bytes) in parse_midi_input(input.port().iter(scope)) {
|
||||||
if let LiveEvent::Midi { message, .. } = event {
|
if let LiveEvent::Midi { message, .. } = event {
|
||||||
clip.record_event({
|
clip.record_event({
|
||||||
let sample = (sample0 + sample - start) as f64;
|
let sample = (sample0 + sample - start) as f64;
|
||||||
|
|
|
@ -64,13 +64,13 @@ impl Default for MidiPlayer {
|
||||||
impl MidiPlayer {
|
impl MidiPlayer {
|
||||||
pub fn new (
|
pub fn new (
|
||||||
name: impl AsRef<str>,
|
name: impl AsRef<str>,
|
||||||
jack: &Jack,
|
_jack: &Jack,
|
||||||
clock: Option<&Clock>,
|
clock: Option<&Clock>,
|
||||||
clip: Option<&Arc<RwLock<MidiClip>>>,
|
clip: Option<&Arc<RwLock<MidiClip>>>,
|
||||||
_midi_from: &[PortConnect],
|
_midi_from: &[PortConnect],
|
||||||
_midi_to: &[PortConnect],
|
_midi_to: &[PortConnect],
|
||||||
) -> Usually<Self> {
|
) -> Usually<Self> {
|
||||||
let name = name.as_ref();
|
let _name = name.as_ref();
|
||||||
let clock = clock.cloned().unwrap_or_default();
|
let clock = clock.cloned().unwrap_or_default();
|
||||||
Ok(Self {
|
Ok(Self {
|
||||||
midi_ins: vec![],//JackMidiIn::new(jack, format!("M/{name}"), midi_from)?,],
|
midi_ins: vec![],//JackMidiIn::new(jack, format!("M/{name}"), midi_from)?,],
|
||||||
|
|
|
@ -118,7 +118,7 @@ pub struct ClipLength {
|
||||||
focus: Option<ClipLengthFocus>,
|
focus: Option<ClipLengthFocus>,
|
||||||
}
|
}
|
||||||
impl ClipLength {
|
impl ClipLength {
|
||||||
fn new (pulses: usize, focus: Option<ClipLengthFocus>) -> Self {
|
fn _new (pulses: usize, focus: Option<ClipLengthFocus>) -> Self {
|
||||||
Self { ppq: PPQ, bpb: 4, pulses, focus }
|
Self { ppq: PPQ, bpb: 4, pulses, focus }
|
||||||
}
|
}
|
||||||
fn bars (&self) -> usize {
|
fn bars (&self) -> usize {
|
||||||
|
@ -458,7 +458,7 @@ command!(|self: ClipLengthCommand, state: MidiPool|{
|
||||||
Tick => { *length = length.saturating_sub(1) },
|
Tick => { *length = length.saturating_sub(1) },
|
||||||
},
|
},
|
||||||
Set(length) => {
|
Set(length) => {
|
||||||
let mut old_length = None;
|
let old_length;
|
||||||
{
|
{
|
||||||
let clip = state.clips()[clip].clone();//.write().unwrap();
|
let clip = state.clips()[clip].clone();//.write().unwrap();
|
||||||
old_length = Some(clip.read().unwrap().length);
|
old_length = Some(clip.read().unwrap().length);
|
||||||
|
|
|
@ -4,7 +4,7 @@ edition = "2021"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
tek_tui = { git = "https://codeberg.org/unspeaker/tengri", ref = "5352a9d" }
|
tek_tui = { git = "https://codeberg.org/unspeaker/tengri", rev = "d5a304e" }
|
||||||
|
|
||||||
tek_jack = { path = "../jack" }
|
tek_jack = { path = "../jack" }
|
||||||
tek_time = { path = "../time" }
|
tek_time = { path = "../time" }
|
||||||
|
|
|
@ -8,8 +8,8 @@ pub(crate) use ::tek_jack::{*, jack::*};
|
||||||
pub(crate) use ::tek_tui::{
|
pub(crate) use ::tek_tui::{
|
||||||
*,
|
*,
|
||||||
tek_output::*,
|
tek_output::*,
|
||||||
tek_input::*,
|
//tek_input::*,
|
||||||
tek_edn::*,
|
//tek_edn::*,
|
||||||
ratatui::prelude::*,
|
ratatui::prelude::*,
|
||||||
crossterm::event::*,
|
//crossterm::event::*,
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,7 +4,7 @@ edition = "2021"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
tek_tui = { git = "https://codeberg.org/unspeaker/tengri", ref = "5352a9d" }
|
tek_tui = { git = "https://codeberg.org/unspeaker/tengri", rev = "d5a304e" }
|
||||||
|
|
||||||
tek_jack = { path = "../jack" }
|
tek_jack = { path = "../jack" }
|
||||||
tek_time = { path = "../time" }
|
tek_time = { path = "../time" }
|
||||||
|
|
|
@ -6,7 +6,7 @@ pub(crate) use ::tek_tui::tek_output::*;
|
||||||
pub(crate) use ::tek_tui::tek_input::*;
|
pub(crate) use ::tek_tui::tek_input::*;
|
||||||
pub(crate) use ::tek_tui::tek_edn::*;
|
pub(crate) use ::tek_tui::tek_edn::*;
|
||||||
pub(crate) use ::tek_tui::ratatui::prelude::*;
|
pub(crate) use ::tek_tui::ratatui::prelude::*;
|
||||||
pub(crate) use ::tek_tui::crossterm::event::*;
|
//pub(crate) use ::tek_tui::crossterm::event::*;
|
||||||
pub(crate) use std::sync::{Arc, RwLock, atomic::{AtomicUsize, Ordering::Relaxed}};
|
pub(crate) use std::sync::{Arc, RwLock, atomic::{AtomicUsize, Ordering::Relaxed}};
|
||||||
pub(crate) use std::fs::File;
|
pub(crate) use std::fs::File;
|
||||||
pub(crate) use std::path::PathBuf;
|
pub(crate) use std::path::PathBuf;
|
||||||
|
@ -16,7 +16,7 @@ pub(crate) use symphonia::{
|
||||||
core::{
|
core::{
|
||||||
formats::Packet,
|
formats::Packet,
|
||||||
codecs::{Decoder, CODEC_TYPE_NULL},
|
codecs::{Decoder, CODEC_TYPE_NULL},
|
||||||
errors::Error as SymphoniaError,
|
//errors::Error as SymphoniaError,
|
||||||
io::MediaSourceStream,
|
io::MediaSourceStream,
|
||||||
probe::Hint,
|
probe::Hint,
|
||||||
audio::SampleBuffer,
|
audio::SampleBuffer,
|
||||||
|
|
|
@ -4,8 +4,8 @@ edition = "2021"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
tek_input = { git = "https://codeberg.org/unspeaker/tengri", ref = "5352a9d" }
|
tek_input = { git = "https://codeberg.org/unspeaker/tengri", rev = "d5a304e" }
|
||||||
tek_edn = { git = "https://codeberg.org/unspeaker/tengri", ref = "5352a9d" }
|
tek_edn = { git = "https://codeberg.org/unspeaker/tengri", rev = "d5a304e" }
|
||||||
|
|
||||||
tek_jack = { path = "../jack" }
|
tek_jack = { path = "../jack" }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue