TUI: real colors, diff-patch rendering, centered grid resize, MIDI config

- Replace Bold/Dim attributes with explicit colors that survive light
  themes (Reverse instead of hardcoded black/white for cursor/selection).
- Only redraw cells that actually changed each frame instead of a full
  clear, and center the field within the live viewport.
- Add orca-c's ruler-snapped grid resize keys (( ) _ +) and its fancy
  ruler-frame corners, ported from tui_main.c.
- Add ~/.config/orca-rs/config.toml for a default MIDI port name.
This commit is contained in:
2026-07-23 23:52:22 +02:00
parent bf388576a3
commit e2e643cbc8
5 changed files with 323 additions and 54 deletions
+6 -1
View File
@@ -1,5 +1,6 @@
use std::process::exit;
use orca_rs::config::Config;
use orca_rs::io::{EventOutputs, MidiOut, OscOut, UdpOut};
use orca_rs::tui::{self, TuiConfig};
@@ -22,6 +23,10 @@ Options:
instead of creating a virtual port
--list-midi List available MIDI output ports and exit
-h, --help Print this message and exit
A default MIDI port can be set in ~/.config/orca-rs/config.toml:
midi_name = \"IAC Driver\"
--midi-name on the command line overrides it.
";
fn die(msg: &str) -> ! {
@@ -44,7 +49,7 @@ fn main() {
let mut osc_host = "127.0.0.1".to_string();
let mut osc_port: Option<u16> = None;
let mut midi = true;
let mut midi_name: Option<String> = None;
let mut midi_name: Option<String> = Config::load().midi_name;
let mut args = std::env::args().skip(1);
while let Some(arg) = args.next() {