Ok I've worked out how to do this for columnsui now from the "foosq - final" file. Admittedly I've never used autoit before and it has been a lot of years since I last programmed but I thought I'd put my edited code here for anyone who is looking for it. If anyone can spot any problems in my code please, please tell me. Obviously I should add a thankyou to stuffedspacedog for the original code and everyone who helped in this thread well before I'd even considered getting a squeezebox. You've all just made my hifi a infinitely better!
Code: -------------------- $m_amip = "e:\nextsong.txt" $m_ip = "127.0.0.1" $m_port = 9090 $m_fooh = "[CLASS:{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}]" $m_fooexe = "C:\Program Files (x86)\foobar2000\foobar2000.exe" $m_f = "" $m_r = "0" $m_s = "0" $m_p = "?" $m_t = "" $m_n = "" $m_ne = "" $m_fn = "" $m_sq = "" $m_title = "" $m_idle = 0 $m_ro = "0" $m_seek = 0 $m_elt = "" $m_seekt = 8 $m_0gap = 0 $m_0seek = 0 Run($m_fooexe, "", @SW_MAXIMIZE) WinWait($m_fooh, "", 20) TCPStartup() $m_tcp = TCPConnect($m_ip, $m_port) If @error Then MsgBox(48, "FooSQ Warning", "Squeezebox Server not responding.") Exit EndIf HotKeySet("{NUMPADADD}", "f_vol") HotKeySet("{NUMPADSUB}", "f_vol") HotKeySet("{NUMPADMULT}", "f_vol") While 1 If Not WinExists($m_fooh) Then TCPSend($m_tcp, "stop" & @CRLF & "playlist clear" & @CRLF) Exit EndIf $m_title = WinGetTitle($m_fooh) If $m_title = "0" Then Sleep(300) $m_title = WinGetTitle($m_fooh) If $m_title = "0" Then Sleep(300) $m_title = WinGetTitle($m_fooh) EndIf EndIf If StringRegExp($m_title, "foobar2000") Then $m_idle = 1 Else $m_idle = 0 EndIf If $m_idle = 0 And $m_title <> "" Then $a_tn = StringSplit($m_title, "/") $m_fn = $a_tn[1] $m_r = $a_tn[2] $m_p = $a_tn[3] $m_elt = $a_tn[4] if number($m_seekt) > 0 AND $m_0seek = 0 Then $m_seekv = number($m_r) - number($m_ro) if abs($m_seekv) > $m_seekt AND $m_ro <> "0" AND $m_f = $m_fn Then $m_seek = 1 Endif Endif $m_ro = $m_r if $m_0seek > 0 then $m_0seek = $m_0seek -1 endif Else $m_0gap = 1 $m_0seek = 50 EndIf Select Case $m_idle = 1 And $m_s <> "0" $m_s = "0" TCPSend($m_tcp, "stop" & @CRLF & "playlist clear" & @CRLF) Case $m_idle = 0 And $m_s = "0" $m_s = "1" $m_f = $m_fn $m_sq = StringReplace(StringReplace($m_fn, "\", "/"), " ", "%20") TCPSend($m_tcp, "playlist play " & $m_sq & @CRLF) Case $m_idle = 0 AND $m_s = "1" AND $m_seek = 0 if $m_p = "1" Then $m_s = "2" TCPSend($m_tcp,"pause 1" & @CRLF) Else if $m_f <> $m_fn Then if $m_t = "0" Then if $m_fn <> $m_n Then $m_sq = StringReplace(StringReplace($m_fn, "\", "/"), " ", "%20") TCPSend($m_tcp,"playlist play " & $m_sq & @CRLF) Endif endif $m_t = "" $m_ne = "" $m_f = $m_fn Else if number($m_r) < 12 AND number($m_r) > 1 AND $m_0gap = 0 Then if $m_ne = "" Then $m_amips = FileOpen($m_amip, 0) $m_n = FileReadLine($m_amip) FileClose($m_amip) $m_sq = StringReplace(StringReplace($m_n, "\", "/"), " ", "%20") TCPSend($m_tcp,"playlist insert " & $m_sq & @CRLF) $m_ne = "1" Endif Endif if Number($m_r) < 2 Then $m_t = "0" $m_0gap = 0 Endif Endif EndIf Case $m_idle = 0 And $m_s = "2" If $m_p = "?" Then $m_s = "1" TCPSend($m_tcp, "pause 0" & @CRLF) EndIf Case $m_idle = 0 AND $m_s = "1" AND $m_seek = 1 $m_seek = 0 $m_ne = "" TCPSend($m_tcp,"playlist clear" & @CRLF) TCPSend($m_tcp,"playlist play " & StringReplace(StringReplace($m_fn, "\", "/"), " ", "%20") & @CRLF) TCPSend($m_tcp,"pause 1" & @CRLF) sleep(50) TCPSend($m_tcp, "time " & $m_elt & @CRLF) Sleep(50) TCPSend($m_tcp,"pause 0" & @CRLF) EndSelect Sleep(50) WEnd Func f_vol() Select Case StringInStr(@HotKeyPressed, "{NUMPADADD}") TCPSend($m_tcp, "mixer volume +5" & @CRLF) Case StringInStr(@HotKeyPressed, "{NUMPADSUB}") TCPSend($m_tcp, "mixer volume -5" & @CRLF) Case StringInStr(@HotKeyPressed, "{NUMPADMULT}") TCPSend($m_tcp, "mixer volume 0" & @CRLF) EndSelect EndFunc -------------------- I should note straight away that I changed the path for my foobar install and amip output in order to overcome problems I was having so if you want to use it you probably should revert to whatever you prefer. I think the only other changes I've made were columnsui related, which were the classid and and the foobar title when no program is playing. -- annoyingmouse ------------------------------------------------------------------------ annoyingmouse's Profile: http://forums.slimdevices.com/member.php?userid=49704 View this thread: http://forums.slimdevices.com/showthread.php?t=79575 _______________________________________________ discuss mailing list discuss@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/discuss