mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
launch pt.6: short format
This commit is contained in:
parent
dc015fd5ef
commit
106e09121a
2 changed files with 18 additions and 8 deletions
|
|
@ -228,18 +228,28 @@ pub trait MIDITime {
|
|||
let pulse = pulse as usize;
|
||||
let ppq = self.ppq().get() as usize;
|
||||
let (beats, pulses) = if ppq > 0 { (pulse / ppq, pulse % ppq) } else { (0, 0) };
|
||||
let bars = beats / 4;
|
||||
let beats = beats % 4;
|
||||
format!("{bars}.{beats}.{pulses:02}")
|
||||
format!("{}.{}.{pulses:02}", beats / 4, beats % 4)
|
||||
}
|
||||
/// Format a number of pulses into Beat.Bar starting from 0
|
||||
#[inline] fn format_beats_0_short (&self, pulse: f64) -> String {
|
||||
let pulse = pulse as usize;
|
||||
let ppq = self.ppq().get() as usize;
|
||||
let beats = if ppq > 0 { pulse / ppq } else { 0 };
|
||||
format!("{}.{}", beats / 4, beats % 4)
|
||||
}
|
||||
/// Format a number of pulses into Beat.Bar.Pulse starting from 1
|
||||
#[inline] fn format_beats_1 (&self, pulse: f64) -> String {
|
||||
let pulse = pulse as usize;
|
||||
let ppq = self.ppq().get() as usize;
|
||||
let (beats, pulses) = if ppq > 0 { (pulse / ppq, pulse % ppq) } else { (0, 0) };
|
||||
let bars = beats / 4 + 1;
|
||||
let beats = beats % 4 + 1;
|
||||
format!("{bars}.{beats}.{pulses:02}")
|
||||
format!("{}.{}.{pulses:02}", beats / 4 + 1, beats % 4 + 1)
|
||||
}
|
||||
/// Format a number of pulses into Beat.Bar.Pulse starting from 1
|
||||
#[inline] fn format_beats_1_short (&self, pulse: f64) -> String {
|
||||
let pulse = pulse as usize;
|
||||
let ppq = self.ppq().get() as usize;
|
||||
let beats = if ppq > 0 { pulse / ppq } else { 0 };
|
||||
format!("{}.{}", beats / 4 + 1, beats % 4 + 1)
|
||||
}
|
||||
}
|
||||
impl MIDITime for Timebase {
|
||||
|
|
|
|||
|
|
@ -189,7 +189,7 @@ impl<'a> Content for VerticalArranger<'a, Tui> {
|
|||
let player = &track.player;
|
||||
let elapsed = if let Some((_, Some(_))) = player.phrase.as_ref() {
|
||||
let elapsed = player.pulses_since_start().unwrap();
|
||||
let elapsed = clock.timebase().format_beats_1(elapsed);
|
||||
let elapsed = clock.timebase().format_beats_1_short(elapsed);
|
||||
format!("▎+{elapsed:>}")
|
||||
} else {
|
||||
String::from("▎")
|
||||
|
|
@ -199,7 +199,7 @@ impl<'a> Content for VerticalArranger<'a, Tui> {
|
|||
let target = t.pulse().get();
|
||||
let current = clock.instant.pulse().get();
|
||||
if target > current {
|
||||
let remaining = clock.timebase().format_beats_0(target - current);
|
||||
let remaining = clock.timebase().format_beats_0_short(target - current);
|
||||
format!("▎-{remaining:>}")
|
||||
} else {
|
||||
String::new()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue