mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 20:26:42 +01:00
i dont know why that worked
This commit is contained in:
parent
4ae62c5bc2
commit
b73aa8a0dc
17 changed files with 552 additions and 481 deletions
|
|
@ -2,7 +2,6 @@ use crate::prelude::*;
|
|||
|
||||
pub struct Mixer {
|
||||
name: String,
|
||||
jack: Jack<MixerJack>,
|
||||
tracks: Vec<Track>,
|
||||
selected_track: usize,
|
||||
selected_column: usize,
|
||||
|
|
@ -10,33 +9,27 @@ pub struct Mixer {
|
|||
|
||||
impl Mixer {
|
||||
pub fn new (name: &str) -> Result<DynamicDevice<Self>, Box<dyn Error>> {
|
||||
let (client, status) = Client::new(
|
||||
name,
|
||||
ClientOptions::NO_START_SERVER
|
||||
)?;
|
||||
let jack = MixerJack.activate(client, ClosureProcessHandler::new(Box::new(
|
||||
move|client: &Client, scope: &ProcessScope|process(client, scope)
|
||||
) as BoxedProcessHandler))?;
|
||||
Ok(DynamicDevice::new(render, handle, |_|{}, Self {
|
||||
let (client, _status) = Client::new(name, ClientOptions::NO_START_SERVER)?;
|
||||
Ok(DynamicDevice::new(render, handle, process, Self {
|
||||
name: name.into(),
|
||||
selected_column: 0,
|
||||
selected_track: 1,
|
||||
tracks: vec![
|
||||
Track::new(&jack.as_client(), 1, "Mono 1")?,
|
||||
Track::new(&jack.as_client(), 1, "Mono 2")?,
|
||||
Track::new(&jack.as_client(), 2, "Stereo 1")?,
|
||||
Track::new(&jack.as_client(), 2, "Stereo 2")?,
|
||||
Track::new(&jack.as_client(), 2, "Stereo 3")?,
|
||||
Track::new(&jack.as_client(), 2, "Bus 1")?,
|
||||
Track::new(&jack.as_client(), 2, "Bus 2")?,
|
||||
Track::new(&jack.as_client(), 2, "Mix")?,
|
||||
Track::new(&client, 1, "Mono 1")?,
|
||||
Track::new(&client, 1, "Mono 2")?,
|
||||
Track::new(&client, 2, "Stereo 1")?,
|
||||
Track::new(&client, 2, "Stereo 2")?,
|
||||
Track::new(&client, 2, "Stereo 3")?,
|
||||
Track::new(&client, 2, "Bus 1")?,
|
||||
Track::new(&client, 2, "Bus 2")?,
|
||||
Track::new(&client, 2, "Mix")?,
|
||||
],
|
||||
jack,
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
||||
pub fn process (
|
||||
mixer: &mut Mixer,
|
||||
client: &Client,
|
||||
scope: &ProcessScope
|
||||
) -> Control {
|
||||
|
|
@ -107,8 +100,8 @@ pub fn render (state: &Mixer, buf: &mut Buffer, mut area: Rect)
|
|||
Ok(area)
|
||||
}
|
||||
|
||||
pub fn handle (state: &mut Mixer, event: &EngineEvent) -> Result<(), Box<dyn Error>> {
|
||||
if let EngineEvent::Input(crossterm::event::Event::Key(event)) = event {
|
||||
pub fn handle (state: &mut Mixer, event: &AppEvent) -> Result<(), Box<dyn Error>> {
|
||||
if let AppEvent::Input(crossterm::event::Event::Key(event)) = event {
|
||||
|
||||
match event.code {
|
||||
//KeyCode::Char('c') => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue