Add ui module and ability to update its state

This commit was merged in pull request #6.
This commit is contained in:
Alexander Heldt
2025-11-23 10:11:21 +01:00
parent 7d20bdad53
commit 26d9985a38
6 changed files with 116 additions and 7 deletions

View File

@@ -4,6 +4,7 @@ import musicplayer/input/input
import musicplayer/input/key.{type Key}
import musicplayer/mpv/mpv
import musicplayer/musicplayer
import musicplayer/ui/ui
pub fn main() -> Nil {
let input_keys_name: Name(Key) = process.new_name("input_keys")
@@ -15,13 +16,16 @@ pub fn main() -> Nil {
// inject input
let input_inject_name: Name(Key) = process.new_name("input_inject_keys")
// TODO should input.new just return the inject_subject?
input.new(input_keys_name, input_stream_name, input_inject_name)
let assert Ok(ui) = ui.new()
let assert Ok(mpv) = mpv.new()
let exit = process.new_subject()
let assert Ok(_) =
musicplayer.new(
ui,
mpv,
input_keys_name,
input_stream_name,