mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-08 04:36:45 +01:00
refactor midi player api
This commit is contained in:
parent
a26a1f2967
commit
71e19c9800
11 changed files with 159 additions and 183 deletions
|
|
@ -136,9 +136,9 @@ pub fn arranger_content_vertical (
|
|||
let name = format!("▎{}", &name[0..max_w]);
|
||||
let name = TuiStyle::bold(name, true);
|
||||
// beats elapsed
|
||||
let elapsed = if let Some((_, Some(phrase))) = track.play_phrase().as_ref() {
|
||||
let elapsed = if let Some((_, Some(phrase))) = track.player.play_phrase().as_ref() {
|
||||
let length = phrase.read().unwrap().length;
|
||||
let elapsed = track.pulses_since_start().unwrap();
|
||||
let elapsed = track.player.pulses_since_start().unwrap();
|
||||
let elapsed = timebase.format_beats_1_short(
|
||||
(elapsed as usize % length) as f64
|
||||
);
|
||||
|
|
@ -147,7 +147,7 @@ pub fn arranger_content_vertical (
|
|||
String::from("▎")
|
||||
};
|
||||
// beats until switchover
|
||||
let until_next = track.next_phrase().as_ref().map(|(t, _)|{
|
||||
let until_next = track.player.next_phrase().as_ref().map(|(t, _)|{
|
||||
let target = t.pulse.get();
|
||||
let current = current.pulse.get();
|
||||
if target > current {
|
||||
|
|
@ -158,12 +158,12 @@ pub fn arranger_content_vertical (
|
|||
}
|
||||
}).unwrap_or(String::from("▎"));
|
||||
// name of active MIDI input
|
||||
let input = format!("▎>{}", track.midi_ins().get(0)
|
||||
let input = format!("▎>{}", track.player.midi_ins().get(0)
|
||||
.map(|port|port.short_name())
|
||||
.transpose()?
|
||||
.unwrap_or("(none)".into()));
|
||||
// name of active MIDI output
|
||||
let output = format!("▎<{}", track.midi_outs().get(0)
|
||||
let output = format!("▎<{}", track.player.midi_outs().get(0)
|
||||
.map(|port|port.short_name())
|
||||
.transpose()?
|
||||
.unwrap_or("(none)".into()));
|
||||
|
|
@ -196,7 +196,7 @@ pub fn arranger_content_vertical (
|
|||
let color = phrase.read().unwrap().color;
|
||||
add(&name.as_str()[0..max_w].push_x(1).fixed_x(w as u16))?;
|
||||
bg = color.dark.rgb;
|
||||
if let Some((_, Some(ref playing))) = track.play_phrase() {
|
||||
if let Some((_, Some(ref playing))) = track.player.play_phrase() {
|
||||
if *playing.read().unwrap() == *phrase.read().unwrap() {
|
||||
bg = color.light.rgb
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue