mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-08 12:46:42 +01:00
full size arranger
This commit is contained in:
parent
39c44d1e67
commit
9ca872cb98
2 changed files with 7 additions and 8 deletions
|
|
@ -48,11 +48,11 @@ pub enum TekMode {
|
||||||
/// Multi-track MIDI sequencer.
|
/// Multi-track MIDI sequencer.
|
||||||
Arranger {
|
Arranger {
|
||||||
/// Number of tracks
|
/// Number of tracks
|
||||||
#[arg(short = 'x', long, default_value_t = 12)] tracks: usize,
|
#[arg(short = 'x', long, default_value_t = 16)] tracks: usize,
|
||||||
/// Width of tracks
|
/// Width of tracks
|
||||||
#[arg(short = 'w', long, default_value_t = 10)] track_width: usize,
|
#[arg(short = 'w', long, default_value_t = 10)] track_width: usize,
|
||||||
/// Number of scenes
|
/// Number of scenes
|
||||||
#[arg(short = 'y', long, default_value_t = 8)] scenes: usize,
|
#[arg(short = 'y', long, default_value_t = 16)] scenes: usize,
|
||||||
},
|
},
|
||||||
/// TODO: A MIDI-controlled audio mixer
|
/// TODO: A MIDI-controlled audio mixer
|
||||||
Mixer,
|
Mixer,
|
||||||
|
|
|
||||||
|
|
@ -5,23 +5,22 @@ render!(TuiOut: (self: Arranger) => {
|
||||||
let toolbar = |x|Bsp::s(self.toolbar_view(), x);
|
let toolbar = |x|Bsp::s(self.toolbar_view(), x);
|
||||||
let pool = |x|Bsp::w(self.pool_view(), x);
|
let pool = |x|Bsp::w(self.pool_view(), x);
|
||||||
let editing = |x|Bsp::n(Bsp::e(self.editor.clip_status(), self.editor.edit_status()), x);
|
let editing = |x|Bsp::n(Bsp::e(self.editor.clip_status(), self.editor.edit_status()), x);
|
||||||
let enclosed = |x|Outer(Style::default().fg(Color::Rgb(72,72,72))).enclose(x);
|
//let enclosed = |x|Outer(Style::default().fg(Color::Rgb(72,72,72))).enclose(x);
|
||||||
let scenes_w = 16;//.max(SCENES_W_OFFSET + ArrangerScene::longest_name(&self.scenes) as u16);
|
let scenes_w = 16;//.max(SCENES_W_OFFSET + ArrangerScene::longest_name(&self.scenes) as u16);
|
||||||
let arrrrrr = Map::new(
|
//Bsp::s(arrrrrr, enclosed(&self.editor))
|
||||||
|
self.size.of(toolbar(pool(editing(Map::new(
|
||||||
move||[
|
move||[
|
||||||
(0, 2, self.output_row_header(), self.output_row_cells()),
|
(0, 2, self.output_row_header(), self.output_row_cells()),
|
||||||
(2, 3, self.elapsed_row_header(), self.elapsed_row_cells()),
|
(2, 3, self.elapsed_row_header(), self.elapsed_row_cells()),
|
||||||
(4, 3, self.next_row_header(), self.next_row_cells()),
|
(4, 3, self.next_row_header(), self.next_row_cells()),
|
||||||
(6, 3, self.track_row_header(), self.track_row_cells()),
|
(6, 3, self.track_row_header(), self.track_row_cells()),
|
||||||
(8, 20, self.scene_row_headers(), self.scene_row_cells()),
|
(8, 20, self.scene_row_headers(), self.scene_row_cells()),
|
||||||
(25, 2, self.input_row_header(), self.input_row_cells()),
|
((self.size.h() as u16).saturating_sub(6), 2, self.input_row_header(), self.input_row_cells()),
|
||||||
].into_iter(),
|
].into_iter(),
|
||||||
move|(y, h, header, cells), index|map_south_west(y, h, Align::w(Bsp::a(
|
move|(y, h, header, cells), index|map_south_west(y, h, Align::w(Bsp::a(
|
||||||
Align::w(Fixed::xy(scenes_w, h, header)),
|
Align::w(Fixed::xy(scenes_w, h, header)),
|
||||||
Align::w(Push::x(scenes_w, Fixed::xy(self.tracks.len() as u16*12, h, cells)))
|
Align::w(Push::x(scenes_w, Fixed::xy(self.tracks.len() as u16*12, h, cells)))
|
||||||
))));
|
))))))))
|
||||||
|
|
||||||
self.size.of(toolbar(pool(editing(Bsp::s(arrrrrr, enclosed(&self.editor))))))
|
|
||||||
|
|
||||||
});
|
});
|
||||||
impl Arranger {
|
impl Arranger {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue