From 19701af4ec4605e7aa9e4cd75ebfdd26e885ebb1 Mon Sep 17 00:00:00 2001 From: visionmercer <62051836+visionmercer@users.noreply.github.com> Date: Tue, 23 Jun 2026 12:10:10 +0200 Subject: [PATCH 1/2] A few fixes to IPC --- cimp.bas | 58 +++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 19 deletions(-) diff --git a/cimp.bas b/cimp.bas index 8d0ee67..e39cc51 100644 --- a/cimp.bas +++ b/cimp.bas @@ -16,12 +16,15 @@ const key_up=1001 const key_down=1002 const key_right=1003 const key_left=1004 - +dim slash as string +slash="/" $if win then shell"chcp 65001 > nul" +slash="\" $end if redim file(0) as string +chdir _startdir$ if command$=""then print"please specify file to play." goto quit @@ -34,21 +37,38 @@ if ipc_status = 0 then ' --- CLIENT MODE --- dim cmd_msg as string - if command$(1) = "--next" then - cmd_msg = "NEXT" - elseif command$(1) = "--prev" then - cmd_msg = "PREV" - elseif command$(1) = "-v" or command$(1) = "--volume" then - cmd_msg = "VOL:" + command$(2) - elseif command$(1) = "--add" then - cmd_msg = "ADD:" + get_abs_path(command$(2)) - elseif command$(1) = "--playlist" then - cmd_msg = "GET_PLAYLIST" - else - ' Default behavior: Resolve target file/playlist and replace active queue - cmd_msg = "PLAY:" + get_abs_path(command$(1)) - end if + Select Case command$(1) + Case "--next" + cmd_msg = "NEXT" + Case "--prev" + cmd_msg = "PREV" + + Case "-v", "--volume" + cmd_msg = "VOL:" + command$(2) + + Case "--add" + For i = 2 To _commandcount + cmd_msg = "ADD:" + _cwd$ + slash + command$(i) + ipc_send_message cmd_msg + Next i + System + + Case "--playlist" + cmd_msg = "GET_PLAYLIST" + + Case Else + ' Default behavior: Resolve target file/playlist and replace active queue + cmd_msg = "PLAY:" + _cwd$ + slash + command$(1) + If _commandcount > 1 Then + For i = 2 To _commandcount + cmd_msg = "ADD:" + _cwd$ + slash + command$(i) + ipc_send_message cmd_msg + Next i + System + End If + End Select + ' Send instruction to the main player instance ipc_send_message cmd_msg @@ -88,7 +108,6 @@ end if echooff cursoroff -chdir _startdir$ dim volume as single dim repeat as integer @@ -344,7 +363,8 @@ while keyin<>27 _sndvol musichandle, volume elseif left$(client_cmd, 4) = "ADD:" then dim new_file as string - new_file = mid$(client_cmd, 5) + new_file = _trim$(mid$(client_cmd, 5)) + print new_file if _fileexists(new_file) then if lcase$(right$(new_file, 4)) = ".m3u" then parsem3u new_file, file() @@ -355,7 +375,7 @@ while keyin<>27 end if elseif left$(client_cmd, 5) = "PLAY:" then dim replace_file as string - replace_file = mid$(client_cmd, 6) + replace_file = _trim$(mid$(client_cmd, 6)) if _fileexists(replace_file) then redim file(0) as string if lcase$(right$(replace_file, 4)) = ".m3u" then @@ -363,7 +383,7 @@ while keyin<>27 else file(0) = replace_file end if - i = 0 + i = -1 playnext = 1 end if elseif client_cmd = "GET_PLAYLIST" then From 301a6423dbdb8052cbf40a679bd7b278d7e80056 Mon Sep 17 00:00:00 2001 From: visionmercer <62051836+visionmercer@users.noreply.github.com> Date: Tue, 23 Jun 2026 12:17:59 +0200 Subject: [PATCH 2/2] remove debug print --- cimp.bas | 1 - 1 file changed, 1 deletion(-) diff --git a/cimp.bas b/cimp.bas index e39cc51..3b60a71 100644 --- a/cimp.bas +++ b/cimp.bas @@ -364,7 +364,6 @@ while keyin<>27 elseif left$(client_cmd, 4) = "ADD:" then dim new_file as string new_file = _trim$(mid$(client_cmd, 5)) - print new_file if _fileexists(new_file) then if lcase$(right$(new_file, 4)) = ".m3u" then parsem3u new_file, file()