mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-08 20:56:43 +01:00
wip: enabling standalone mixer
This commit is contained in:
parent
7685072e4c
commit
1d3d3875fe
11 changed files with 165 additions and 111 deletions
|
|
@ -1,10 +1,5 @@
|
|||
use crate::*;
|
||||
|
||||
//pub const ACTIONS: [(&'static str, &'static str);2] = [
|
||||
//("+/-", "Adjust"),
|
||||
//("Ins/Del", "Add/remove track"),
|
||||
//];
|
||||
|
||||
pub struct Mixer {
|
||||
pub name: String,
|
||||
pub tracks: Vec<Track>,
|
||||
|
|
@ -12,10 +7,6 @@ pub struct Mixer {
|
|||
pub selected_column: usize,
|
||||
}
|
||||
|
||||
render!(Mixer |self, buf, area| Ok(area));
|
||||
handle!(Mixer = handle_mixer);
|
||||
process!(Mixer = process);
|
||||
|
||||
impl Mixer {
|
||||
pub fn new (name: &str) -> Usually<Self> {
|
||||
let (client, _status) = Client::new(name, ClientOptions::NO_START_SERVER)?;
|
||||
|
|
@ -26,7 +17,7 @@ impl Mixer {
|
|||
tracks: vec![],
|
||||
})
|
||||
}
|
||||
pub fn add_track (&mut self, name: &str, channels: usize) -> Usually<&mut Self> {
|
||||
pub fn track_add (&mut self, name: &str, channels: usize) -> Usually<&mut Self> {
|
||||
let track = Track::new(name)?;
|
||||
self.tracks.push(track);
|
||||
Ok(self)
|
||||
|
|
@ -36,6 +27,8 @@ impl Mixer {
|
|||
}
|
||||
}
|
||||
|
||||
process!(Mixer = process);
|
||||
|
||||
fn process (
|
||||
_: &mut Mixer,
|
||||
_: &Client,
|
||||
|
|
@ -43,51 +36,3 @@ fn process (
|
|||
) -> Control {
|
||||
Control::Continue
|
||||
}
|
||||
|
||||
pub fn handle_mixer (state: &mut Mixer, event: &AppEvent) -> Usually<bool> {
|
||||
if let AppEvent::Input(crossterm::event::Event::Key(event)) = event {
|
||||
|
||||
match event.code {
|
||||
//KeyCode::Char('c') => {
|
||||
//if event.modifiers == KeyModifiers::CONTROL {
|
||||
//state.exit();
|
||||
//}
|
||||
//},
|
||||
KeyCode::Down => {
|
||||
state.selected_track = (state.selected_track + 1) % state.tracks.len();
|
||||
println!("{}", state.selected_track);
|
||||
return Ok(true)
|
||||
},
|
||||
KeyCode::Up => {
|
||||
if state.selected_track == 0 {
|
||||
state.selected_track = state.tracks.len() - 1;
|
||||
} else {
|
||||
state.selected_track = state.selected_track - 1;
|
||||
}
|
||||
println!("{}", state.selected_track);
|
||||
return Ok(true)
|
||||
},
|
||||
KeyCode::Left => {
|
||||
if state.selected_column == 0 {
|
||||
state.selected_column = 6
|
||||
} else {
|
||||
state.selected_column = state.selected_column - 1;
|
||||
}
|
||||
return Ok(true)
|
||||
},
|
||||
KeyCode::Right => {
|
||||
if state.selected_column == 6 {
|
||||
state.selected_column = 0
|
||||
} else {
|
||||
state.selected_column = state.selected_column + 1;
|
||||
}
|
||||
return Ok(true)
|
||||
},
|
||||
_ => {
|
||||
println!("\n{event:?}");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Ok(false)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue