import gleam/erlang/process.{type Name} import musicplayer/input/input import musicplayer/input/key.{type Key} import musicplayer/logging/logging import musicplayer/mpv/mpv import musicplayer/musicplayer import musicplayer/ui/ui pub fn main() -> Nil { let assert Ok(_) = logging.initialize() let input_keys_name: Name(Key) = process.new_name("input_keys") input.new(input_keys_name) let assert Ok(ui) = ui.new() let assert Ok(mpv) = mpv.new() let assert Ok(musicplayer_pid) = musicplayer.new(ui, mpv, input_keys_name) let monitor = process.monitor(musicplayer_pid) process.new_selector() |> process.select_specific_monitor(monitor, fn(_) { Nil }) |> process.selector_receive_forever }