From 93051e582ee7b76fe3c200c71ea41cb52a4d4c9e Mon Sep 17 00:00:00 2001 From: Michael Williams Date: Sat, 26 May 2018 21:21:18 +1200 Subject: [PATCH] print beats better --- src/interface.rs | 49 ++++++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/src/interface.rs b/src/interface.rs index 43a4848..4fce6af 100644 --- a/src/interface.rs +++ b/src/interface.rs @@ -1,5 +1,4 @@ -extern crate ncurses; - +use ncurses; use ncurses::{WchResult}; use std::sync::mpsc::{channel, Sender}; use std::thread::spawn; @@ -86,8 +85,6 @@ impl Terminal { Message::Time(time) => { ncurses::clear(); ncurses::mv(0, 0); - print_beat(time); - print_bar(time); print_time(time); print_signature(signature); print_tempo(tempo); @@ -108,30 +105,42 @@ impl Terminal { } } -pub fn print_beat (time: clock::Time) { - if time.is_first_tick() { - if time.is_first_beat() { - ncurses::printw("SUPER "); - } +pub fn print_time (time: clock::Time) { + ncurses::printw("ticks since beat: "); + let ticks_since_beat = time.ticks_since_beat(); + ncurses::printw(format!("{}\n", ticks_since_beat).as_ref()); + if ticks_since_beat.to_integer() == 0 { ncurses::printw("BEAT"); + } else { + for i in 0..ticks_since_beat.to_integer() { + ncurses::printw("-"); + } } ncurses::printw("\n"); -} -pub fn print_bar (time: clock::Time) { - if time.is_first_bar() { - ncurses::printw("YAY YAY YAY"); + ncurses::printw("beats since bar: "); + let beats_since_bar = time.beats_since_bar(); + ncurses::printw(format!("{}\n", beats_since_bar).as_ref()); + if beats_since_bar.to_integer() == 0 { + ncurses::printw("BAR"); + } else { + for i in 0..beats_since_bar.to_integer() { + ncurses::printw("X"); + } } ncurses::printw("\n"); -} -pub fn print_time (time: clock::Time) { - ncurses::printw("ticks since beat: "); - ncurses::printw(format!("{}\n", time.ticks_since_beat()).as_ref()); - ncurses::printw("beats since bar: "); - ncurses::printw(format!("{}\n", time.beats_since_bar()).as_ref()); ncurses::printw("bars since loop: "); - ncurses::printw(format!("{}\n", time.bars_since_loop()).as_ref()); + let bars_since_loop = time.bars_since_loop(); + ncurses::printw(format!("{}\n", bars_since_loop).as_ref()); + if bars_since_loop.to_integer() == 0 { + ncurses::printw("LOOP"); + } else { + for i in 0..bars_since_loop.to_integer() { + ncurses::printw("&"); + } + } + ncurses::printw("\n"); } pub fn print_signature (signature: clock::Signature) {