From c395a5294db72304718beaec842dc1a84b5f988b Mon Sep 17 00:00:00 2001 From: Alexander Heldt Date: Fri, 14 Nov 2025 19:15:31 +0100 Subject: [PATCH] wip --- src/mpv/mpv.gleam | 16 ++++++++++++++++ src/musicplayer.gleam | 11 ++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/mpv/mpv.gleam diff --git a/src/mpv/mpv.gleam b/src/mpv/mpv.gleam new file mode 100644 index 0000000..c5c9f8a --- /dev/null +++ b/src/mpv/mpv.gleam @@ -0,0 +1,16 @@ +import tcp/reason +import tcp/tcp.{type Socket} + +pub fn new() -> Result(Socket, String) { + // TODO start up mvp here, currently hi-jacking `naviterm`s socket + let socket_path = "/tmp/naviterm_mpv" + + case tcp.connect(socket_path) { + Error(r) -> Error("mpv - could not connect: " <> reason.to_string(r)) + Ok(socket) -> Ok(socket) + } +} + +pub fn toggle_play_pause(socket: Socket) { + tcp.send(socket, "{\"command\":[\"cycle\",\"pause\"]}\n") +} diff --git a/src/musicplayer.gleam b/src/musicplayer.gleam index c98a0e3..003672b 100644 --- a/src/musicplayer.gleam +++ b/src/musicplayer.gleam @@ -1,5 +1,14 @@ import gleam/io +import mpv/mpv pub fn main() -> Nil { - io.println("musicplayer") + case mpv.new() { + Error(err) -> io.println("Could not create new mpv connection: " <> err) + Ok(socket) -> handle_key_events(socket) + } +} + +fn handle_key_events(socket) -> Nil { + let _ = mpv.toggle_play_pause(socket) + Nil }