From deefa7415c4e18bc4d711f72554c5106823d23e0 Mon Sep 17 00:00:00 2001 From: kichik Date: Sat, 10 May 2003 21:45:48 +0000 Subject: [PATCH] Sound loops git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2544 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/BgImage/BgImage.cpp | 14 +++++++++----- Contrib/BgImage/BgImage.txt | 5 ++++- Plugins/BgImage.dll | Bin 7168 -> 7168 bytes 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Contrib/BgImage/BgImage.cpp b/Contrib/BgImage/BgImage.cpp index 8a1cc10d..c230c1a1 100644 --- a/Contrib/BgImage/BgImage.cpp +++ b/Contrib/BgImage/BgImage.cpp @@ -323,14 +323,20 @@ NSISFunc(Destroy) { } NSISFunc(Sound) { - DWORD flags = SND_FILENAME|SND_NODEFAULT|SND_NOWAIT; + char szLoop[] = {'/', 'L', 'O', 'O', 'P', 0}; + + DWORD flags = SND_FILENAME | SND_NODEFAULT; g_stacktop=stacktop; popstring(szTemp); if (lstrcmpi(szTemp, "/WAIT")) flags |= SND_ASYNC; else popstring(szTemp); - PlaySound(szTemp, 0, flags); + if (!lstrcmpi(szTemp, szLoop)) { + flags |= SND_LOOP; + popstring(szTemp); + } + PlaySound(lstrcmpi(szTemp, "/STOP") ? szTemp : 0, 0, flags); } LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { @@ -396,11 +402,9 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) if (img->iType == MIL_TEXT) { SetBkMode(hdc, TRANSPARENT); - HFONT hOldFont; SetTextColor(hdc, img->cTextColor); - hOldFont = (HFONT)SelectObject(hdc, img->hFont); + SelectObject(hdc, img->hFont); DrawText(hdc, img->szText, -1, &img->rPos, DT_TOP | DT_LEFT | DT_NOPREFIX | DT_WORDBREAK); - SelectObject(hdc, hOldFont); } else if (img->iType == MIL_BITMAP) { HDC cdc = CreateCompatibleDC(hdc); diff --git a/Contrib/BgImage/BgImage.txt b/Contrib/BgImage/BgImage.txt index 69e0789d..d6562d1c 100644 --- a/Contrib/BgImage/BgImage.txt +++ b/Contrib/BgImage/BgImage.txt @@ -69,9 +69,12 @@ Destroy Destroys the current background window Destroy calls Clear automatically -Sound [/WAIT] path_to_wav +Sound [/WAIT|/LOOP] path_to_wav +Sound /STOP Plays a wave file Use /WAIT to wait for the sound to finish playing + Use /LOOP to loop the sound + Use Sound /STOP to stop the loop SetReturn on|off Enable return values from SetBg, AddImage and AddText diff --git a/Plugins/BgImage.dll b/Plugins/BgImage.dll index e77cad8dd45aa01355f533f830fd93a0cb0b5567..2d371b0e3b9d9d2e38fd3011b876d65e9e67f3b0 100644 GIT binary patch delta 1803 zcmYjSeQXnD7=Q29Zl!eDMSHWzm}3+-*l;6T?_);^0=EtVp}28nf%1eit|)B{`Y2yl1h%>5 z)>c<>#POs0wOGcH%2m-+H5kg_B3O;E2fXHWd`$>3RgW@|ssuFQZRxBe+~_QpkR%6$ zGyAMT*Jg&ZO5KI8p&c+bBI6K4NPT>gCOnjX7j{jRg0ekqgN{x3XlM)`C{Hk+P#3H* zdNt0N!}O|?jiGw9wA&#Y;rl=}!jrhp34)iD-}>A=JKyIeB!zBl7M}=2118ppyKog+ zq|iXKtN*36@m4{Lgc9W&U@IuhUq%=`8DT$I#W@;6G7X_!Op8&z1!$1+m=(!h(1fU| zj+<-85;Kk5|9#7j3xqO3fhRK;OEBQZ(n0=2`LT7O$>SbSLNkQCvh#7S?6()RA$#an zw4R14tsk-rR$#+O>vBDe{Ufb%5}Tvxy`E@%8ReHjG&JP&YaILN^pjr+sMBea7}?2k zYf;W~Ou*WlQ_O6%+H%CQxQCF&j^4%t*;#JfIcC&yMymR5s!UU2&tI#8W+YKJ2tuu!ZBT`^5g@4V61njPdlxp@~5cLaC)v1j@=ds%z z-AkaGiUG?2Dxcl#sFqJtVR)e8?A4B{WSR=CjEH|AQsl#c%v>J;r)_KYjIxDTY|0;m zI>bFRl#vdD)UVIS4iGJ7hSz|6&bD^WsAxk=vZbkCqahqd7|syRbY?!Q?rItiLdMH} zu+rdTII{gVr4&-6AsqRZgE%XEJ5ZYXH<)AV*PE)pz4;NT*PPjnX=(L-MOvL$lU5(B zOREpzHyJ&{wh@*%N6pTEK&ctVQ5wc=KeW=~AOz#dWWM;$QX)$~D+ z{U?I;anf=*!@f5>yLVnXO8HO0$(E)~-(ev7*iOw%coZkAM5BJd=S~Dnm8(OxKH_#q zAw8?fJFC=5`*Etm+hN20(Z243c;7I0*Ge)Xo?r!S4Vy9DK_=v#<@1tD*X%^qStx0UsMr_N=YCD~GVr zdn(}IT_kb%Vo1|YrIv}0{+#82ibLN$1leV|@kA=lh#M-myBjU}AjWhPCm6RhbJ2TV zPjEc1=R)6z7kGN}Pb9C$eH*k6;MbckBS02ggEQxpF~A4BOy%CYH_15ivqhM_WY`b?i+!54AW(~pMKQF3dO=Ap<37~>=q6Q zN#PUWjL;_x2-k#P1y=Nn#bT*gB}T-xVuSdixLw>K?iUYdA;_u>3 zaZ=2c%BAI!Ch5{K=>zGk^sRJL`bXmAV)+%>l#j_L%8%cjfaw;PvMa(YyOHbFI4WyP4JteB_`5ICjK zAKmLYk=6*6@1h<^tVM~>I6|7z4_Q`Z{)6B(Uj<-SbQmx`>tW%WaAAIe@q`bNwJ z6u-zxbbWC(H+gV{Br)|o0M#7tD!0{rV{B48i>moeRL0Ma-IRh@7Im}qx7SP-y@ z7_bZgdF)mPDtQXR@BotR-~t?DSAy zdTJ7$@hrw8-vl_z`dAiD&v>TH{|0dRkq7kmNx{S~Zro^}(HMYv#R8a(?vY+#PPjM% z!Xw9lVL0yq;@y1&h^D=qe^t^4LhSV@2q$8pd|- zSOAN3k)+{=F+H_qdLck|#pN(HN4$LyGIj~LVVX0tW=v}DK}~-UWBLOp5?xxQXx)1v zIO;ud?#%EckTY5@6YmM(Pe2`p&uG1hjQe%e>zPqIR^Zphq(k?{&J6Qr>>+>;Cb+%{ z?r5%prabS=Li;UUE%x$z^>v$^a&-ko}R+3KEcd=2N82sucF>5n?c!h-ya9FXheCGrOO zZTSPaLpEe8ACi0J%kmBRru>iWQc4s_DO0MI8YQAEQBukVWsB0TbSQ?hU-?SODJPW+ zimg0WrbJ$fBqPm{k0QGwxybRzrN~I6MqQ<@Q#Y&I)lT(*dQ3f~{-g@^-ugxL>+7qh eX$!RmZKbwWds9nm+qIqA0qv;v