home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 2000 February / Macworld (2000-02).dmg / Updaters / WhiteCap 3.2.2.sea / WhiteCap 3.2.2 / WhiteCap Source / mainWinamp.cpp < prev    next >
MacBinary  |  1999-10-19  |  12.3 KB  |  [TEXT/CWIE]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: mainWinamp.cpp

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Tue Oct 19 03:16:25 1999, modified Tue Oct 19 03:16:25 1999, creator 'CWIE', type ASCII, 11848 bytes "mainWinamp.cpp" , at 0x2ec8 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0e 6d 61 69 6e 57 69 | 6e 61 6d 70 2e 63 70 70 |..mainWi|namp.cpp|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 2e 48 00 | 00 01 9a b4 31 cb 49 b4 |......H.|....1.I.|
|00000060| 31 cb 49 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |1.I.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 48 f7 00 00 |........|....H...|
|00000080| 2f 2f 20 57 69 6e 61 6d | 70 20 74 65 73 74 20 76 |// Winam|p test v|
|00000090| 69 73 75 61 6c 69 7a 61 | 74 69 6f 6e 20 6c 69 62 |isualiza|tion lib|
|000000a0| 72 61 72 79 20 76 31 2e | 30 0d 0d 0d 23 69 6e 63 |rary v1.|0...#inc|
|000000b0| 6c 75 64 65 20 3c 77 69 | 6e 64 6f 77 73 2e 68 3e |lude <wi|ndows.h>|
|000000c0| 0d 0d 23 69 6e 63 6c 75 | 64 65 20 22 57 68 69 74 |..#inclu|de "Whit|
|000000d0| 65 43 61 70 2e 68 22 0d | 23 69 6e 63 6c 75 64 65 |eCap.h".|#include|
|000000e0| 20 22 45 67 4f 53 55 74 | 69 6c 73 2e 68 22 0d 23 | "EgOSUt|ils.h".#|
|000000f0| 69 6e 63 6c 75 64 65 20 | 22 52 65 63 74 55 74 69 |include |"RectUti|
|00000100| 6c 73 2e 68 22 0d 23 69 | 6e 63 6c 75 64 65 20 22 |ls.h".#i|nclude "|
|00000110| 43 45 67 46 69 6c 65 53 | 70 65 63 2e 68 22 0d 0d |CEgFileS|pec.h"..|
|00000120| 23 69 6e 63 6c 75 64 65 | 20 22 76 69 73 2e 68 22 |#include| "vis.h"|
|00000130| 0d 0d 0d 63 68 61 72 20 | 73 7a 41 70 70 4e 61 6d |...char |szAppNam|
|00000140| 65 5b 5d 20 3d 20 22 57 | 68 69 74 65 43 61 70 22 |e[] = "W|hiteCap"|
|00000150| 3b 20 2f 2f 20 4f 75 72 | 20 77 69 6e 64 6f 77 20 |; // Our| window |
|00000160| 63 6c 61 73 73 2c 20 65 | 74 63 0d 0d 0d 2f 2f 20 |class, e|tc...// |
|00000170| 72 65 74 75 72 6e 73 20 | 61 20 77 69 6e 61 6d 70 |returns |a winamp|
|00000180| 56 69 73 4d 6f 64 75 6c | 65 20 77 68 65 6e 20 72 |VisModul|e when r|
|00000190| 65 71 75 65 73 74 65 64 | 2e 20 55 73 65 64 20 69 |equested|. Used i|
|000001a0| 6e 20 68 64 72 2c 20 62 | 65 6c 6f 77 0d 77 69 6e |n hdr, b|elow.win|
|000001b0| 61 6d 70 56 69 73 4d 6f | 64 75 6c 65 20 2a 67 65 |ampVisMo|dule *ge|
|000001c0| 74 4d 6f 64 75 6c 65 28 | 69 6e 74 20 77 68 69 63 |tModule(|int whic|
|000001d0| 68 29 3b 0d 0d 2f 2f 20 | 22 6d 65 6d 62 65 72 22 |h);..// |"member"|
|000001e0| 20 66 75 6e 63 74 69 6f | 6e 73 0d 76 6f 69 64 20 | functio|ns.void |
|000001f0| 63 6f 6e 66 69 67 28 73 | 74 72 75 63 74 20 77 69 |config(s|truct wi|
|00000200| 6e 61 6d 70 56 69 73 4d | 6f 64 75 6c 65 20 2a 74 |nampVisM|odule *t|
|00000210| 68 69 73 5f 6d 6f 64 29 | 3b 20 2f 2f 20 63 6f 6e |his_mod)|; // con|
|00000220| 66 69 67 75 72 61 74 69 | 6f 6e 20 64 69 61 6c 6f |figurati|on dialo|
|00000230| 67 0d 69 6e 74 20 69 6e | 69 74 28 73 74 72 75 63 |g.int in|it(struc|
|00000240| 74 20 77 69 6e 61 6d 70 | 56 69 73 4d 6f 64 75 6c |t winamp|VisModul|
|00000250| 65 20 2a 74 68 69 73 5f | 6d 6f 64 29 3b 09 20 20 |e *this_|mod);. |
|00000260| 20 2f 2f 20 69 6e 69 74 | 69 61 6c 69 7a 61 74 69 | // init|ializati|
|00000270| 6f 6e 20 66 6f 72 20 6d | 6f 64 75 6c 65 0d 69 6e |on for m|odule.in|
|00000280| 74 20 47 6f 28 73 74 72 | 75 63 74 20 77 69 6e 61 |t Go(str|uct wina|
|00000290| 6d 70 56 69 73 4d 6f 64 | 75 6c 65 20 2a 74 68 69 |mpVisMod|ule *thi|
|000002a0| 73 5f 6d 6f 64 29 3b 20 | 20 2f 2f 20 72 65 6e 64 |s_mod); | // rend|
|000002b0| 65 72 69 6e 67 20 66 6f | 72 20 6d 6f 64 75 6c 65 |ering fo|r module|
|000002c0| 20 31 0d 76 6f 69 64 20 | 71 75 69 74 28 73 74 72 | 1.void |quit(str|
|000002d0| 75 63 74 20 77 69 6e 61 | 6d 70 56 69 73 4d 6f 64 |uct wina|mpVisMod|
|000002e0| 75 6c 65 20 2a 74 68 69 | 73 5f 6d 6f 64 29 3b 20 |ule *thi|s_mod); |
|000002f0| 20 20 2f 2f 20 64 65 69 | 6e 69 74 69 61 6c 69 7a | // dei|nitializ|
|00000300| 61 74 69 6f 6e 20 66 6f | 72 20 6d 6f 64 75 6c 65 |ation fo|r module|
|00000310| 0d 0d 2f 2f 20 6f 75 72 | 20 77 69 6e 64 6f 77 20 |..// our| window |
|00000320| 70 72 6f 63 65 64 75 72 | 65 0d 4c 52 45 53 55 4c |procedur|e.LRESUL|
|00000330| 54 20 43 41 4c 4c 42 41 | 43 4b 20 57 6e 64 50 72 |T CALLBA|CK WndPr|
|00000340| 6f 63 28 48 57 4e 44 20 | 68 77 6e 64 2c 20 55 49 |oc(HWND |hwnd, UI|
|00000350| 4e 54 20 6d 65 73 73 61 | 67 65 2c 20 57 50 41 52 |NT messa|ge, WPAR|
|00000360| 41 4d 20 77 50 61 72 61 | 6d 2c 20 4c 50 41 52 41 |AM wPara|m, LPARA|
|00000370| 4d 20 6c 50 61 72 61 6d | 29 3b 0d 48 57 4e 44 20 |M lParam|);.HWND |
|00000380| 68 4d 61 69 6e 57 6e 64 | 3b 20 2f 2f 20 6d 61 69 |hMainWnd|; // mai|
|00000390| 6e 20 77 69 6e 64 6f 77 | 20 68 61 6e 64 6c 65 0d |n window| handle.|
|000003a0| 0d 0d 0d 2f 2f 20 4d 6f | 64 75 6c 65 20 68 65 61 |...// Mo|dule hea|
|000003b0| 64 65 72 2c 20 69 6e 63 | 6c 75 64 65 73 20 76 65 |der, inc|ludes ve|
|000003c0| 72 73 69 6f 6e 2c 20 64 | 65 73 63 72 69 70 74 69 |rsion, d|escripti|
|000003d0| 6f 6e 2c 20 61 6e 64 20 | 61 64 64 72 65 73 73 20 |on, and |address |
|000003e0| 6f 66 20 74 68 65 20 6d | 6f 64 75 6c 65 20 72 65 |of the m|odule re|
|000003f0| 74 72 69 65 76 65 72 20 | 66 75 6e 63 74 69 6f 6e |triever |function|
|00000400| 0d 77 69 6e 61 6d 70 56 | 69 73 48 65 61 64 65 72 |.winampV|isHeader|
|00000410| 20 68 64 72 20 3d 20 7b | 20 56 49 53 5f 48 44 52 | hdr = {| VIS_HDR|
|00000420| 56 45 52 2c 20 22 57 68 | 69 74 65 43 61 70 22 2c |VER, "Wh|iteCap",|
|00000430| 20 67 65 74 4d 6f 64 75 | 6c 65 20 7d 3b 0d 0d 0d | getModu|le };...|
|00000440| 0d 63 6c 61 73 73 20 57 | 68 69 74 65 43 61 70 3b |.class W|hiteCap;|
|00000450| 0d 0d 73 74 61 74 69 63 | 20 57 68 69 74 65 43 61 |..static| WhiteCa|
|00000460| 70 2a 09 09 67 57 43 20 | 3d 20 4e 55 4c 4c 3b 0d |p*..gWC |= NULL;.|
|00000470| 0d 0d 0d 77 69 6e 61 6d | 70 56 69 73 4d 6f 64 75 |...winam|pVisModu|
|00000480| 6c 65 20 67 57 43 4d 6f | 64 75 6c 65 20 3d 0d 7b |le gWCMo|dule =.{|
|00000490| 0d 09 22 57 68 69 74 65 | 43 61 70 22 2c 0d 09 4e |.."White|Cap",..N|
|000004a0| 55 4c 4c 2c 09 2f 2f 20 | 68 77 6e 64 50 61 72 65 |ULL,.// |hwndPare|
|000004b0| 6e 74 0d 09 4e 55 4c 4c | 2c 09 2f 2f 20 68 44 6c |nt..NULL|,.// hDl|
|000004c0| 6c 49 6e 73 74 61 6e 63 | 65 0d 09 30 2c 09 09 2f |lInstanc|e..0,../|
|000004d0| 2f 20 73 52 61 74 65 0d | 09 30 2c 09 09 2f 2f 20 |/ sRate.|.0,..// |
|000004e0| 6e 43 68 0d 09 31 35 2c | 09 09 2f 2f 20 6c 61 74 |nCh..15,|..// lat|
|000004f0| 65 6e 63 79 4d 53 0d 09 | 32 2c 09 09 2f 2f 20 64 |encyMS..|2,..// d|
|00000500| 65 6c 61 79 4d 53 0d 09 | 32 2c 09 09 2f 2f 20 73 |elayMS..|2,..// s|
|00000510| 70 65 63 74 72 75 6d 4e | 63 68 0d 09 30 2c 09 09 |pectrumN|ch..0,..|
|00000520| 2f 2f 20 77 61 76 65 66 | 6f 72 6d 4e 63 68 0d 09 |// wavef|ormNch..|
|00000530| 7b 20 30 2c 20 7d 2c 09 | 2f 2f 20 73 70 65 63 74 |{ 0, },.|// spect|
|00000540| 72 75 6d 44 61 74 61 0d | 09 7b 20 30 2c 20 7d 2c |rumData.|.{ 0, },|
|00000550| 09 2f 2f 20 77 61 76 65 | 66 6f 72 6d 44 61 74 61 |.// wave|formData|
|00000560| 0d 09 63 6f 6e 66 69 67 | 2c 0d 09 69 6e 69 74 2c |..config|,..init,|
|00000570| 0d 09 47 6f 2c 20 0d 09 | 71 75 69 74 0d 7d 3b 0d |..Go, ..|quit.};.|
|00000580| 0d 0d 0d 0d 0d 2f 2f 20 | 74 68 69 73 20 69 73 20 |.....// |this is |
|00000590| 74 68 65 20 6f 6e 6c 79 | 20 65 78 70 6f 72 74 65 |the only| exporte|
|000005a0| 64 20 73 79 6d 62 6f 6c | 2e 20 72 65 74 75 72 6e |d symbol|. return|
|000005b0| 73 20 6f 75 72 20 6d 61 | 69 6e 20 68 65 61 64 65 |s our ma|in heade|
|000005c0| 72 2e 0d 2f 2f 20 69 66 | 20 79 6f 75 20 61 72 65 |r..// if| you are|
|000005d0| 20 63 6f 6d 70 69 6c 69 | 6e 67 20 43 2b 2b 2c 20 | compili|ng C++, |
|000005e0| 74 68 65 20 65 78 74 65 | 72 6e 20 22 43 22 20 7b |the exte|rn "C" {|
|000005f0| 20 69 73 20 6e 65 63 65 | 73 73 61 72 79 2c 20 73 | is nece|ssary, s|
|00000600| 6f 20 77 65 20 6a 75 73 | 74 20 23 69 66 64 65 66 |o we jus|t #ifdef|
|00000610| 20 69 74 0d 23 69 66 64 | 65 66 20 5f 5f 63 70 6c | it.#ifd|ef __cpl|
|00000620| 75 73 70 6c 75 73 0d 65 | 78 74 65 72 6e 20 22 43 |usplus.e|xtern "C|
|00000630| 22 20 7b 0d 23 65 6e 64 | 69 66 0d 5f 5f 64 65 63 |" {.#end|if.__dec|
|00000640| 6c 73 70 65 63 28 20 64 | 6c 6c 65 78 70 6f 72 74 |lspec( d|llexport|
|00000650| 20 29 20 77 69 6e 61 6d | 70 56 69 73 48 65 61 64 | ) winam|pVisHead|
|00000660| 65 72 20 2a 77 69 6e 61 | 6d 70 56 69 73 47 65 74 |er *wina|mpVisGet|
|00000670| 48 65 61 64 65 72 28 29 | 0d 7b 0d 09 72 65 74 75 |Header()|.{..retu|
|00000680| 72 6e 20 26 68 64 72 3b | 0d 7d 0d 23 69 66 64 65 |rn &hdr;|.}.#ifde|
|00000690| 66 20 5f 5f 63 70 6c 75 | 73 70 6c 75 73 0d 7d 0d |f __cplu|splus.}.|
|000006a0| 23 65 6e 64 69 66 0d 0d | 2f 2f 20 67 65 74 6d 6f |#endif..|// getmo|
|000006b0| 64 75 6c 65 20 72 6f 75 | 74 69 6e 65 20 66 72 6f |dule rou|tine fro|
|000006c0| 6d 20 74 68 65 20 6d 61 | 69 6e 20 68 65 61 64 65 |m the ma|in heade|
|000006d0| 72 2e 20 52 65 74 75 72 | 6e 73 20 4e 55 4c 4c 20 |r. Retur|ns NULL |
|000006e0| 69 66 20 61 6e 20 69 6e | 76 61 6c 69 64 20 6d 6f |if an in|valid mo|
|000006f0| 64 75 6c 65 20 77 61 73 | 20 72 65 71 75 65 73 74 |dule was| request|
|00000700| 65 64 2c 0d 2f 2f 20 6f | 74 68 65 72 77 69 73 65 |ed,.// o|therwise|
|00000710| 20 72 65 74 75 72 6e 73 | 20 65 69 74 68 65 72 20 | returns| either |
|00000720| 6d 6f 64 31 2c 20 6d 6f | 64 32 20 6f 72 20 6d 6f |mod1, mo|d2 or mo|
|00000730| 64 33 20 64 65 70 65 6e | 64 69 6e 67 20 6f 6e 20 |d3 depen|ding on |
|00000740| 27 77 68 69 63 68 27 2e | 0d 77 69 6e 61 6d 70 56 |'which'.|.winampV|
|00000750| 69 73 4d 6f 64 75 6c 65 | 20 2a 67 65 74 4d 6f 64 |isModule| *getMod|
|00000760| 75 6c 65 28 69 6e 74 20 | 69 6e 57 68 69 63 68 20 |ule(int |inWhich |
|00000770| 29 0d 7b 0d 0d 09 09 0d | 09 69 66 20 28 20 69 6e |).{.....|.if ( in|
|00000780| 57 68 69 63 68 20 3d 3d | 20 30 20 29 09 0d 09 09 |Which ==| 0 )....|
|00000790| 72 65 74 75 72 6e 20 26 | 67 57 43 4d 6f 64 75 6c |return &|gWCModul|
|000007a0| 65 3b 0d 09 65 6c 73 65 | 0d 09 09 72 65 74 75 72 |e;..else|...retur|
|000007b0| 6e 20 4e 55 4c 4c 3b 0d | 7d 0d 0d 2f 2f 20 63 6f |n NULL;.|}..// co|
|000007c0| 6e 66 69 67 75 72 61 74 | 69 6f 6e 2e 20 50 61 73 |nfigurat|ion. Pas|
|000007d0| 73 65 64 20 74 68 69 73 | 5f 6d 6f 64 2c 20 61 73 |sed this|_mod, as|
|000007e0| 20 61 20 22 74 68 69 73 | 22 20 70 61 72 61 6d 65 | a "this|" parame|
|000007f0| 74 65 72 2e 20 41 6c 6c | 6f 77 73 20 79 6f 75 20 |ter. All|ows you |
|00000800| 74 6f 20 6d 61 6b 65 20 | 6f 6e 65 20 63 6f 6e 66 |to make |one conf|
|00000810| 69 67 75 72 61 74 69 6f | 6e 0d 2f 2f 20 66 75 6e |iguratio|n.// fun|
|00000820| 63 74 69 6f 6e 20 74 68 | 61 74 20 73 68 61 72 65 |ction th|at share|
|00000830| 73 20 63 6f 64 65 20 66 | 6f 72 20 61 6c 6c 20 79 |s code f|or all y|
|00000840| 6f 75 72 20 6d 6f 64 75 | 6c 65 73 20 28 79 6f 75 |our modu|les (you|
|00000850| 20 64 6f 6e 27 74 20 48 | 41 56 45 20 74 6f 20 75 | don't H|AVE to u|
|00000860| 73 65 20 69 74 20 74 68 | 6f 75 67 68 2c 20 79 6f |se it th|ough, yo|
|00000870| 75 20 63 61 6e 20 6d 61 | 6b 65 0d 2f 2f 20 63 6f |u can ma|ke.// co|
|00000880| 6e 66 69 67 31 28 29 2c | 20 63 6f 6e 66 69 67 32 |nfig1(),| config2|
|00000890| 28 29 2c 20 65 74 63 2e | 2e 2e 29 0d 76 6f 69 64 |(), etc.|..).void|
|000008a0| 20 63 6f 6e 66 69 67 28 | 73 74 72 75 63 74 20 77 | config(|struct w|
|000008b0| 69 6e 61 6d 70 56 69 73 | 4d 6f 64 75 6c 65 20 2a |inampVis|Module *|
|000008c0| 74 68 69 73 5f 6d 6f 64 | 29 0d 7b 0d 09 4d 65 73 |this_mod|).{..Mes|
|000008d0| 73 61 67 65 42 6f 78 28 | 74 68 69 73 5f 6d 6f 64 |sageBox(|this_mod|
|000008e0| 2d 3e 68 77 6e 64 50 61 | 72 65 6e 74 2c 22 52 69 |->hwndPa|rent,"Ri|
|000008f0| 67 68 74 20 63 6c 69 63 | 6b 20 6f 6e 20 74 68 65 |ght clic|k on the|
|00000900| 20 57 68 69 74 65 43 61 | 70 20 77 69 6e 64 6f 77 | WhiteCa|p window|
|00000910| 20 6f 72 20 75 73 65 20 | 74 68 65 20 6b 65 79 62 | or use |the keyb|
|00000920| 6f 61 72 64 20 74 6f 20 | 63 68 61 6e 67 65 20 63 |oard to |change c|
|00000930| 6f 6e 66 69 67 73 2e 5c | 6e 22 0d 09 09 09 09 09 |onfigs.\|n"......|
|00000940| 09 09 09 09 22 42 65 20 | 73 75 72 65 20 74 6f 20 |...."Be |sure to |
|00000950| 72 65 61 64 20 74 68 65 | 20 44 4f 43 20 66 69 6c |read the| DOC fil|
|00000960| 65 20 74 6f 20 65 78 70 | 6c 6f 72 65 20 57 68 69 |e to exp|lore Whi|
|00000970| 74 65 43 61 70 5c 6e 22 | 2c 20 22 22 2c 20 4d 42 |teCap\n"|, "", MB|
|00000980| 5f 4f 4b 29 3b 0d 7d 0d | 0d 2f 2f 20 69 6e 69 74 |_OK);.}.|.// init|
|00000990| 69 61 6c 69 7a 61 74 69 | 6f 6e 2e 20 52 65 67 69 |ializati|on. Regi|
|000009a0| 73 74 65 72 73 20 6f 75 | 72 20 77 69 6e 64 6f 77 |sters ou|r window|
|000009b0| 20 63 6c 61 73 73 2c 20 | 63 72 65 61 74 65 73 20 | class, |creates |
|000009c0| 6f 75 72 20 77 69 6e 64 | 6f 77 2c 20 65 74 63 2e |our wind|ow, etc.|
|000009d0| 20 41 67 61 69 6e 2c 20 | 74 68 69 73 20 6f 6e 65 | Again, |this one|
|000009e0| 20 77 6f 72 6b 73 20 66 | 6f 72 0d 2f 2f 20 62 6f | works f|or.// bo|
|000009f0| 74 68 20 6d 6f 64 75 6c | 65 73 2c 20 62 75 74 20 |th modul|es, but |
|00000a00| 79 6f 75 20 63 6f 75 6c | 64 20 6d 61 6b 65 20 69 |you coul|d make i|
|00000a10| 6e 69 74 31 28 29 20 61 | 6e 64 20 69 6e 69 74 32 |nit1() a|nd init2|
|00000a20| 28 29 2e 2e 2e 0d 2f 2f | 20 72 65 74 75 72 6e 73 |()....//| returns|
|00000a30| 20 30 20 6f 6e 20 73 75 | 63 63 65 73 73 2c 20 31 | 0 on su|ccess, 1|
|00000a40| 20 6f 6e 20 66 61 69 6c | 75 72 65 2e 0d 69 6e 74 | on fail|ure..int|
|00000a50| 20 69 6e 69 74 28 73 74 | 72 75 63 74 20 77 69 6e | init(st|ruct win|
|00000a60| 61 6d 70 56 69 73 4d 6f | 64 75 6c 65 20 2a 74 68 |ampVisMo|dule *th|
|00000a70| 69 73 5f 6d 6f 64 29 0d | 7b 0d 0d 09 45 67 4f 53 |is_mod).|{...EgOS|
|00000a80| 55 74 69 6c 73 3a 3a 49 | 6e 69 74 69 61 6c 69 7a |Utils::I|nitializ|
|00000a90| 65 28 20 74 68 69 73 5f | 6d 6f 64 2d 3e 68 44 6c |e( this_|mod->hDl|
|00000aa0| 6c 49 6e 73 74 61 6e 63 | 65 20 29 3b 0d 09 50 69 |lInstanc|e );..Pi|
|00000ab0| 78 50 6f 72 74 3a 3a 53 | 74 61 72 74 75 70 28 29 |xPort::S|tartup()|
|00000ac0| 3b 0d 0d 09 0d 09 7b 09 | 2f 2f 20 52 65 67 69 73 |;.....{.|// Regis|
|00000ad0| 74 65 72 20 6f 75 72 20 | 77 69 6e 64 6f 77 20 63 |ter our |window c|
|00000ae0| 6c 61 73 73 0d 09 09 57 | 4e 44 43 4c 41 53 53 20 |lass...W|NDCLASS |
|00000af0| 77 63 3b 0d 09 09 6d 65 | 6d 73 65 74 28 26 77 63 |wc;...me|mset(&wc|
|00000b00| 2c 30 2c 73 69 7a 65 6f | 66 28 77 63 29 29 3b 0d |,0,sizeo|f(wc));.|
|00000b10| 09 09 77 63 2e 6c 70 66 | 6e 57 6e 64 50 72 6f 63 |..wc.lpf|nWndProc|
|00000b20| 20 3d 20 57 6e 64 50 72 | 6f 63 3b 09 09 09 09 2f | = WndPr|oc;..../|
|00000b30| 2f 20 6f 75 72 20 77 69 | 6e 64 6f 77 20 70 72 6f |/ our wi|ndow pro|
|00000b40| 63 65 64 75 72 65 0d 09 | 09 77 63 2e 68 49 6e 73 |cedure..|.wc.hIns|
|00000b50| 74 61 6e 63 65 20 3d 20 | 74 68 69 73 5f 6d 6f 64 |tance = |this_mod|
|00000b60| 2d 3e 68 44 6c 6c 49 6e | 73 74 61 6e 63 65 3b 09 |->hDllIn|stance;.|
|00000b70| 2f 2f 20 68 49 6e 73 74 | 61 6e 63 65 20 6f 66 20 |// hInst|ance of |
|00000b80| 44 4c 4c 0d 09 09 77 63 | 2e 6c 70 73 7a 43 6c 61 |DLL...wc|.lpszCla|
|00000b90| 73 73 4e 61 6d 65 20 3d | 20 73 7a 41 70 70 4e 61 |ssName =| szAppNa|
|00000ba0| 6d 65 3b 09 09 09 2f 2f | 20 6f 75 72 20 77 69 6e |me;...//| our win|
|00000bb0| 64 6f 77 20 63 6c 61 73 | 73 20 6e 61 6d 65 0d 09 |dow clas|s name..|
|00000bc0| 09 77 63 2e 68 43 75 72 | 73 6f 72 20 3d 20 3a 3a |.wc.hCur|sor = ::|
|00000bd0| 4c 6f 61 64 43 75 72 73 | 6f 72 28 20 4e 55 4c 4c |LoadCurs|or( NULL|
|00000be0| 2c 20 49 44 43 5f 41 52 | 52 4f 57 20 29 3b 0d 09 |, IDC_AR|ROW );..|
|00000bf0| 09 2f 2f 77 63 2e 68 62 | 72 42 61 63 6b 67 72 6f |.//wc.hb|rBackgro|
|00000c00| 75 6e 64 20 3d 20 3a 3a | 47 65 74 53 79 73 43 6f |und = ::|GetSysCo|
|00000c10| 6c 6f 72 42 72 75 73 68 | 28 20 43 4f 4c 4f 52 5f |lorBrush|( COLOR_|
|00000c20| 42 41 43 4b 47 52 4f 55 | 4e 44 20 2b 20 31 20 29 |BACKGROU|ND + 1 )|
|00000c30| 3b 0d 09 09 77 63 2e 73 | 74 79 6c 65 20 3d 20 43 |;...wc.s|tyle = C|
|00000c40| 53 5f 42 59 54 45 41 4c | 49 47 4e 43 4c 49 45 4e |S_BYTEAL|IGNCLIEN|
|00000c50| 54 3b 0d 09 09 0d 09 09 | 3a 3a 52 65 67 69 73 74 |T;......|::Regist|
|00000c60| 65 72 43 6c 61 73 73 28 | 26 77 63 29 3b 0d 09 7d |erClass(|&wc);..}|
|00000c70| 0d 0d 09 2f 2f 20 4d 61 | 6b 65 20 41 20 57 68 69 |...// Ma|ke A Whi|
|00000c80| 74 65 43 61 70 21 0d 2f | 2a 09 63 68 61 72 20 6e |teCap!./|*.char n|
|00000c90| 61 6d 65 5b 20 38 30 30 | 20 5d 3b 0d 09 3a 3a 47 |ame[ 800| ];..::G|
|00000ca0| 65 74 4d 6f 64 75 6c 65 | 46 69 6c 65 4e 61 6d 65 |etModule|FileName|
|00000cb0| 28 20 74 68 69 73 5f 6d | 6f 64 2d 3e 68 44 6c 6c |( this_m|od->hDll|
|00000cc0| 49 6e 73 74 61 6e 63 65 | 2c 20 6e 61 6d 65 2c 20 |Instance|, name, |
|00000cd0| 37 39 39 20 29 3b 0d 09 | 55 74 69 6c 53 74 72 20 |799 );..|UtilStr |
|00000ce0| 66 6e 61 6d 65 28 20 6e | 61 6d 65 20 29 3b 0d 09 |fname( n|ame );..|
|00000cf0| 66 6e 61 6d 65 2e 4b 65 | 65 70 28 20 66 6e 61 6d |fname.Ke|ep( fnam|
|00000d00| 65 2e 46 69 6e 64 4c 61 | 73 74 49 6e 73 74 61 6e |e.FindLa|stInstan|
|00000d10| 63 65 4f 66 28 20 27 5c | 5c 27 20 29 20 29 3b 0d |ceOf( '\|\' ) );.|
|00000d20| 09 66 6e 61 6d 65 2e 41 | 70 70 65 6e 64 28 20 22 |.fname.A|ppend( "|
|00000d30| 57 68 69 74 65 43 61 70 | 20 43 6f 6e 66 69 67 73 |WhiteCap| Configs|
|00000d40| 5c 5c 22 20 29 3b 0d 0d | 09 43 45 67 46 69 6c 65 |\\" );..|.CEgFile|
|00000d50| 53 70 65 63 20 66 6f 6c | 64 65 72 3b 0d 09 66 6f |Spec fol|der;..fo|
|00000d60| 6c 64 65 72 2e 41 73 73 | 69 67 6e 46 6f 6c 64 65 |lder.Ass|ignFolde|
|00000d70| 72 28 20 66 6e 61 6d 65 | 2e 67 65 74 43 53 74 72 |r( fname|.getCStr|
|00000d80| 28 29 20 29 3b 0d 09 0d | 2a 2f 0d 09 43 45 67 46 |() );...|*/..CEgF|
|00000d90| 69 6c 65 53 70 65 63 20 | 66 6f 6c 64 65 72 3b 0d |ileSpec |folder;.|
|00000da0| 09 66 6f 6c 64 65 72 2e | 41 73 73 69 67 6e 46 6f |.folder.|AssignFo|
|00000db0| 6c 64 65 72 28 20 22 57 | 68 69 74 65 43 61 70 20 |lder( "W|hiteCap |
|00000dc0| 43 6f 6e 66 69 67 73 22 | 20 29 3b 0d 0d 0d 09 67 |Configs"| );....g|
|00000dd0| 57 43 20 3d 20 6e 65 77 | 20 57 68 69 74 65 43 61 |WC = new| WhiteCa|
|00000de0| 70 28 20 66 6f 6c 64 65 | 72 20 29 3b 09 0d 0d 09 |p( folde|r );....|
|00000df0| 75 6e 73 69 67 6e 65 64 | 20 6c 6f 6e 67 20 77 46 |unsigned| long wF|
|00000e00| 6c 61 67 73 3b 0d 09 69 | 66 20 28 20 67 57 43 20 |lags;..i|f ( gWC |
|00000e10| 2d 3e 20 42 6f 72 64 65 | 72 6c 65 73 73 57 69 6e |-> Borde|rlessWin|
|00000e20| 64 6f 77 28 29 20 29 20 | 0d 09 09 77 46 6c 61 67 |dow() ) |...wFlag|
|00000e30| 73 20 3d 20 57 53 5f 53 | 59 53 4d 45 4e 55 20 7c |s = WS_S|YSMENU ||
|00000e40| 20 57 53 5f 54 48 49 43 | 4b 46 52 41 4d 45 3b 20 | WS_THIC|KFRAME; |
|00000e50| 20 2f 2f 20 57 69 73 68 | 20 69 20 6b 6e 65 77 20 | // Wish| i knew |
|00000e60| 68 6f 77 20 74 6f 20 6d | 61 6b 65 20 61 20 62 6f |how to m|ake a bo|
|00000e70| 72 65 72 6c 65 73 73 20 | 77 69 6e 64 6f 77 2e 2e |rerless |window..|
|00000e80| 2e 2e 0d 09 65 6c 73 65 | 0d 09 09 77 46 6c 61 67 |....else|...wFlag|
|00000e90| 73 20 3d 20 57 53 5f 53 | 59 53 4d 45 4e 55 20 7c |s = WS_S|YSMENU ||
|00000ea0| 20 57 53 5f 54 48 49 43 | 4b 46 52 41 4d 45 3b 0d | WS_THIC|KFRAME;.|
|00000eb0| 09 0d 09 68 4d 61 69 6e | 57 6e 64 20 3d 20 43 72 |...hMain|Wnd = Cr|
|00000ec0| 65 61 74 65 57 69 6e 64 | 6f 77 45 78 28 0d 09 09 |eateWind|owEx(...|
|00000ed0| 57 53 5f 45 58 5f 54 4f | 4f 4c 57 49 4e 44 4f 57 |WS_EX_TO|OLWINDOW|
|00000ee0| 2c 09 09 09 09 09 2f 2f | 20 74 68 65 73 65 20 65 |,.....//| these e|
|00000ef0| 78 73 74 79 6c 65 73 20 | 70 75 74 20 61 20 6e 69 |xstyles |put a ni|
|00000f00| 63 65 20 73 6d 61 6c 6c | 20 66 72 61 6d 65 2c 20 |ce small| frame, |
|00000f10| 0d 09 09 09 09 09 09 09 | 09 09 09 09 2f 2f 20 62 |........|....// b|
|00000f20| 75 74 20 61 6c 73 6f 20 | 61 20 62 75 74 74 6f 6e |ut also |a button|
|00000f30| 20 69 6e 20 74 68 65 20 | 74 61 73 6b 62 61 72 0d | in the |taskbar.|
|00000f40| 09 09 73 7a 41 70 70 4e | 61 6d 65 2c 09 09 09 09 |..szAppN|ame,....|
|00000f50| 09 09 09 2f 2f 20 6f 75 | 72 20 77 69 6e 64 6f 77 |...// ou|r window|
|00000f60| 20 63 6c 61 73 73 20 6e | 61 6d 65 0d 09 09 74 68 | class n|ame...th|
|00000f70| 69 73 5f 6d 6f 64 2d 3e | 64 65 73 63 72 69 70 74 |is_mod->|descript|
|00000f80| 69 6f 6e 2c 09 09 09 09 | 2f 2f 20 75 73 65 20 64 |ion,....|// use d|
|00000f90| 65 73 63 72 69 70 74 69 | 6f 6e 20 66 6f 72 20 61 |escripti|on for a|
|00000fa0| 20 77 69 6e 64 6f 77 20 | 74 69 74 6c 65 0d 09 09 | window |title...|
|00000fb0| 77 46 6c 61 67 73 2c 09 | 09 09 09 09 09 09 09 2f |wFlags,.|......./|
|00000fc0| 2f 20 6d 61 6b 65 20 74 | 68 65 20 77 69 6e 64 6f |/ make t|he windo|
|00000fd0| 77 20 76 69 73 69 62 6c | 65 20 77 69 74 68 20 61 |w visibl|e with a|
|00000fe0| 20 63 6c 6f 73 65 20 62 | 75 74 74 6f 6e 0d 09 09 | close b|utton...|
|00000ff0| 31 30 30 2c 31 30 30 2c | 09 09 09 09 09 09 09 09 |100,100,|........|
|00001000| 2f 2f 20 73 63 72 65 65 | 6e 20 70 6f 73 69 74 69 |// scree|n positi|
|00001010| 6f 6e 20 28 72 65 61 64 | 20 66 72 6f 6d 20 63 6f |on (read| from co|
|00001020| 6e 66 69 67 29 0d 09 09 | 32 30 30 2c 32 30 30 2c |nfig)...|200,200,|
|00001030| 09 09 09 09 09 09 09 2f | 2f 20 77 69 64 74 68 20 |......./|/ width |
|00001040| 26 20 68 65 69 67 68 74 | 20 6f 66 20 77 69 6e 64 |& height| of wind|
|00001050| 6f 77 20 28 6e 65 65 64 | 20 74 6f 20 61 64 6a 75 |ow (need| to adju|
|00001060| 73 74 20 63 6c 69 65 6e | 74 20 61 72 65 61 20 6c |st clien|t area l|
|00001070| 61 74 65 72 29 0d 09 09 | 74 68 69 73 5f 6d 6f 64 |ater)...|this_mod|
|00001080| 2d 3e 68 77 6e 64 50 61 | 72 65 6e 74 2c 09 09 09 |->hwndPa|rent,...|
|00001090| 09 2f 2f 20 70 61 72 65 | 6e 74 20 77 69 6e 64 6f |.// pare|nt windo|
|000010a0| 77 20 28 77 69 6e 61 6d | 70 20 6d 61 69 6e 20 77 |w (winam|p main w|
|000010b0| 69 6e 64 6f 77 29 0d 09 | 09 4e 55 4c 4c 2c 09 09 |indow)..|.NULL,..|
|000010c0| 09 09 09 09 09 09 2f 2f | 20 6e 6f 20 6d 65 6e 75 |......//| no menu|
|000010d0| 0d 09 09 74 68 69 73 5f | 6d 6f 64 2d 3e 68 44 6c |...this_|mod->hDl|
|000010e0| 6c 49 6e 73 74 61 6e 63 | 65 2c 09 09 09 09 2f 2f |lInstanc|e,....//|
|000010f0| 20 68 49 6e 73 74 61 6e | 63 65 20 6f 66 20 44 4c | hInstan|ce of DL|
|00001100| 4c 0d 09 09 30 29 3b 20 | 2f 2f 20 6e 6f 20 77 69 |L...0); |// no wi|
|00001110| 6e 64 6f 77 20 63 72 65 | 61 74 69 6f 6e 20 64 61 |ndow cre|ation da|
|00001120| 74 61 0d 0d 0d 09 53 65 | 74 57 69 6e 64 6f 77 4c |ta....Se|tWindowL|
|00001130| 6f 6e 67 28 68 4d 61 69 | 6e 57 6e 64 2c 47 57 4c |ong(hMai|nWnd,GWL|
|00001140| 5f 55 53 45 52 44 41 54 | 41 2c 28 4c 4f 4e 47 29 |_USERDAT|A,(LONG)|
|00001150| 74 68 69 73 5f 6d 6f 64 | 29 3b 20 2f 2f 20 73 65 |this_mod|); // se|
|00001160| 74 20 6f 75 72 20 75 73 | 65 72 20 64 61 74 61 20 |t our us|er data |
|00001170| 74 6f 20 61 20 22 74 68 | 69 73 22 20 70 6f 69 6e |to a "th|is" poin|
|00001180| 74 65 72 0d 0d 0d 09 67 | 57 43 20 2d 3e 20 53 65 |ter....g|WC -> Se|
|00001190| 74 57 69 6e 50 6f 72 74 | 28 20 68 4d 61 69 6e 57 |tWinPort|( hMainW|
|000011a0| 6e 64 20 29 3b 0d 09 3a | 3a 53 68 6f 77 57 69 6e |nd );..:|:ShowWin|
|000011b0| 64 6f 77 28 20 68 4d 61 | 69 6e 57 6e 64 2c 20 53 |dow( hMa|inWnd, S|
|000011c0| 57 5f 53 48 4f 57 4e 4f | 52 4d 41 4c 20 29 3b 0d |W_SHOWNO|RMAL );.|
|000011d0| 0d 09 72 65 74 75 72 6e | 20 30 3b 0d 7d 0d 0d 0d |..return| 0;.}...|
|000011e0| 0d 23 64 65 66 69 6e 65 | 20 5f 41 42 53 28 20 78 |.#define| _ABS( x|
|000011f0| 20 29 20 28 28 20 28 78 | 29 20 3e 20 30 20 29 20 | ) (( (x|) > 0 ) |
|00001200| 3f 20 28 78 29 20 3a 20 | 28 2d 78 29 29 0d 69 6e |? (x) : |(-x)).in|
|00001210| 74 20 47 6f 28 73 74 72 | 75 63 74 20 77 69 6e 61 |t Go(str|uct wina|
|00001220| 6d 70 56 69 73 4d 6f 64 | 75 6c 65 20 2a 74 68 69 |mpVisMod|ule *thi|
|00001230| 73 5f 6d 6f 64 29 0d 7b | 0d 09 6c 6f 6e 67 20 73 |s_mod).{|..long s|
|00001240| 75 6d 2c 20 69 64 78 3b | 0d 09 66 6c 6f 61 74 2a |um, idx;|..float*|
|00001250| 20 20 73 61 6d 70 6c 65 | 20 3d 20 67 57 43 20 2d | sample| = gWC -|
|00001260| 3e 20 6d 53 61 6d 70 6c | 65 3b 0d 0d 2f 2a 0d 09 |> mSampl|e;../*..|
|00001270| 69 64 78 20 3d 20 38 3b | 0d 09 66 6f 72 20 28 20 |idx = 8;|..for ( |
|00001280| 69 6e 74 20 69 20 3d 20 | 30 3b 20 69 20 3c 20 4e |int i = |0; i < N|
|00001290| 55 4d 5f 53 41 4d 50 4c | 45 5f 42 49 4e 53 3b 20 |UM_SAMPL|E_BINS; |
|000012a0| 69 2b 2b 20 29 20 7b 0d | 09 09 73 75 6d 20 3d 20 |i++ ) {.|..sum = |
|000012b0| 30 3b 0d 09 09 66 6f 72 | 20 28 20 69 6e 74 20 6a |0;...for| ( int j|
|000012c0| 20 3d 20 30 3b 20 6a 20 | 3c 20 69 2b 33 3b 20 6a | = 0; j |< i+3; j|
|000012d0| 2b 2b 2c 20 69 64 78 2b | 2b 20 29 20 0d 09 09 09 |++, idx+|+ ) ....|
|000012e0| 73 75 6d 20 2b 3d 20 28 | 28 75 6e 73 69 67 6e 65 |sum += (|(unsigne|
|000012f0| 64 29 20 74 68 69 73 5f | 6d 6f 64 2d 3e 73 70 65 |d) this_|mod->spe|
|00001300| 63 74 72 75 6d 44 61 74 | 61 5b 30 5d 5b 69 64 78 |ctrumDat|a[0][idx|
|00001310| 5d 20 29 3b 0d 09 09 67 | 53 61 6d 70 6c 65 5b 20 |] );...g|Sample[ |
|00001320| 69 20 5d 20 3d 20 73 75 | 6d 3b 0d 09 7d 0d 09 0d |i ] = su|m;..}...|
|00001330| 09 69 64 78 20 3d 20 38 | 3b 0d 09 66 6f 72 20 28 |.idx = 8|;..for (|
|00001340| 20 69 6e 74 20 69 20 3d | 20 30 3b 20 69 20 3c 20 | int i =| 0; i < |
|00001350| 4e 55 4d 5f 53 41 4d 50 | 4c 45 5f 42 49 4e 53 3b |NUM_SAMP|LE_BINS;|
|00001360| 20 69 2b 2b 20 29 20 7b | 0d 09 09 73 75 6d 20 3d | i++ ) {|...sum =|
|00001370| 20 30 3b 0d 09 09 66 6f | 72 20 28 20 69 6e 74 20 | 0;...fo|r ( int |
|00001380| 6a 20 3d 20 30 3b 20 6a | 20 3c 20 69 2b 33 3b 20 |j = 0; j| < i+3; |
|00001390| 6a 2b 2b 2c 20 69 64 78 | 2b 2b 20 29 20 0d 09 09 |j++, idx|++ ) ...|
|000013a0| 09 73 75 6d 20 2b 3d 20 | 28 28 75 6e 73 69 67 6e |.sum += |((unsign|
|000013b0| 65 64 29 20 74 68 69 73 | 5f 6d 6f 64 2d 3e 73 70 |ed) this|_mod->sp|
|000013c0| 65 63 74 72 75 6d 44 61 | 74 61 5b 31 5d 5b 69 64 |ectrumDa|ta[1][id|
|000013d0| 78 5d 20 29 3b 0d 09 09 | 67 53 61 6d 70 6c 65 5b |x] );...|gSample[|
|000013e0| 20 69 20 5d 20 3d 20 28 | 28 66 6c 6f 61 74 29 20 | i ] = (|(float) |
|000013f0| 73 75 6d 20 2b 20 67 53 | 61 6d 70 6c 65 5b 20 69 |sum + gS|ample[ i|
|00001400| 20 5d 29 20 2f 20 28 33 | 35 30 2e 30 29 3b 0d 09 | ]) / (3|50.0);..|
|00001410| 7d 2a 2f 0d 0d 09 69 6e | 74 20 69 2c 20 6a 3b 0d |}*/...in|t i, j;.|
|00001420| 09 0d 09 2f 2a 0d 09 69 | 64 78 20 3d 20 34 3b 0d |.../*..i|dx = 4;.|
|00001430| 09 66 6f 72 20 28 20 73 | 75 6d 20 3d 20 30 2c 20 |.for ( s|um = 0, |
|00001440| 6a 20 3d 20 30 3b 20 6a | 20 3c 20 32 3b 20 6a 2b |j = 0; j| < 2; j+|
|00001450| 2b 2c 20 69 64 78 2b 2b | 20 29 20 7b 0d 09 09 73 |+, idx++| ) {...s|
|00001460| 75 6d 20 2b 3d 20 28 28 | 75 6e 73 69 67 6e 65 64 |um += ((|unsigned|
|00001470| 20 6c 6f 6e 67 29 20 74 | 68 69 73 5f 6d 6f 64 2d | long) t|his_mod-|
|00001480| 3e 73 70 65 63 74 72 75 | 6d 44 61 74 61 5b 30 5d |>spectru|mData[0]|
|00001490| 5b 69 64 78 5d 29 20 2b | 20 28 28 75 6e 73 69 67 |[idx]) +| ((unsig|
|000014a0| 6e 65 64 20 6c 6f 6e 67 | 29 20 74 68 69 73 5f 6d |ned long|) this_m|
|000014b0| 6f 64 2d 3e 73 70 65 63 | 74 72 75 6d 44 61 74 61 |od->spec|trumData|
|000014c0| 5b 31 5d 5b 69 64 78 5d | 29 3b 0d 09 7d 0d 09 67 |[1][idx]|);..}..g|
|000014d0| 53 61 6d 70 6c 65 5b 20 | 30 20 5d 20 3d 20 73 75 |Sample[ |0 ] = su|
|000014e0| 6d 20 2f 20 34 30 30 3b | 0d 09 0d 09 66 6f 72 20 |m / 400;|....for |
|000014f0| 28 20 73 75 6d 20 3d 20 | 30 2c 20 6a 20 3d 20 30 |( sum = |0, j = 0|
|00001500| 3b 20 6a 20 3c 20 33 3b | 20 6a 2b 2b 2c 20 69 64 |; j < 3;| j++, id|
|00001510| 78 2b 2b 20 29 20 7b 0d | 09 09 73 75 6d 20 2b 3d |x++ ) {.|..sum +=|
|00001520| 20 28 28 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 | ((unsig|ned long|
|00001530| 29 20 74 68 69 73 5f 6d | 6f 64 2d 3e 73 70 65 63 |) this_m|od->spec|
|00001540| 74 72 75 6d 44 61 74 61 | 5b 30 5d 5b 69 64 78 5d |trumData|[0][idx]|
|00001550| 29 20 2b 20 28 28 75 6e | 73 69 67 6e 65 64 20 6c |) + ((un|signed l|
|00001560| 6f 6e 67 29 20 74 68 69 | 73 5f 6d 6f 64 2d 3e 73 |ong) thi|s_mod->s|
|00001570| 70 65 63 74 72 75 6d 44 | 61 74 61 5b 31 5d 5b 69 |pectrumD|ata[1][i|
|00001580| 64 78 5d 29 3b 0d 09 7d | 0d 09 67 53 61 6d 70 6c |dx]);..}|..gSampl|
|00001590| 65 5b 20 31 20 5d 20 3d | 20 73 75 6d 20 2f 20 34 |e[ 1 ] =| sum / 4|
|000015a0| 30 30 3b 0d 0d 09 66 6f | 72 20 28 20 73 75 6d 20 |00;...fo|r ( sum |
|000015b0| 3d 20 30 2c 20 6a 20 3d | 20 30 3b 20 6a 20 3c 20 |= 0, j =| 0; j < |
|000015c0| 34 3b 20 6a 2b 2b 2c 20 | 69 64 78 2b 2b 20 29 20 |4; j++, |idx++ ) |
|000015d0| 7b 0d 09 09 73 75 6d 20 | 2b 3d 20 28 28 75 6e 73 |{...sum |+= ((uns|
|000015e0| 69 67 6e 65 64 20 6c 6f | 6e 67 29 20 74 68 69 73 |igned lo|ng) this|
|000015f0| 5f 6d 6f 64 2d 3e 73 70 | 65 63 74 72 75 6d 44 61 |_mod->sp|ectrumDa|
|00001600| 74 61 5b 30 5d 5b 69 64 | 78 5d 29 20 2b 20 28 28 |ta[0][id|x]) + ((|
|00001610| 75 6e 73 69 67 6e 65 64 | 20 6c 6f 6e 67 29 20 74 |unsigned| long) t|
|00001620| 68 69 73 5f 6d 6f 64 2d | 3e 73 70 65 63 74 72 75 |his_mod-|>spectru|
|00001630| 6d 44 61 74 61 5b 31 5d | 5b 69 64 78 5d 29 3b 0d |mData[1]|[idx]);.|
|00001640| 09 7d 0d 09 67 53 61 6d | 70 6c 65 5b 20 32 20 5d |.}..gSam|ple[ 2 ]|
|00001650| 20 3d 20 73 75 6d 20 2f | 20 34 30 30 3b 0d 0d 0d | = sum /| 400;...|
|00001660| 09 66 6f 72 20 28 20 73 | 75 6d 20 3d 20 30 2c 20 |.for ( s|um = 0, |
|00001670| 6a 20 3d 20 30 3b 20 6a | 20 3c 20 35 3b 20 6a 2b |j = 0; j| < 5; j+|
|00001680| 2b 2c 20 69 64 78 2b 2b | 20 29 20 7b 0d 09 09 73 |+, idx++| ) {...s|
|00001690| 75 6d 20 2b 3d 20 28 28 | 75 6e 73 69 67 6e 65 64 |um += ((|unsigned|
|000016a0| 20 6c 6f 6e 67 29 20 74 | 68 69 73 5f 6d 6f 64 2d | long) t|his_mod-|
|000016b0| 3e 73 70 65 63 74 72 75 | 6d 44 61 74 61 5b 30 5d |>spectru|mData[0]|
|000016c0| 5b 69 64 78 5d 29 20 2b | 20 28 28 75 6e 73 69 67 |[idx]) +| ((unsig|
|000016d0| 6e 65 64 20 6c 6f 6e 67 | 29 20 74 68 69 73 5f 6d |ned long|) this_m|
|000016e0| 6f 64 2d 3e 73 70 65 63 | 74 72 75 6d 44 61 74 61 |od->spec|trumData|
|000016f0| 5b 31 5d 5b 69 64 78 5d | 29 3b 0d 09 7d 0d 09 67 |[1][idx]|);..}..g|
|00001700| 53 61 6d 70 6c 65 5b 20 | 34 20 5d 20 3d 20 73 75 |Sample[ |4 ] = su|
|00001710| 6d 20 2f 20 34 30 30 3b | 2a 2f 0d 09 0d 0d 09 66 |m / 400;|*/.....f|
|00001720| 6c 6f 61 74 20 62 69 6e | 56 61 6c 3b 0d 09 66 6c |loat bin|Val;..fl|
|00001730| 6f 61 74 20 73 63 61 6c | 65 20 3d 20 55 4e 49 56 |oat scal|e = UNIV|
|00001740| 5f 4d 41 47 5f 53 43 41 | 4c 45 3b 0d 09 0d 09 69 |_MAG_SCA|LE;....i|
|00001750| 64 78 20 3d 20 31 35 3b | 0d 09 66 6f 72 20 28 20 |dx = 15;|..for ( |
|00001760| 69 20 3d 20 30 3b 20 69 | 20 3c 20 4e 55 4d 5f 53 |i = 0; i| < NUM_S|
|00001770| 41 4d 50 4c 45 5f 42 49 | 4e 53 3b 20 69 2b 2b 20 |AMPLE_BI|NS; i++ |
|00001780| 29 20 7b 0d 09 09 73 75 | 6d 20 3d 20 30 3b 0d 09 |) {...su|m = 0;..|
|00001790| 09 66 6f 72 20 28 20 6a | 20 3d 20 30 3b 20 6a 20 |.for ( j| = 0; j |
|000017a0| 3c 20 45 4c 45 4d 45 4e | 54 53 5f 50 45 52 5f 42 |< ELEMEN|TS_PER_B|
|000017b0| 49 4e 3b 20 6a 2b 2b 2c | 20 69 64 78 2b 2b 20 29 |IN; j++,| idx++ )|
|000017c0| 20 0d 09 09 09 73 75 6d | 20 2b 3d 20 20 28 28 75 | ....sum| += ((u|
|000017d0| 6e 73 69 67 6e 65 64 29 | 20 74 68 69 73 5f 6d 6f |nsigned)| this_mo|
|000017e0| 64 2d 3e 73 70 65 63 74 | 72 75 6d 44 61 74 61 5b |d->spect|rumData[|
|000017f0| 30 5d 5b 69 64 78 5d 29 | 3b 0d 09 09 73 61 6d 70 |0][idx])|;...samp|
|00001800| 6c 65 5b 20 69 20 5d 20 | 3d 20 73 75 6d 3b 0d 09 |le[ i ] |= sum;..|
|00001810| 7d 0d 09 0d 09 69 64 78 | 20 3d 20 31 35 3b 0d 09 |}....idx| = 15;..|
|00001820| 66 6f 72 20 28 20 69 20 | 3d 20 30 3b 20 69 20 3c |for ( i |= 0; i <|
|00001830| 20 4e 55 4d 5f 53 41 4d | 50 4c 45 5f 42 49 4e 53 | NUM_SAM|PLE_BINS|
|00001840| 3b 20 69 2b 2b 20 29 20 | 7b 0d 09 09 73 75 6d 20 |; i++ ) |{...sum |
|00001850| 3d 20 30 3b 0d 09 09 66 | 6f 72 20 28 20 6a 20 3d |= 0;...f|or ( j =|
|00001860| 20 30 3b 20 6a 20 3c 20 | 45 4c 45 4d 45 4e 54 53 | 0; j < |ELEMENTS|
|00001870| 5f 50 45 52 5f 42 49 4e | 3b 20 6a 2b 2b 2c 20 69 |_PER_BIN|; j++, i|
|00001880| 64 78 2b 2b 20 29 20 0d | 09 09 09 73 75 6d 20 2b |dx++ ) .|...sum +|
|00001890| 3d 20 28 28 75 6e 73 69 | 67 6e 65 64 29 20 74 68 |= ((unsi|gned) th|
|000018a0| 69 73 5f 6d 6f 64 2d 3e | 73 70 65 63 74 72 75 6d |is_mod->|spectrum|
|000018b0| 44 61 74 61 5b 31 5d 5b | 69 64 78 5d 29 3b 0d 09 |Data[1][|idx]);..|
|000018c0| 09 62 69 6e 56 61 6c 20 | 3d 20 28 28 66 6c 6f 61 |.binVal |= ((floa|
|000018d0| 74 29 20 73 75 6d 20 2b | 20 73 61 6d 70 6c 65 5b |t) sum +| sample[|
|000018e0| 20 69 20 5d 29 20 2a 20 | 28 30 2e 38 31 20 2b 20 | i ]) * |(0.81 + |
|000018f0| 28 66 6c 6f 61 74 29 20 | 69 20 2f 20 32 34 29 3b |(float) |i / 24);|
|00001900| 0d 09 09 0d 09 09 2f 2a | 0d 09 09 66 61 63 74 6f |....../*|...facto|
|00001910| 72 20 3d 20 2e 34 20 2b | 20 2e 32 37 20 2f 20 28 |r = .4 +| .27 / (|
|00001920| 20 31 2e 35 30 20 2a 20 | 62 69 6e 56 61 6c 20 2b | 1.50 * |binVal +|
|00001930| 20 2e 34 20 29 3b 0d 09 | 09 69 66 20 28 20 66 61 | .4 );..|.if ( fa|
|00001940| 63 74 6f 72 20 3c 20 31 | 20 29 0d 09 09 09 62 69 |ctor < 1| )....bi|
|00001950| 6e 56 61 6c 20 2a 3d 20 | 66 61 63 74 6f 72 3b 0d |nVal *= |factor;.|
|00001960| 09 09 67 53 61 6d 70 6c | 65 5b 20 69 20 5d 20 3d |..gSampl|e[ i ] =|
|00001970| 20 2e 36 20 2a 20 62 69 | 6e 56 61 6c 3b 2a 2f 0d | .6 * bi|nVal;*/.|
|00001980| 0d 0d 09 09 73 61 6d 70 | 6c 65 5b 20 69 20 5d 20 |....samp|le[ i ] |
|00001990| 3d 20 73 63 61 6c 65 20 | 2a 20 28 20 6c 6f 67 28 |= scale |* ( log(|
|000019a0| 20 2e 30 30 34 30 31 37 | 38 35 20 2a 20 62 69 6e | .004017|85 * bin|
|000019b0| 56 61 6c 20 2b 20 31 20 | 29 20 29 3b 20 20 2f 2f |Val + 1 |) ); //|
|000019c0| 20 3d 20 2e 38 35 20 2a | 20 28 20 6c 6f 67 28 20 | = .85 *| ( log( |
|000019d0| 2e 30 30 36 34 32 39 20 | 2a 20 62 69 6e 56 61 6c |.006429 |* binVal|
|000019e0| 20 2b 20 31 2e 36 20 29 | 20 2d 20 6c 6f 67 28 20 | + 1.6 )| - log( |
|000019f0| 31 2e 36 20 29 20 29 3b | 0d 09 7d 0d 09 0d 09 73 |1.6 ) );|..}....s|
|00001a00| 61 6d 70 6c 65 5b 20 30 | 20 5d 20 2a 3d 20 30 2e |ample[ 0| ] *= 0.|
|00001a10| 34 35 3b 0d 09 73 61 6d | 70 6c 65 5b 20 31 20 5d |45;..sam|ple[ 1 ]|
|00001a20| 20 2a 3d 20 30 2e 36 35 | 3b 0d 0d 09 6c 6f 6e 67 | *= 0.65|;...long|
|00001a30| 20 74 69 6d 65 20 3d 20 | 3a 3a 74 69 6d 65 47 65 | time = |::timeGe|
|00001a40| 74 54 69 6d 65 28 29 3b | 0d 09 67 57 43 20 2d 3e |tTime();|..gWC ->|
|00001a50| 20 52 65 63 6f 72 64 53 | 61 6d 70 6c 65 28 20 74 | RecordS|ample( t|
|00001a60| 69 6d 65 20 29 3b 0d 09 | 67 57 43 20 2d 3e 20 44 |ime );..|gWC -> D|
|00001a70| 72 61 77 28 29 3b 0d 0d | 09 72 65 74 75 72 6e 20 |raw();..|.return |
|00001a80| 30 3b 0d 0d 7d 0d 0d 2f | 2a 0d 09 09 09 73 75 6d |0;..}../|*....sum|
|00001a90| 20 2b 3d 20 28 28 75 6e | 73 69 67 6e 65 64 29 20 | += ((un|signed) |
|00001aa0| 74 68 69 73 5f 6d 6f 64 | 2d 3e 73 70 65 63 74 72 |this_mod|->spectr|
|00001ab0| 75 6d 44 61 74 61 5b 31 | 5d 5b 69 64 78 5d 29 3b |umData[1|][idx]);|
|00001ac0| 0d 09 09 62 69 6e 56 61 | 6c 20 3d 20 28 28 66 6c |...binVa|l = ((fl|
|00001ad0| 6f 61 74 29 20 73 75 6d | 20 2b 20 67 53 61 6d 70 |oat) sum| + gSamp|
|00001ae0| 6c 65 5b 20 69 20 5d 29 | 20 2a 20 28 30 2e 38 31 |le[ i ])| * (0.81|
|00001af0| 20 2b 20 28 66 6c 6f 61 | 74 29 20 69 20 2f 20 31 | + (floa|t) i / 1|
|00001b00| 37 29 20 2f 20 28 20 31 | 34 30 20 29 3b 0d 0d 09 |7) / ( 1|40 );...|
|00001b10| 09 67 53 61 6d 70 6c 65 | 5b 20 69 20 5d 20 3d 20 |.gSample|[ i ] = |
|00001b20| 31 2e 35 20 2a 20 28 20 | 6c 6f 67 28 20 2e 30 30 |1.5 * ( |log( .00|
|00001b30| 38 20 2a 20 62 69 6e 56 | 61 6c 20 2b 20 31 2e 34 |8 * binV|al + 1.4|
|00001b40| 20 29 20 2d 20 6c 6f 67 | 28 20 31 2e 34 20 29 20 | ) - log|( 1.4 ) |
|00001b50| 29 3b 0d 2a 2f 0d 0d 2f | 2f 20 63 6c 65 61 6e 75 |);.*/../|/ cleanu|
|00001b60| 70 20 28 6f 70 70 6f 73 | 69 74 65 20 6f 66 20 69 |p (oppos|ite of i|
|00001b70| 6e 69 74 28 29 29 2e 20 | 44 65 73 74 72 6f 79 73 |nit()). |Destroys|
|00001b80| 20 74 68 65 20 77 69 6e | 64 6f 77 2c 20 75 6e 72 | the win|dow, unr|
|00001b90| 65 67 69 73 74 65 72 73 | 20 74 68 65 20 77 69 6e |egisters| the win|
|00001ba0| 64 6f 77 20 63 6c 61 73 | 73 0d 76 6f 69 64 20 71 |dow clas|s.void q|
|00001bb0| 75 69 74 28 73 74 72 75 | 63 74 20 77 69 6e 61 6d |uit(stru|ct winam|
|00001bc0| 70 56 69 73 4d 6f 64 75 | 6c 65 20 2a 74 68 69 73 |pVisModu|le *this|
|00001bd0| 5f 6d 6f 64 29 0d 7b 0d | 0d 09 69 66 20 28 20 67 |_mod).{.|..if ( g|
|00001be0| 57 43 20 29 20 7b 2f 2a | 0d 09 09 52 45 43 54 20 |WC ) {/*|...RECT |
|00001bf0| 77 72 3b 0d 09 09 3a 3a | 47 65 74 43 6c 69 65 6e |wr;...::|GetClien|
|00001c00| 74 52 65 63 74 28 20 68 | 4d 61 69 6e 57 6e 64 2c |tRect( h|MainWnd,|
|00001c10| 20 26 77 72 20 29 3b 0d | 09 09 55 74 69 6c 53 74 | &wr );.|..UtilSt|
|00001c20| 72 20 73 74 72 3b 0d 09 | 09 73 74 72 2e 41 70 70 |r str;..|.str.App|
|00001c30| 65 6e 64 28 20 77 72 2e | 74 6f 70 20 29 3b 0d 09 |end( wr.|top );..|
|00001c40| 09 73 74 72 2e 41 70 70 | 65 6e 64 28 20 22 20 20 |.str.App|end( " |
|00001c50| 22 20 29 3b 0d 09 09 09 | 09 73 74 72 2e 41 70 70 |" );....|.str.App|
|00001c60| 65 6e 64 28 20 77 72 2e | 6c 65 66 74 20 29 3b 0d |end( wr.|left );.|
|00001c70| 09 09 73 74 72 2e 41 70 | 70 65 6e 64 28 20 22 20 |..str.Ap|pend( " |
|00001c80| 20 22 20 29 3b 0d 09 09 | 09 09 73 74 72 2e 41 70 | " );...|..str.Ap|
|00001c90| 70 65 6e 64 28 20 77 72 | 2e 62 6f 74 74 6f 6d 20 |pend( wr|.bottom |
|00001ca0| 29 3b 0d 09 09 73 74 72 | 2e 41 70 70 65 6e 64 28 |);...str|.Append(|
|00001cb0| 20 22 20 20 22 20 29 3b | 0d 09 09 09 09 73 74 72 | " " );|.....str|
|00001cc0| 2e 41 70 70 65 6e 64 28 | 20 77 72 2e 72 69 67 68 |.Append(| wr.righ|
|00001cd0| 74 20 29 3b 0d 09 09 73 | 74 72 2e 41 70 70 65 6e |t );...s|tr.Appen|
|00001ce0| 64 28 20 22 20 20 22 20 | 29 3b 0d 09 09 45 67 4f |d( " " |);...EgO|
|00001cf0| 53 55 74 69 6c 73 3a 3a | 53 68 6f 77 4d 73 67 28 |SUtils::|ShowMsg(|
|00001d00| 20 73 74 72 20 29 3b 2a | 2f 0d 09 09 64 65 6c 65 | str );*|/...dele|
|00001d10| 74 65 20 67 57 43 3b 0d | 09 09 67 57 43 20 3d 20 |te gWC;.|..gWC = |
|00001d20| 4e 55 4c 4c 3b 0d 09 7d | 0d 09 0d 09 0d 09 50 69 |NULL;..}|......Pi|
|00001d30| 78 50 6f 72 74 3a 3a 53 | 68 75 74 64 6f 77 6e 28 |xPort::S|hutdown(|
|00001d40| 29 3b 0d 0d 09 0d 09 3a | 3a 44 65 73 74 72 6f 79 |);.....:|:Destroy|
|00001d50| 57 69 6e 64 6f 77 28 68 | 4d 61 69 6e 57 6e 64 29 |Window(h|MainWnd)|
|00001d60| 3b 20 2f 2f 20 64 65 6c | 65 74 65 20 6f 75 72 20 |; // del|ete our |
|00001d70| 77 69 6e 64 6f 77 0d 09 | 3a 3a 55 6e 72 65 67 69 |window..|::Unregi|
|00001d80| 73 74 65 72 43 6c 61 73 | 73 28 73 7a 41 70 70 4e |sterClas|s(szAppN|
|00001d90| 61 6d 65 2c 74 68 69 73 | 5f 6d 6f 64 2d 3e 68 44 |ame,this|_mod->hD|
|00001da0| 6c 6c 49 6e 73 74 61 6e | 63 65 29 3b 20 2f 2f 20 |llInstan|ce); // |
|00001db0| 75 6e 72 65 67 69 73 74 | 65 72 20 77 69 6e 64 6f |unregist|er windo|
|00001dc0| 77 20 63 6c 61 73 73 0d | 7d 0d 0d 0d 0d 0d 2f 2a |w class.|}...../*|
|00001dd0| 0d 0d 2f 2f 20 72 65 6e | 64 65 72 20 66 75 6e 63 |..// ren|der func|
|00001de0| 74 69 6f 6e 20 66 6f 72 | 20 6f 73 63 69 6c 6c 69 |tion for| oscilli|
|00001df0| 73 63 6f 70 65 2e 20 52 | 65 74 75 72 6e 73 20 30 |scope. R|eturns 0|
|00001e00| 20 69 66 20 73 75 63 63 | 65 73 73 66 75 6c 2c 20 | if succ|essful, |
|00001e10| 31 20 69 66 20 76 69 73 | 75 61 6c 69 7a 61 74 69 |1 if vis|ualizati|
|00001e20| 6f 6e 20 73 68 6f 75 6c | 64 20 65 6e 64 2e 0d 69 |on shoul|d end..i|
|00001e30| 6e 74 20 72 65 6e 64 65 | 72 31 28 73 74 72 75 63 |nt rende|r1(struc|
|00001e40| 74 20 77 69 6e 61 6d 70 | 56 69 73 4d 6f 64 75 6c |t winamp|VisModul|
|00001e50| 65 20 2a 74 68 69 73 5f | 6d 6f 64 29 0d 7b 0d 09 |e *this_|mod).{..|
|00001e60| 69 6e 74 20 78 2c 20 79 | 3b 0d 09 2f 2f 20 63 6c |int x, y|;..// cl|
|00001e70| 65 61 72 20 62 61 63 6b | 67 72 6f 75 6e 64 0d 09 |ear back|ground..|
|00001e80| 52 65 63 74 61 6e 67 6c | 65 28 6d 65 6d 44 43 2c |Rectangl|e(memDC,|
|00001e90| 30 2c 30 2c 32 38 38 2c | 32 35 36 29 3b 0d 09 2f |0,0,288,|256);../|
|00001ea0| 2f 20 64 72 61 77 20 6f | 73 63 69 6c 6c 69 73 63 |/ draw o|scillisc|
|00001eb0| 6f 70 65 0d 09 66 6f 72 | 20 28 79 20 3d 20 30 3b |ope..for| (y = 0;|
|00001ec0| 20 79 20 3c 20 74 68 69 | 73 5f 6d 6f 64 2d 3e 6e | y < thi|s_mod->n|
|00001ed0| 43 68 3b 20 79 20 2b 2b | 29 0d 09 7b 0d 09 09 4d |Ch; y ++|)..{...M|
|00001ee0| 6f 76 65 54 6f 45 78 28 | 6d 65 6d 44 43 2c 30 2c |oveToEx(|memDC,0,|
|00001ef0| 28 79 2a 32 35 36 29 3e | 3e 28 74 68 69 73 5f 6d |(y*256)>|>(this_m|
|00001f00| 6f 64 2d 3e 6e 43 68 2d | 31 29 2c 4e 55 4c 4c 29 |od->nCh-|1),NULL)|
|00001f10| 3b 0d 09 09 66 6f 72 20 | 28 78 20 3d 20 30 3b 20 |;...for |(x = 0; |
|00001f20| 78 20 3c 20 32 38 38 3b | 20 78 20 2b 2b 29 0d 09 |x < 288;| x ++)..|
|00001f30| 09 7b 0d 09 09 09 4c 69 | 6e 65 54 6f 28 6d 65 6d |.{....Li|neTo(mem|
|00001f40| 44 43 2c 78 2c 28 79 2a | 32 35 36 20 2b 20 74 68 |DC,x,(y*|256 + th|
|00001f50| 69 73 5f 6d 6f 64 2d 3e | 77 61 76 65 66 6f 72 6d |is_mod->|waveform|
|00001f60| 44 61 74 61 5b 79 5d 5b | 78 5d 5e 31 32 38 29 3e |Data[y][|x]^128)>|
|00001f70| 3e 28 74 68 69 73 5f 6d | 6f 64 2d 3e 6e 43 68 2d |>(this_m|od->nCh-|
|00001f80| 31 29 29 3b 0d 09 09 7d | 0d 09 7d 0d 09 7b 20 2f |1));...}|..}..{ /|
|00001f90| 2f 20 63 6f 70 79 20 64 | 6f 75 62 6c 65 62 75 66 |/ copy d|oublebuf|
|00001fa0| 66 65 72 20 74 6f 20 77 | 69 6e 64 6f 77 0d 09 09 |fer to w|indow...|
|00001fb0| 48 44 43 20 68 64 63 20 | 3d 20 47 65 74 44 43 28 |HDC hdc |= GetDC(|
|00001fc0| 68 4d 61 69 6e 57 6e 64 | 29 3b 0d 09 09 42 69 74 |hMainWnd|);...Bit|
|00001fd0| 42 6c 74 28 68 64 63 2c | 30 2c 30 2c 32 38 38 2c |Blt(hdc,|0,0,288,|
|00001fe0| 32 35 36 2c 6d 65 6d 44 | 43 2c 30 2c 30 2c 53 52 |256,memD|C,0,0,SR|
|00001ff0| 43 43 4f 50 59 29 3b 0d | 09 09 52 65 6c 65 61 73 |CCOPY);.|..Releas|
|00002000| 65 44 43 28 68 4d 61 69 | 6e 57 6e 64 2c 68 64 63 |eDC(hMai|nWnd,hdc|
|00002010| 29 3b 0d 09 7d 0d 09 72 | 65 74 75 72 6e 20 30 3b |);..}..r|eturn 0;|
|00002020| 0d 7d 0d 0d 2f 2f 20 72 | 65 6e 64 65 72 20 66 75 |.}..// r|ender fu|
|00002030| 6e 63 74 69 6f 6e 20 66 | 6f 72 20 61 6e 61 6c 79 |nction f|or analy|
|00002040| 73 65 72 2e 20 52 65 74 | 75 72 6e 73 20 30 20 69 |ser. Ret|urns 0 i|
|00002050| 66 20 73 75 63 63 65 73 | 73 66 75 6c 2c 20 31 20 |f succes|sful, 1 |
|00002060| 69 66 20 76 69 73 75 61 | 6c 69 7a 61 74 69 6f 6e |if visua|lization|
|00002070| 20 73 68 6f 75 6c 64 20 | 65 6e 64 2e 0d 69 6e 74 | should |end..int|
|00002080| 20 72 65 6e 64 65 72 32 | 28 73 74 72 75 63 74 20 | render2|(struct |
|00002090| 77 69 6e 61 6d 70 56 69 | 73 4d 6f 64 75 6c 65 20 |winampVi|sModule |
|000020a0| 2a 74 68 69 73 5f 6d 6f | 64 29 0d 7b 0d 09 69 6e |*this_mo|d).{..in|
|000020b0| 74 20 78 2c 20 79 3b 0d | 09 2f 2f 20 63 6c 65 61 |t x, y;.|.// clea|
|000020c0| 72 20 62 61 63 6b 67 72 | 6f 75 6e 64 0d 09 52 65 |r backgr|ound..Re|
|000020d0| 63 74 61 6e 67 6c 65 28 | 6d 65 6d 44 43 2c 30 2c |ctangle(|memDC,0,|
|000020e0| 30 2c 32 38 38 2c 32 35 | 36 29 3b 0d 09 2f 2f 20 |0,288,25|6);..// |
|000020f0| 64 72 61 77 20 61 6e 61 | 6c 79 73 65 72 0d 09 66 |draw ana|lyser..f|
|00002100| 6f 72 20 28 79 20 3d 20 | 30 3b 20 79 20 3c 20 74 |or (y = |0; y < t|
|00002110| 68 69 73 5f 6d 6f 64 2d | 3e 6e 43 68 3b 20 79 20 |his_mod-|>nCh; y |
|00002120| 2b 2b 29 0d 09 7b 0d 09 | 09 66 6f 72 20 28 78 20 |++)..{..|.for (x |
|00002130| 3d 20 30 3b 20 78 20 3c | 20 32 38 38 3b 20 78 20 |= 0; x <| 288; x |
|00002140| 2b 2b 29 0d 09 09 7b 0d | 09 09 09 4d 6f 76 65 54 |++)...{.|...MoveT|
|00002150| 6f 45 78 28 6d 65 6d 44 | 43 2c 78 2c 28 79 2a 32 |oEx(memD|C,x,(y*2|
|00002160| 35 36 2b 32 35 36 29 3e | 3e 28 74 68 69 73 5f 6d |56+256)>|>(this_m|
|00002170| 6f 64 2d 3e 6e 43 68 2d | 31 29 2c 4e 55 4c 4c 29 |od->nCh-|1),NULL)|
|00002180| 3b 0d 09 09 09 4c 69 6e | 65 54 6f 28 6d 65 6d 44 |;....Lin|eTo(memD|
|00002190| 43 2c 78 2c 28 79 2a 32 | 35 36 20 2b 20 32 35 36 |C,x,(y*2|56 + 256|
|000021a0| 20 2d 20 74 68 69 73 5f | 6d 6f 64 2d 3e 73 70 65 | - this_|mod->spe|
|000021b0| 63 74 72 75 6d 44 61 74 | 61 5b 79 5d 5b 78 5d 29 |ctrumDat|a[y][x])|
|000021c0| 3e 3e 28 74 68 69 73 5f | 6d 6f 64 2d 3e 6e 43 68 |>>(this_|mod->nCh|
|000021d0| 2d 31 29 29 3b 0d 09 09 | 7d 0d 09 7d 0d 09 7b 20 |-1));...|}..}..{ |
|000021e0| 2f 2f 20 63 6f 70 79 20 | 64 6f 75 62 6c 65 62 75 |// copy |doublebu|
|000021f0| 66 66 65 72 20 74 6f 20 | 77 69 6e 64 6f 77 0d 09 |ffer to |window..|
|00002200| 09 48 44 43 20 68 64 63 | 20 3d 20 47 65 74 44 43 |.HDC hdc| = GetDC|
|00002210| 28 68 4d 61 69 6e 57 6e | 64 29 3b 0d 09 09 42 69 |(hMainWn|d);...Bi|
|00002220| 74 42 6c 74 28 68 64 63 | 2c 30 2c 30 2c 32 38 38 |tBlt(hdc|,0,0,288|
|00002230| 2c 32 35 36 2c 6d 65 6d | 44 43 2c 30 2c 30 2c 53 |,256,mem|DC,0,0,S|
|00002240| 52 43 43 4f 50 59 29 3b | 0d 09 09 52 65 6c 65 61 |RCCOPY);|...Relea|
|00002250| 73 65 44 43 28 68 4d 61 | 69 6e 57 6e 64 2c 68 64 |seDC(hMa|inWnd,hd|
|00002260| 63 29 3b 0d 09 7d 0d 09 | 72 65 74 75 72 6e 20 30 |c);..}..|return 0|
|00002270| 3b 0d 7d 0d 0d 2f 2f 20 | 72 65 6e 64 65 72 20 66 |;.}..// |render f|
|00002280| 75 6e 63 74 69 6f 6e 20 | 66 6f 72 20 56 55 20 6d |unction |for VU m|
|00002290| 65 74 65 72 2e 20 52 65 | 74 75 72 6e 73 20 30 20 |eter. Re|turns 0 |
|000022a0| 69 66 20 73 75 63 63 65 | 73 73 66 75 6c 2c 20 31 |if succe|ssful, 1|
|000022b0| 20 69 66 20 76 69 73 75 | 61 6c 69 7a 61 74 69 6f | if visu|alizatio|
|000022c0| 6e 20 73 68 6f 75 6c 64 | 20 65 6e 64 2e 0d 69 6e |n should| end..in|
|000022d0| 74 20 72 65 6e 64 65 72 | 33 28 73 74 72 75 63 74 |t render|3(struct|
|000022e0| 20 77 69 6e 61 6d 70 56 | 69 73 4d 6f 64 75 6c 65 | winampV|isModule|
|000022f0| 20 2a 74 68 69 73 5f 6d | 6f 64 29 0d 7b 0d 09 69 | *this_m|od).{..i|
|00002300| 6e 74 20 78 2c 20 79 3b | 0d 09 2f 2f 20 63 6c 65 |nt x, y;|..// cle|
|00002310| 61 72 20 62 61 63 6b 67 | 72 6f 75 6e 64 0d 09 52 |ar backg|round..R|
|00002320| 65 63 74 61 6e 67 6c 65 | 28 6d 65 6d 44 43 2c 30 |ectangle|(memDC,0|
|00002330| 2c 30 2c 32 35 36 2c 33 | 32 29 3b 0d 09 2f 2f 20 |,0,256,3|2);..// |
|00002340| 64 72 61 77 20 56 55 20 | 6d 65 74 65 72 0d 09 66 |draw VU |meter..f|
|00002350| 6f 72 20 28 79 20 3d 20 | 30 3b 20 79 20 3c 20 32 |or (y = |0; y < 2|
|00002360| 3b 20 79 20 2b 2b 29 0d | 09 7b 0d 09 09 69 6e 74 |; y ++).|.{...int|
|00002370| 20 6c 61 73 74 3d 74 68 | 69 73 5f 6d 6f 64 2d 3e | last=th|is_mod->|
|00002380| 77 61 76 65 66 6f 72 6d | 44 61 74 61 5b 79 5d 5b |waveform|Data[y][|
|00002390| 30 5d 3b 0d 09 09 69 6e | 74 20 74 6f 74 61 6c 3d |0];...in|t total=|
|000023a0| 30 3b 0d 09 09 66 6f 72 | 20 28 78 20 3d 20 31 3b |0;...for| (x = 1;|
|000023b0| 20 78 20 3c 20 35 37 36 | 3b 20 78 20 2b 2b 29 0d | x < 576|; x ++).|
|000023c0| 09 09 7b 0d 09 09 09 74 | 6f 74 61 6c 20 2b 3d 20 |..{....t|otal += |
|000023d0| 61 62 73 28 6c 61 73 74 | 20 2d 20 74 68 69 73 5f |abs(last| - this_|
|000023e0| 6d 6f 64 2d 3e 77 61 76 | 65 66 6f 72 6d 44 61 74 |mod->wav|eformDat|
|000023f0| 61 5b 79 5d 5b 78 5d 29 | 3b 0d 09 09 09 6c 61 73 |a[y][x])|;....las|
|00002400| 74 20 3d 20 74 68 69 73 | 5f 6d 6f 64 2d 3e 77 61 |t = this|_mod->wa|
|00002410| 76 65 66 6f 72 6d 44 61 | 74 61 5b 79 5d 5b 78 5d |veformDa|ta[y][x]|
|00002420| 3b 0d 09 09 7d 0d 09 09 | 74 6f 74 61 6c 20 2f 3d |;...}...|total /=|
|00002430| 20 32 38 38 3b 0d 09 09 | 69 66 20 28 74 6f 74 61 | 288;...|if (tota|
|00002440| 6c 20 3e 20 31 32 37 29 | 20 74 6f 74 61 6c 20 3d |l > 127)| total =|
|00002450| 20 31 32 37 3b 0d 09 09 | 69 66 20 28 79 29 20 52 | 127;...|if (y) R|
|00002460| 65 63 74 61 6e 67 6c 65 | 28 6d 65 6d 44 43 2c 31 |ectangle|(memDC,1|
|00002470| 32 38 2c 30 2c 31 32 38 | 2b 74 6f 74 61 6c 2c 33 |28,0,128|+total,3|
|00002480| 32 29 3b 0d 09 09 65 6c | 73 65 20 52 65 63 74 61 |2);...el|se Recta|
|00002490| 6e 67 6c 65 28 6d 65 6d | 44 43 2c 31 32 38 2d 74 |ngle(mem|DC,128-t|
|000024a0| 6f 74 61 6c 2c 30 2c 31 | 32 38 2c 33 32 29 3b 0d |otal,0,1|28,32);.|
|000024b0| 09 7d 0d 09 7b 20 2f 2f | 20 63 6f 70 79 20 64 6f |.}..{ //| copy do|
|000024c0| 75 62 6c 65 62 75 66 66 | 65 72 20 74 6f 20 77 69 |ublebuff|er to wi|
|000024d0| 6e 64 6f 77 0d 09 09 48 | 44 43 20 68 64 63 20 3d |ndow...H|DC hdc =|
|000024e0| 20 47 65 74 44 43 28 68 | 4d 61 69 6e 57 6e 64 29 | GetDC(h|MainWnd)|
|000024f0| 3b 0d 09 09 42 69 74 42 | 6c 74 28 68 64 63 2c 30 |;...BitB|lt(hdc,0|
|00002500| 2c 30 2c 32 35 36 2c 33 | 32 2c 6d 65 6d 44 43 2c |,0,256,3|2,memDC,|
|00002510| 30 2c 30 2c 53 52 43 43 | 4f 50 59 29 3b 0d 09 09 |0,0,SRCC|OPY);...|
|00002520| 52 65 6c 65 61 73 65 44 | 43 28 68 4d 61 69 6e 57 |ReleaseD|C(hMainW|
|00002530| 6e 64 2c 68 64 63 29 3b | 0d 09 7d 0d 09 72 65 74 |nd,hdc);|..}..ret|
|00002540| 75 72 6e 20 30 3b 0d 7d | 0d 0d 2a 2f 0d 0d 0d 0d |urn 0;.}|..*/....|
|00002550| 0d 0d 0d 09 09 09 09 09 | 09 09 09 0d 69 6e 74 20 |........|....int |
|00002560| 57 49 4e 41 50 49 20 57 | 69 6e 4d 61 69 6e 28 20 |WINAPI W|inMain( |
|00002570| 48 49 4e 53 54 41 4e 43 | 45 2c 20 09 2f 2a 57 69 |HINSTANC|E, ./*Wi|
|00002580| 6e 33 32 20 65 6e 74 72 | 79 2d 70 6f 69 6e 74 20 |n32 entr|y-point |
|00002590| 72 6f 75 74 69 6e 65 20 | 2a 2f 0d 09 09 09 09 09 |routine |*/......|
|000025a0| 48 49 4e 53 54 41 4e 43 | 45 2c 20 0d 09 09 09 09 |HINSTANC|E, .....|
|000025b0| 09 4c 50 53 54 52 2c 20 | 0d 09 09 09 09 09 69 6e |.LPSTR, |......in|
|000025c0| 74 20 29 0d 7b 0d 09 4d | 53 47 20 6c 70 4d 73 67 |t ).{..M|SG lpMsg|
|000025d0| 3b 0d 0d 09 69 6e 69 74 | 28 20 26 67 57 43 4d 6f |;...init|( &gWCMo|
|000025e0| 64 75 6c 65 20 29 3b 0d | 0d 09 77 68 69 6c 65 28 |dule );.|..while(|
|000025f0| 20 47 65 74 4d 65 73 73 | 61 67 65 28 20 26 6c 70 | GetMess|age( &lp|
|00002600| 4d 73 67 2c 20 4e 55 4c | 4c 2c 20 30 2c 20 30 20 |Msg, NUL|L, 0, 0 |
|00002610| 29 20 29 09 09 09 09 09 | 2f 2a 20 62 65 67 69 6e |) ).....|/* begin|
|00002620| 20 74 68 65 20 6d 65 73 | 73 61 67 65 20 6c 6f 6f | the mes|sage loo|
|00002630| 70 20 2a 2f 0d 09 7b 0d | 09 09 47 6f 28 20 26 67 |p */..{.|..Go( &g|
|00002640| 57 43 4d 6f 64 75 6c 65 | 20 29 3b 0d 09 09 54 72 |WCModule| );...Tr|
|00002650| 61 6e 73 6c 61 74 65 4d | 65 73 73 61 67 65 28 20 |anslateM|essage( |
|00002660| 26 6c 70 4d 73 67 20 29 | 3b 0d 09 09 44 69 73 70 |&lpMsg )|;...Disp|
|00002670| 61 74 63 68 4d 65 73 73 | 61 67 65 28 20 26 6c 70 |atchMess|age( &lp|
|00002680| 4d 73 67 20 29 3b 0d 09 | 7d 0d 09 71 75 69 74 28 |Msg );..|}..quit(|
|00002690| 20 26 67 57 43 4d 6f 64 | 75 6c 65 20 29 3b 0d 09 | &gWCMod|ule );..|
|000026a0| 72 65 74 75 72 6e 28 20 | 6c 70 4d 73 67 2e 77 50 |return( |lpMsg.wP|
|000026b0| 61 72 61 6d 29 3b 0d 7d | 0d 0d 0d 0d 0d 0d 2f 2f |aram);.}|......//|
|000026c0| 20 77 69 6e 64 6f 77 20 | 70 72 6f 63 65 64 75 72 | window |procedur|
|000026d0| 65 20 66 6f 72 20 6f 75 | 72 20 77 69 6e 64 6f 77 |e for ou|r window|
|000026e0| 0d 4c 52 45 53 55 4c 54 | 20 43 41 4c 4c 42 41 43 |.LRESULT| CALLBAC|
|000026f0| 4b 20 57 6e 64 50 72 6f | 63 28 48 57 4e 44 20 68 |K WndPro|c(HWND h|
|00002700| 77 6e 64 2c 20 55 49 4e | 54 20 6d 65 73 73 61 67 |wnd, UIN|T messag|
|00002710| 65 2c 20 57 50 41 52 41 | 4d 20 77 50 61 72 61 6d |e, WPARA|M wParam|
|00002720| 2c 20 4c 50 41 52 41 4d | 20 6c 50 61 72 61 6d 29 |, LPARAM| lParam)|
|00002730| 0d 7b 0d 09 73 74 61 74 | 69 63 20 6c 6f 6e 67 20 |.{..stat|ic long |
|00002740| 73 4c 61 73 74 43 6c 69 | 63 6b 54 69 6d 65 20 3d |sLastCli|ckTime =|
|00002750| 20 30 3b 0d 09 0d 09 73 | 77 69 74 63 68 20 28 20 | 0;....s|witch ( |
|00002760| 6d 65 73 73 61 67 65 20 | 29 0d 09 7b 0d 0d 09 09 |message |)..{....|
|00002770| 09 2f 2a 0d 09 09 63 61 | 73 65 20 57 4d 5f 4e 43 |./*...ca|se WM_NC|
|00002780| 4c 4d 4f 55 53 45 4d 4f | 56 45 3a 0d 09 09 63 61 |LMOUSEMO|VE:...ca|
|00002790| 73 65 20 57 4d 5f 4d 4f | 55 53 45 4d 4f 56 45 44 |se WM_MO|USEMOVED|
|000027a0| 3a 0d 09 09 09 69 66 20 | 28 20 67 57 43 20 2d 3e |:....if |( gWC ->|
|000027b0| 20 49 73 41 74 46 75 6c | 6c 53 63 72 65 65 6e 28 | IsAtFul|lScreen(|
|000027c0| 29 20 29 0d 09 09 09 09 | 72 65 74 75 72 6e 20 30 |) ).....|return 0|
|000027d0| 3b 0d 09 09 09 62 72 65 | 61 6b 3b 0d 09 09 09 0d |;....bre|ak;.....|
|000027e0| 09 09 63 61 73 65 20 57 | 4d 5f 4e 43 52 42 55 54 |..case W|M_NCRBUT|
|000027f0| 54 4f 4e 44 4f 57 4e 3a | 0d 09 09 09 69 66 20 28 |TONDOWN:|....if (|
|00002800| 20 21 20 67 57 43 20 2d | 3e 20 49 73 41 74 46 75 | ! gWC -|> IsAtFu|
|00002810| 6c 6c 53 63 72 65 65 6e | 28 29 20 29 0d 09 09 09 |llScreen|() )....|
|00002820| 09 62 72 65 61 6b 3b 2a | 2f 0d 09 09 63 61 73 65 |.break;*|/...case|
|00002830| 20 57 4d 5f 52 42 55 54 | 54 4f 4e 44 4f 57 4e 3a | WM_RBUT|TONDOWN:|
|00002840| 0d 09 09 09 69 66 20 28 | 20 28 77 50 61 72 61 6d |....if (| (wParam|
|00002850| 20 26 20 4d 4b 5f 52 42 | 55 54 54 4f 4e 29 20 26 | & MK_RB|UTTON) &|
|00002860| 26 20 67 57 43 20 29 0d | 09 09 09 09 67 57 43 20 |& gWC ).|....gWC |
|00002870| 2d 3e 20 53 65 6c 65 63 | 74 43 6f 6e 66 69 67 28 |-> Selec|tConfig(|
|00002880| 29 3b 0d 09 09 09 72 65 | 74 75 72 6e 20 30 3b 09 |);....re|turn 0;.|
|00002890| 09 09 0d 09 09 09 62 72 | 65 61 6b 3b 0d 09 09 0d |......br|eak;....|
|000028a0| 09 09 2f 2f 63 61 73 65 | 20 57 4d 5f 4e 43 4c 42 |..//case| WM_NCLB|
|000028b0| 55 54 54 4f 4e 44 4f 57 | 4e 3a 0d 09 09 63 61 73 |UTTONDOW|N:...cas|
|000028c0| 65 20 57 4d 5f 4c 42 55 | 54 54 4f 4e 44 4f 57 4e |e WM_LBU|TTONDOWN|
|000028d0| 3a 0d 09 09 09 69 66 20 | 28 20 67 57 43 20 2d 3e |:....if |( gWC ->|
|000028e0| 20 49 73 46 75 6c 6c 53 | 63 72 65 65 6e 28 29 20 | IsFullS|creen() |
|000028f0| 29 0d 09 09 09 09 67 57 | 43 20 2d 3e 20 53 65 74 |).....gW|C -> Set|
|00002900| 46 75 6c 6c 53 63 72 65 | 65 6e 28 20 66 61 6c 73 |FullScre|en( fals|
|00002910| 65 20 29 3b 0d 09 09 09 | 65 6c 73 65 20 69 66 20 |e );....|else if |
|00002920| 28 20 6d 65 73 73 61 67 | 65 20 3d 3d 20 57 4d 5f |( messag|e == WM_|
|00002930| 4c 42 55 54 54 4f 4e 44 | 4f 57 4e 20 29 20 7b 0d |LBUTTOND|OWN ) {.|
|00002940| 09 09 09 09 6c 6f 6e 67 | 20 63 75 72 54 69 6d 65 |....long| curTime|
|00002950| 20 3d 20 45 67 4f 53 55 | 74 69 6c 73 3a 3a 43 75 | = EgOSU|tils::Cu|
|00002960| 72 54 69 6d 65 4d 53 28 | 29 3b 0d 09 09 09 09 69 |rTimeMS(|);.....i|
|00002970| 66 20 28 20 63 75 72 54 | 69 6d 65 20 2d 20 33 30 |f ( curT|ime - 30|
|00002980| 30 20 3c 20 73 4c 61 73 | 74 43 6c 69 63 6b 54 69 |0 < sLas|tClickTi|
|00002990| 6d 65 20 29 0d 09 09 09 | 09 09 67 57 43 20 2d 3e |me )....|..gWC ->|
|000029a0| 20 53 65 74 46 75 6c 6c | 53 63 72 65 65 6e 28 20 | SetFull|Screen( |
|000029b0| 74 72 75 65 20 29 3b 0d | 09 09 09 09 65 6c 73 65 |true );.|....else|
|000029c0| 0d 09 09 09 09 09 73 4c | 61 73 74 43 6c 69 63 6b |......sL|astClick|
|000029d0| 54 69 6d 65 20 3d 20 63 | 75 72 54 69 6d 65 3b 0d |Time = c|urTime;.|
|000029e0| 09 09 09 7d 0d 09 09 09 | 72 65 74 75 72 6e 20 30 |...}....|return 0|
|000029f0| 3b 09 0d 09 09 09 62 72 | 65 61 6b 3b 0d 09 0d 09 |;.....br|eak;....|
|00002a00| 09 63 61 73 65 20 57 4d | 5f 43 52 45 41 54 45 3a |.case WM|_CREATE:|
|00002a10| 09 09 72 65 74 75 72 6e | 20 30 3b 0d 09 09 63 61 |..return| 0;...ca|
|00002a20| 73 65 20 57 4d 5f 45 52 | 41 53 45 42 4b 47 4e 44 |se WM_ER|ASEBKGND|
|00002a30| 3a 09 72 65 74 75 72 6e | 20 30 3b 0d 09 09 63 61 |:.return| 0;...ca|
|00002a40| 73 65 20 57 4d 5f 50 41 | 49 4e 54 3a 0d 09 09 09 |se WM_PA|INT:....|
|00002a50| 7b 20 2f 2f 20 75 70 64 | 61 74 65 20 66 72 6f 6d |{ // upd|ate from|
|00002a60| 20 64 6f 75 62 6c 65 62 | 75 66 66 65 72 0d 09 09 | doubleb|uffer...|
|00002a70| 09 09 50 41 49 4e 54 53 | 54 52 55 43 54 20 70 73 |..PAINTS|TRUCT ps|
|00002a80| 3b 0d 09 09 09 09 48 44 | 43 20 68 64 63 20 3d 20 |;.....HD|C hdc = |
|00002a90| 42 65 67 69 6e 50 61 69 | 6e 74 28 20 68 77 6e 64 |BeginPai|nt( hwnd|
|00002aa0| 2c 20 26 70 73 20 29 3b | 0d 09 09 09 09 52 65 63 |, &ps );|.....Rec|
|00002ab0| 74 20 72 3b 0d 09 09 09 | 09 53 65 74 52 65 63 74 |t r;....|.SetRect|
|00002ac0| 28 20 26 72 2c 20 70 73 | 2e 72 63 50 61 69 6e 74 |( &r, ps|.rcPaint|
|00002ad0| 2e 6c 65 66 74 2c 20 70 | 73 2e 72 63 50 61 69 6e |.left, p|s.rcPain|
|00002ae0| 74 2e 74 6f 70 2c 20 70 | 73 2e 72 63 50 61 69 6e |t.top, p|s.rcPain|
|00002af0| 74 2e 72 69 67 68 74 2c | 20 70 73 2e 72 63 50 61 |t.right,| ps.rcPa|
|00002b00| 69 6e 74 2e 62 6f 74 74 | 6f 6d 20 29 3b 0d 09 09 |int.bott|om );...|
|00002b10| 09 09 67 57 43 20 2d 3e | 20 52 65 66 72 65 73 68 |..gWC ->| Refresh|
|00002b20| 52 65 63 74 28 20 72 20 | 29 3b 0d 09 09 09 09 67 |Rect( r |);.....g|
|00002b30| 57 43 20 2d 3e 20 44 72 | 61 77 28 29 3b 0d 09 09 |WC -> Dr|aw();...|
|00002b40| 09 09 45 6e 64 50 61 69 | 6e 74 28 20 68 77 6e 64 |..EndPai|nt( hwnd|
|00002b50| 2c 20 26 70 73 20 29 3b | 0d 0d 09 09 09 7d 0d 09 |, &ps );|.....}..|
|00002b60| 09 09 72 65 74 75 72 6e | 20 30 3b 0d 09 09 63 61 |..return| 0;...ca|
|00002b70| 73 65 20 57 4d 5f 44 45 | 53 54 52 4f 59 3a 20 50 |se WM_DE|STROY: P|
|00002b80| 6f 73 74 51 75 69 74 4d | 65 73 73 61 67 65 28 30 |ostQuitM|essage(0|
|00002b90| 29 3b 20 72 65 74 75 72 | 6e 20 30 3b 0d 09 09 63 |); retur|n 0;...c|
|00002ba0| 61 73 65 20 57 4d 5f 4b | 45 59 44 4f 57 4e 3a 20 |ase WM_K|EYDOWN: |
|00002bb0| 2f 2f 20 70 61 73 73 20 | 6b 65 79 62 6f 61 72 64 |// pass |keyboard|
|00002bc0| 20 6d 65 73 73 61 67 65 | 73 20 74 6f 20 6d 61 69 | message|s to mai|
|00002bd0| 6e 20 77 69 6e 61 6d 70 | 20 77 69 6e 64 6f 77 20 |n winamp| window |
|00002be0| 28 66 6f 72 20 70 72 6f | 63 65 73 73 69 6e 67 29 |(for pro|cessing)|
|00002bf0| 0d 09 09 09 69 66 20 28 | 20 28 20 6c 50 61 72 61 |....if (| ( lPara|
|00002c00| 6d 20 26 20 30 78 31 30 | 30 30 20 29 20 3d 3d 20 |m & 0x10|00 ) == |
|00002c10| 30 20 29 20 7b 0d 09 09 | 09 09 69 66 20 28 20 67 |0 ) {...|..if ( g|
|00002c20| 57 43 20 2d 3e 20 48 61 | 6e 64 6c 65 4b 65 79 28 |WC -> Ha|ndleKey(|
|00002c30| 20 30 78 46 46 20 26 20 | 77 50 61 72 61 6d 20 29 | 0xFF & |wParam )|
|00002c40| 20 29 20 7b 0d 09 09 09 | 09 09 62 72 65 61 6b 3b | ) {....|..break;|
|00002c50| 0d 09 09 09 09 7d 0d 09 | 09 09 7d 0d 09 09 63 61 |.....}..|..}...ca|
|00002c60| 73 65 20 57 4d 5f 4b 45 | 59 55 50 3a 0d 09 09 09 |se WM_KE|YUP:....|
|00002c70| 7b 09 2f 2f 20 67 65 74 | 20 74 68 69 73 5f 6d 6f |{.// get| this_mo|
|00002c80| 64 20 66 72 6f 6d 20 6f | 75 72 20 77 69 6e 64 6f |d from o|ur windo|
|00002c90| 77 27 73 20 75 73 65 72 | 20 64 61 74 61 0d 09 09 |w's user| data...|
|00002ca0| 09 09 77 69 6e 61 6d 70 | 56 69 73 4d 6f 64 75 6c |..winamp|VisModul|
|00002cb0| 65 20 2a 74 68 69 73 5f | 6d 6f 64 20 3d 20 28 77 |e *this_|mod = (w|
|00002cc0| 69 6e 61 6d 70 56 69 73 | 4d 6f 64 75 6c 65 20 2a |inampVis|Module *|
|00002cd0| 29 20 47 65 74 57 69 6e | 64 6f 77 4c 6f 6e 67 28 |) GetWin|dowLong(|
|00002ce0| 68 77 6e 64 2c 47 57 4c | 5f 55 53 45 52 44 41 54 |hwnd,GWL|_USERDAT|
|00002cf0| 41 29 3b 0d 09 09 09 09 | 50 6f 73 74 4d 65 73 73 |A);.....|PostMess|
|00002d00| 61 67 65 28 74 68 69 73 | 5f 6d 6f 64 2d 3e 68 77 |age(this|_mod->hw|
|00002d10| 6e 64 50 61 72 65 6e 74 | 2c 6d 65 73 73 61 67 65 |ndParent|,message|
|00002d20| 2c 77 50 61 72 61 6d 2c | 6c 50 61 72 61 6d 29 3b |,wParam,|lParam);|
|00002d30| 0d 09 09 09 7d 0d 09 09 | 72 65 74 75 72 6e 20 30 |....}...|return 0|
|00002d40| 3b 0d 09 09 2f 2a 0d 09 | 09 63 61 73 65 20 57 4d |;.../*..|.case WM|
|00002d50| 5f 4b 45 59 44 4f 57 4e | 3a 20 0d 09 09 09 7b 0d |_KEYDOWN|: ....{.|
|00002d60| 09 09 09 09 69 66 20 28 | 20 21 20 67 57 43 20 2d |....if (| ! gWC -|
|00002d70| 3e 20 48 61 6e 64 6c 65 | 4b 65 79 28 20 30 78 37 |> Handle|Key( 0x7|
|00002d80| 46 20 26 20 77 50 61 72 | 61 6d 20 29 20 29 0d 09 |F & wPar|am ) )..|
|00002d90| 09 09 7d 0d 09 09 09 62 | 72 65 61 6b 3b 2f 2f 72 |..}....b|reak;//r|
|00002da0| 65 74 75 72 6e 20 30 3b | 2a 2f 0d 09 09 09 0d 09 |eturn 0;|*/......|
|00002db0| 09 63 61 73 65 20 57 4d | 5f 4d 4f 56 45 3a 0d 09 |.case WM|_MOVE:..|
|00002dc0| 09 09 72 65 74 75 72 6e | 20 30 3b 0d 09 09 63 61 |..return| 0;...ca|
|00002dd0| 73 65 20 57 4d 5f 53 49 | 5a 45 3a 0d 09 09 09 7b |se WM_SI|ZE:....{|
|00002de0| 0d 09 09 09 09 69 66 20 | 28 20 67 57 43 20 29 20 |.....if |( gWC ) |
|00002df0| 7b 0d 09 09 09 09 09 69 | 66 20 28 20 21 20 67 57 |{......i|f ( ! gW|
|00002e00| 43 20 2d 3e 20 49 73 46 | 75 6c 6c 53 63 72 65 65 |C -> IsF|ullScree|
|00002e10| 6e 28 29 20 29 20 7b 0d | 09 09 09 09 09 0d 09 09 |n() ) {.|........|
|00002e20| 09 09 09 09 52 65 63 74 | 20 72 3b 0d 09 09 09 09 |....Rect| r;.....|
|00002e30| 09 09 67 57 43 20 2d 3e | 20 47 65 74 57 69 6e 52 |..gWC ->| GetWinR|
|00002e40| 65 63 74 28 20 72 20 29 | 3b 0d 09 09 09 09 09 09 |ect( r )|;.......|
|00002e50| 67 57 43 20 2d 3e 20 53 | 65 74 57 69 6e 50 6f 72 |gWC -> S|etWinPor|
|00002e60| 74 28 20 68 77 6e 64 2c | 20 26 72 20 29 3b 0d 09 |t( hwnd,| &r );..|
|00002e70| 09 09 09 09 7d 0d 09 09 | 09 09 7d 0d 0d 09 09 09 |....}...|..}.....|
|00002e80| 7d 0d 09 09 09 72 65 74 | 75 72 6e 20 30 3b 0d 09 |}....ret|urn 0;..|
|00002e90| 7d 0d 09 72 65 74 75 72 | 6e 20 44 65 66 57 69 6e |}..retur|n DefWin|
|00002ea0| 64 6f 77 50 72 6f 63 28 | 68 77 6e 64 2c 6d 65 73 |dowProc(|hwnd,mes|
|00002eb0| 73 61 67 65 2c 77 50 61 | 72 61 6d 2c 6c 50 61 72 |sage,wPa|ram,lPar|
|00002ec0| 61 6d 29 3b 0d 7d 0d 0d | 00 00 00 00 00 00 00 00 |am);.}..|........|
|00002ed0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ee0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ef0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f00| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00002f10| 00 00 ff f5 f5 ff f5 f5 | f5 f5 ff 5c 54 ab ff 00 |........|...\T...|
|00002f20| 00 ff f5 f5 ff f5 f5 f5 | f5 ff 5c 54 ab ff 00 00 |........|..\T....|
|00002f30| 0e 6d 61 69 6e 57 69 6e | 61 6d 70 2e 63 70 70 73 |.mainWin|amp.cpps|
|00002f40| 61 6e 65 6c 53 44 4b 69 | 62 75 74 69 6f 6e 31 31 |anelSDKi|bution11|
|00002f50| 00 00 54 45 58 54 43 57 | 49 45 00 00 ff ff ff ff |..TEXTCW|IE......|
|00002f60| 00 00 00 00 00 00 00 00 | 00 00 80 00 00 00 00 00 |........|........|
|00002f70| 00 00 b2 30 2e 84 00 00 | 2e 48 00 00 01 9a 00 00 |...0....|.H......|
|00002f80| 00 00 00 00 00 ff f5 f5 | f5 f5 f5 ff 00 00 00 00 |........|........|
|00002f90| 00 00 00 00 00 00 ff f5 | f5 f5 ff 00 00 00 00 00 |........|........|
|00002fa0| 00 00 00 00 00 00 00 ff | f5 ff 00 00 00 00 00 00 |........|........|
|00002fb0| 00 00 00 00 00 00 00 00 | ff 00 00 00 00 00 00 00 |........|........|
|00002fc0| 00 00 00 0f 00 00 00 00 | 00 00 00 fc f0 00 00 00 |........|........|
|00002fd0| 00 00 0f c0 cf 00 0f f0 | 00 00 fc 0f 0c f0 fd cf |........|........|
|00002fe0| 00 0f c0 f0 c0 cf dc 5f | 00 fc 0f 0c 0c fd c5 f0 |......._|........|
|00002ff0| 0f c0 f0 c0 cf dc 5f 00 | fc 0f 0c fc fd c5 fc f0 |......_.|........|
|00003000| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00003010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003020| 00 00 00 00 00 00 00 03 | 00 04 00 36 00 cd 02 27 |........|...6...'|
|00003030| 03 71 00 36 00 cd 02 27 | 03 71 b4 31 84 f9 00 00 |.q.6...'|.q.1....|
|00003040| 0d b4 00 00 0d be 00 00 | 0c dd 01 00 00 00 00 04 |........|........|
|00003050| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00003060| 00 00 00 46 04 af d4 30 | 19 b6 00 00 00 1c 00 46 |...F...0|.......F|
|00003070| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00003080| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00003090| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|000030a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+