mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 12:16:42 +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 pulse = pulse as usize;
|
||||||
let ppq = self.ppq().get() as usize;
|
let ppq = self.ppq().get() as usize;
|
||||||
let (beats, pulses) = if ppq > 0 { (pulse / ppq, pulse % ppq) } else { (0, 0) };
|
let (beats, pulses) = if ppq > 0 { (pulse / ppq, pulse % ppq) } else { (0, 0) };
|
||||||
let bars = beats / 4;
|
format!("{}.{}.{pulses:02}", beats / 4, beats % 4)
|
||||||
let beats = beats % 4;
|
}
|
||||||
format!("{bars}.{beats}.{pulses:02}")
|
/// 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
|
/// Format a number of pulses into Beat.Bar.Pulse starting from 1
|
||||||
#[inline] fn format_beats_1 (&self, pulse: f64) -> String {
|
#[inline] fn format_beats_1 (&self, pulse: f64) -> String {
|
||||||
let pulse = pulse as usize;
|
let pulse = pulse as usize;
|
||||||
let ppq = self.ppq().get() as usize;
|
let ppq = self.ppq().get() as usize;
|
||||||
let (beats, pulses) = if ppq > 0 { (pulse / ppq, pulse % ppq) } else { (0, 0) };
|
let (beats, pulses) = if ppq > 0 { (pulse / ppq, pulse % ppq) } else { (0, 0) };
|
||||||
let bars = beats / 4 + 1;
|
format!("{}.{}.{pulses:02}", beats / 4 + 1, beats % 4 + 1)
|
||||||
let beats = beats % 4 + 1;
|
}
|
||||||
format!("{bars}.{beats}.{pulses:02}")
|
/// 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 {
|
impl MIDITime for Timebase {
|
||||||
|
|
|
||||||
|
|
@ -189,7 +189,7 @@ impl<'a> Content for VerticalArranger<'a, Tui> {
|
||||||
let player = &track.player;
|
let player = &track.player;
|
||||||
let elapsed = if let Some((_, Some(_))) = player.phrase.as_ref() {
|
let elapsed = if let Some((_, Some(_))) = player.phrase.as_ref() {
|
||||||
let elapsed = player.pulses_since_start().unwrap();
|
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:>}")
|
format!("▎+{elapsed:>}")
|
||||||
} else {
|
} else {
|
||||||
String::from("▎")
|
String::from("▎")
|
||||||
|
|
@ -199,7 +199,7 @@ impl<'a> Content for VerticalArranger<'a, Tui> {
|
||||||
let target = t.pulse().get();
|
let target = t.pulse().get();
|
||||||
let current = clock.instant.pulse().get();
|
let current = clock.instant.pulse().get();
|
||||||
if target > current {
|
if target > current {
|
||||||
let remaining = clock.timebase().format_beats_0(target - current);
|
let remaining = clock.timebase().format_beats_0_short(target - current);
|
||||||
format!("▎-{remaining:>}")
|
format!("▎-{remaining:>}")
|
||||||
} else {
|
} else {
|
||||||
String::new()
|
String::new()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue