From bb8cd69540c81094061fe558061f08b6d9877a9d Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Fri, 18 Aug 2023 10:03:23 +0300 Subject: Add yeetube-send-command-to-socket No need for socat anymore --- yeetube.el | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'yeetube.el') diff --git a/yeetube.el b/yeetube.el index f8565bb..6639efe 100644 --- a/yeetube.el +++ b/yeetube.el @@ -226,6 +226,20 @@ It's recommended you keep it as the default value." (concat mpv no-video socket))) (message (format "Yeetube Player: %s" yeetube-player)))) +(defun yeetube-send-command-to-socket (socket-file json-data) + "Send command with JSON-DATA to SOCKET-FILE." + (let* ((proc-name "mpv-socket") + (proc-buffer (generate-new-buffer proc-name)) + (proc (make-network-process :name proc-name + :family 'local + :buffer proc-buffer + :service socket-file))) + (let ((json-string (concat json-data "\n"))) + (process-send-string proc json-string)) + (accept-process-output proc) + (sit-for 0.1) ; wait for the process to finish + (with-current-buffer proc-buffer + (buffer-string)))) (defun yeetube-toggle-pause-mpv () "Toggle play/pause mpv." (interactive) -- cgit v1.2.3