milkdrop.html 59 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136
  1. <HTML>
  2. <PRE>
  3. <A NAME="milkdrop_top">
  4. <B>MILKDROP 1.04 (7/31/03)</B>
  5. a Winamp visualization plug-in by Ryan Geiss
  6. copyright (c) 2001-2003 Nullsoft, Inc.
  7. Useful Links:
  8. <A HREF="http://www.nullsoft.com/free/milkdrop/">official milkdrop homepage</A>
  9. <A HREF="http://forums.winamp.com/forumdisplay.php?forumid=81">online forums</A> - for preset sharing, troubleshooting, comments, and
  10. feature requests:
  11. <A HREF="http://www.milkdrop.co.uk/">www.milkdrop.co.uk, an excellent third-party site</A>
  12. <A HREF="http://classic.winamp.com/">Nullsoft Winamp</A>
  13. <A HREF="http://www.microsoft.com/windows/directx/">Microsoft DirectX</A>
  14. <B>What is MilkDrop?</B>
  15. -----------------------
  16. MilkDrop is a Winamp audio-visualization plug-in. It uses 3D graphics hardware,
  17. combined with iterative image-based rendering techniques, to create a visual
  18. journey through sound.
  19. <B>Section Listing</B>
  20. -----------------------
  21. 1. <A HREF="#1">requirements</A>
  22. 2. <A HREF="#2">installation</A>
  23. 3. <A HREF="#3">tweaking</A>
  24. 4. <A HREF="#4">usage</A>
  25. 4.a. <A HREF="#4a">keyboard commands</A>
  26. 4.b. <A HREF="#4b">config panel</A>
  27. 4.c. <A HREF="#4c">preset authoring</A>
  28. 4.d. <A HREF="#4d">rating system</A>
  29. 4.e. <A HREF="#4e">custom messages</A>
  30. 4.f. <A HREF="#4f">sprites</A>
  31. 5. <A HREF="#5">troubleshooting</A>
  32. 6. <A HREF="#6">known issues / misc. / tips</A>
  33. 7. <A HREF="#7">using line-in</A> (for live audio input)
  34. 8. <A HREF="#8">acknowledgements</A>
  35. 9. <A HREF="#9">version history</A>
  36. <A NAME="1">
  37. <B>1. Requirements</B>
  38. -----------------------
  39. 1. Windows 98, ME, 2000, or XP.
  40. 2. Hardware-based 3D graphics acceleration (i.e. a video card with 3D support)
  41. with at least 8 MB of video memory; however, 32 MB or more is recommended.
  42. 3. DirectX 8.0 or later ( <A HREF="http://www.microsoft.com/windows/directx/">http://www.microsoft.com/windows/directx/</A> )
  43. 4. Winamp 2.72 or later ( <A HREF="http://classic.winamp.com/">http://classic.winamp.com/</A> ),
  44. or <A HREF="http://www.winamp.com/">Winamp 3.xx</A> with the <A HREF="http://www.winamp.com/components3/detail.jhtml?componentId=122130">Classic Visualization</A> component installed.
  45. <A NAME="2">
  46. <B>2. Installation</B>
  47. -----------------------
  48. To install MilkDrop, simply run the installation program.
  49. To configure it, load up Winamp, and hit CTRL+K. Make sure
  50. 'MilkDrop' is selected in the list, and then click 'Configure'
  51. to customize it, or 'Start' to start it.
  52. You can also use the hotkeys ALT+K to configure MilkDrop,
  53. and CTRL+SHIFT+K to start/stop it.
  54. <A NAME="3">
  55. <B>3. Tweaking to acheive the best image quality</B>
  56. -----------------------
  57. a) color (bit) depth: 16 or 32?
  58. The ideal color (bit) depth for MilkDrop is 32 bits. That
  59. means that you want Windows to be running in 32-bit color
  60. so that MilkDrop, when run in windowed mode, runs in 32-bit
  61. color. To make MilkDrop run fullscreen in 32-bit color, be
  62. sure you've selected a fullscreen display mode (from the
  63. config panel) that is 32 bits (i.e. one of the '8888' formats
  64. in the list).
  65. Some older video cards don't have enough memory to run MilkDrop
  66. properly (or smoothly) in 32 bits, though; you might want to
  67. try 16-bit color if your card has less than 32 MB of video
  68. memory, if you are using a laptop, or if your video card is
  69. significantly old. In the MilkDrop config panel, 16-bit modes
  70. show up as "555" or "565".
  71. If you find that your card runs best in 32-bit color, you should
  72. have no problems with brightness levels while running MilkDrop.
  73. However, if your card runs best in 16-bit color, you should
  74. then adjust the Brightness slider on the second tab of the config
  75. panel (which only affects 16-bit color video modes!). The goal
  76. is to make the image as bright as possible, without oversaturating
  77. it (washing it out, often to bright pink or white). This setting
  78. also varies for different cards, depending on how the card rounds
  79. color values, so we recommend seeing how bright you can set the
  80. slider (closer to '0') without oversaturating the image. Usually,
  81. a setting of '0' or '2' works the best.
  82. b) tips for LCD and laptop users
  83. LCD screens: Note that most LCD screens (flatpanels) usually run
  84. at a fixed frequency only - usually 60 Hz - meaning that they update
  85. the screen 60 times per second. However, sometimes the video driver
  86. reports that it supports other refresh rates, such as 72, 75, 85, etc.
  87. It is strongly recommended that [for fullscreen mode, and for Windows
  88. in general] you choose a display mode with a 60 Hz refresh rate, for
  89. the smoothest possible animation. For this plugin, you will also want
  90. to choose Maximum Framerates that divide evenly into 60 - such as 60,
  91. 30, 20, 15, 12, 10, 6, 5, and so on - so that the # of times the LCD
  92. shows each frame of animation remains constant, resulting in the
  93. smoothest possible animation.
  94. <A NAME="4">
  95. <B>4. Usage</B>
  96. -----------------------
  97. <A NAME="4a">
  98. <B>4.a. Keyboard Commands</B>
  99. The following keys can be used to control MilkDrop while it is running.
  100. (Note: pressing F1 while MilkDrop is running will show you this list)
  101. <FONT SIZE="3">
  102. <B>GENERAL</B>
  103. escape: exit to winamp
  104. <B>PRESET LOADING</B>
  105. spacebar: transition to next preset
  106. H: instant Hard cut (to next preset)
  107. R: toggle random (vs. sequential) preset traversal
  108. L: load a specific preset (invokes the 'Load' menu)
  109. +/-: rate current preset (better/worse)
  110. scroll lock: lock/unlock current preset
  111. (keyboard light on means preset is locked)
  112. (prevents random switch to new preset)
  113. <B>PRESET EDITING AND SAVING</B>
  114. M: show/hide the preset-editing menu
  115. S: save new preset (asks you for the new filename)
  116. N: show per-frame variable moNitor
  117. (see <A HREF="milkdrop_preset_authoring.html">milkdrop_preset_authoring.html</A>)
  118. <B>MUSIC PLAYBACK</B>
  119. z/x/c/v/b: navigate playlist (prev/play/pause/stop/next)
  120. U: toggle shuffle
  121. P: show playlist
  122. up/down arrows: volume up/down
  123. left/right arrows: rewind/ffwd 5 seconds
  124. SHIFT + left/right arrows: rewind/ffwd 30 seconds
  125. <B>FUNCTION KEYS</B>
  126. F1: show help screen
  127. F2: show song title
  128. F3: show song length
  129. F4: show preset name
  130. F5: show fps (frames per second)
  131. F6: show rating of current preset
  132. F7: re-read custom message file (milk_msg.ini) from disk
  133. F8: jump to new directory (for presets)
  134. F9: toggle stereo 3D on/off
  135. <B>SPRITES AND CUSTOM MESSAGES (FOR VJ's)</B>
  136. T: launch song title animation
  137. Y: enter custom message mode
  138. ##: load message ## (where ## is a 2-digit numeric code (00-99)
  139. of a message defined in <B>milk_msg.ini</B>)
  140. BACKSPACE: clear any digits entered.
  141. DELETE: clear message (if visible)
  142. F7: re-read <B>milk_msg.ini</B> from disk
  143. K: enter sprite mode
  144. ##: load sprite ## (where ## is a 2-digit numeric code (00-99)
  145. of a sprite defined in <B>milk_img.ini</B>)
  146. BACKSPACE: clear any digits entered.
  147. DELETE: clear newest sprite
  148. SHIFT + DELETE: clear oldest sprite
  149. CTRL+SHIFT+DELETE: clear all sprites
  150. F7: no effect (<B>milk_img.ini</B> is never cached)
  151. SHIFT + K: enter sprite kill mode
  152. ##: clear all sprites with code ##
  153. BACKSPACE: clear any digits entered.
  154. CTRL + T/Y: kill song title and/or any custom messages
  155. CTRL + K: kill all sprites
  156. </FONT>
  157. <A NAME="4b">
  158. <B>4.b. config panel</B>
  159. The configuration panel lets you customize the way MilkDrop runs.
  160. To learn how to get to the configuration panel, see the "Installation"
  161. section above.
  162. Once you're in the config panel, you'll see a number of tabs
  163. at the top, some dropdown boxes, and some checkboxes. Each
  164. of the tabs at the top brings you to a different page of
  165. configuration options. To get help on a setting, simply click
  166. on the '?' in the upper-right corner of the config panel,
  167. and then click on the setting you want help with.
  168. <A NAME="4c">
  169. <B>4.c. preset authoring</B>
  170. Please see the included text file, <A HREF="milkdrop_preset_authoring.html">milkdrop_preset_authoring.html</A>,
  171. for instructions on how to create and save your own presets.
  172. <A NAME="4d">
  173. <B>4.d. rating system</B>
  174. The built-in rating system allows you to rate each preset on a scale
  175. from 0 to 5. A rating of 5 is very good, while a rating of 0 is
  176. the worst. The ratings decide how often the presets will be randomly
  177. loaded. If a preset has a rating of 0, it will never be randomly
  178. loaded (unless they're all zero; then they all have an equal chance).
  179. To show the rating for a preset, press F6. You can adjust the
  180. rating for a preset with the +/- keys. When you make adjustments,
  181. they save automatically; there's no need to save the preset to make
  182. the rating change permanent.
  183. Here's a recommended interpretation of the numeric values:
  184. 0 = I never want to see this preset again
  185. 1 = very ugly
  186. 2 = mediocre
  187. 3 = fair
  188. 4 = good
  189. 5 = downright stimulating
  190. If a preset seems "lost" because you set its rating to 0 and it
  191. won't ever come back, you can always load it up by hitting 'L'
  192. to conjure the 'Load Preset' menu, finding the preset you want,
  193. loading it, then hitting +.
  194. <A NAME="4e">
  195. <B>4.e. custom messages</B>
  196. ABOUT CUSTOM MESSAGES
  197. The "Custom Message" feature of MilkDrop allows you to display
  198. short text messages on the screen while MilkDrop is running.
  199. They are highly configurable; you can set all of the following
  200. parameters: the font, the size, the positioning, color, bold
  201. state, italic state, and so on; and you can even have it
  202. randomize some of these properties.
  203. CREATING THE MESSAGES
  204. You can save up to 100 messages in the file MILK_MSG.INI in
  205. your Winamp\Plugins\ folder. To open this file, go to the
  206. MilkDrop configuration screen (ALT+K from Winamp) and click the
  207. "Edit Custom Messages" button. Or, you can just edit it
  208. manually if you know how; it's plain-text.
  209. The first thing you see when you open the file is a bunch of
  210. lines that start with two forward slashes (//). These are
  211. comment lines, and they explain the syntax for adding a font
  212. or a message to the file. This is your main reference for
  213. finding out what all the parameters do for the fonts & messages;
  214. it is recommended that you leave this information in the file,
  215. although it can be removed or (modified) and the messages will
  216. still work.
  217. After the comments come first the fonts, then the messages.
  218. The fonts are simply a way to specify a typeface, bold state,
  219. italics state, and red/green/blue color for the font. You can
  220. configure up to 16 fonts like this (numbered 00-15). These fonts
  221. will serve as template fonts for the custom messages.
  222. The next section is the actual messages. Each one has a
  223. text message (the 'text' parameter) that will be shown to the
  224. user, and each one references one of the 16 fonts that were
  225. defined in the previous section. You can also specify the
  226. size (size), position (x,y), a growth factor (growth) that
  227. will grow/shrink the message over its lifetime, the number
  228. of seconds to show the message (time), and the fraction of that
  229. time that is spent fading in (fade).
  230. You can also randomize some of these values: 'randx' and 'randy'
  231. will randomly perturb the (x,y) coordinates every time the message
  232. is shown to the user, and 'randr'/'randg'/'randb' will randomly
  233. perturb the (r,g,b) color in the same way.
  234. Finally, you can override any of the default properties for the
  235. font that this message uses: (face, bold, ital, r, g, b).
  236. INVOCATION AND USAGE
  237. There are two ways to invoke custom messages: one automatic,
  238. the other manual.
  239. The automatic way is to go to the MilkDrop config panel (ALT+K),
  240. click the 'More Options' button, and set the value in the
  241. 'Time between RANDOM custom messages' box to something greater
  242. than zero. This will cause MilkDrop to randomly display custom
  243. messages while it is running, and the average time (in seconds)
  244. between messages will be the value you entered here. If you
  245. wish to disable random custom messages, set this value to -1
  246. (or any negative number). Note that all messages in the file
  247. have an equal change of being picked.
  248. The manual way is to type in the two-digit code (00-99) of the
  249. message while MilkDrop is running. However, you can't use the
  250. numeric keypad for this - you have to use the numbers at the
  251. TOP of your keyboard to do it. If you mess up while entering
  252. the first digit, just press the BACKSPACE key to back up.
  253. Note that if you change the MILK_MSG.INI file while MilkDrop
  254. is running, you will not be able to see the changes until
  255. you hit F7, which tells MilkDrop to re-read the MILK_MSG.INI
  256. file from disk.
  257. <A NAME="4f">
  258. <B>4.f. sprites</B>
  259. ABOUT SPRITES
  260. The "Sprite" feature of MilkDrop allows you to display
  261. any image of your choice in the foreground (on top of
  262. MilkDrop) while it runs. The sprites can fade in and out,
  263. move around, respond to the music, and so on. You define
  264. them in a file - <B>milk_img.ini</B> in your winamp\plugins
  265. directory - much like you define custom messages, each
  266. having an identifying code number from 00 through 99 (used
  267. to invoke them). However, the way the individual sprites
  268. are defined is different; <EM>you write code for them</EM>, instead
  269. of just setting parameter values. This is a little bit
  270. tougher to do (it's very much like preset authoring), but
  271. adds a great deal of flexibility to what you can do with
  272. the sprites.
  273. CREATING THE SPRITES
  274. You can define up to 100 sprites in the file MILK_IMG.INI in
  275. your Winamp\Plugins\ folder. To open this file, go to the
  276. MilkDrop configuration screen (ALT+K from Winamp) and click the
  277. "Edit Sprites" button. Or, you can just edit it manually if
  278. you know how; it's plain-text.
  279. The first thing you see when you open the file is a bunch of
  280. lines that start with two forward slashes (//). These are
  281. comment lines, and they explain the syntax for creating a sprite.
  282. This is your main reference for finding out what all the
  283. parameters do for the fonts & messages; it is recommended that
  284. you leave this information in the file, although it can be removed
  285. (or modified) and the sprites will still work.
  286. After the comments come the sprite definitions. Each sprite is
  287. made up of one parameter that indicates the image file to use
  288. (this is the 'img=...' line), and two types of code: initialization
  289. code, and regular code.
  290. The first - initialization code - is executed only once, when you
  291. launch the sprite. Use it to do one-time initialization of variables
  292. (such as the opacity (a), rotation angle (rot), position (x,y),
  293. and so on) or to invent new variables that you will access later.
  294. This code is marked by the 'init_1=...', 'init_2=...', etc. lines.
  295. The second type of code - marked by 'code_1=...', 'code_2=...', etc.
  296. - is executed every frame, just prior to plastering the sprite on
  297. the screen. Use it to animate the sprite, moving it around (changing
  298. x,y), scaling it up and down (sx,sy), fading it in and out (a),
  299. changing its color, and so on.
  300. Please see the comments included in the sample milk_img.ini file
  301. for full details and examples on how to author sprites.
  302. INVOCATION AND USAGE
  303. There is currently only one way to invoke sprites: manually.
  304. To do this, first press 'K' to enter 'sprite mode' (while
  305. running MilkDrop). Now, whenever you type in a two-digit
  306. code (00-99), MilkDrop will try to find & launch the sprite
  307. you've requested, from the milk_img.ini file. If there is
  308. an error, it will display an error message in the upper-right
  309. corner. Note that to enter the two-digit code, you can't use
  310. the numeric keypad; you have to use the numbers at the TOP of
  311. your keyboard.
  312. If you make an error entering the first digit of the code,
  313. just press 'BACKSPACE' to back up one digit. If you want to
  314. clear the most recently-invoked sprite, press DELETE. If you
  315. want to clear the oldest sprite, press SHIFT + DELETE. If you
  316. want to clear all sprites, press SHIFT + CTRL + DELETE.
  317. If you want to clear sprites by their 2-digit code, press
  318. SHIFT + K (instead of just 'K') to enter 'sprite kill mode.'
  319. Now, when you enter a two-digit code, instead of invoking
  320. the sprite, MilkDrop clears all running sprites with that
  321. two-digit code.
  322. <A NAME="5">
  323. <B>5. TROUBLESHOOTING</B>
  324. -----------------------
  325. If MilkDrop has a critical problem (e.g. fails to load, freezes, etc.)
  326. or if the image is distorted, torn, all white, or all black, try the
  327. following two suggestions to resolve the problem. In 90% of these cases it
  328. can be fixed. If you have a different problem, scroll down past this
  329. part and try to find the appropriate symptom and its solution.
  330. 1. [RE]INSTALL DIRECTX
  331. Make sure you have the latest version of <A HREF="http://www.microsoft.com/windows/directx/">Microsoft DirectX</A>
  332. (9.x at the time this documentation was written). Even if
  333. you already have it, consider re-installing it, since files
  334. can be corrupted over time, and because poorly-written video
  335. drivers can sometimes break your DirectX installation.
  336. 2. UPDATE YOUR VIDEO DRIVER, OR TRY OTHER DRIVERS
  337. A "driver" is a piece of software that translates graphics-related
  338. commands from programs, like MilkDrop, into the native language of
  339. your specific graphics hardware.
  340. There are typically three sources for video drivers:
  341. 1) those from the card manufacturer's website
  342. 2) those from the chip manufacturer's website
  343. ("reference" drivers for the chip that powers the card)
  344. 3) those that shipped with Windows
  345. Give them all a shot. Track down every driver you can find for
  346. your card, and try it. If your card isn't top-of-the-line, try
  347. uninstalling your driver and use Windows Update to install the
  348. drive that came with Windows. If it is top-of-the-line, try the
  349. various drivers available: the latest "beta" (pre-release)
  350. drivers, the certified drivers, and perhaps the reference driver.
  351. In general, though, it's a very good idea to use only Microsoft-
  352. certified WHQL (Windows Hardware Quality Labs) drivers for your
  353. video card. Often people want to get the newest, fastest beta
  354. drivers, but these drivers are almost ALWAYS riddled with new bugs.
  355. Here is a list of some common card/chip manufacturers and where
  356. to get their drivers:
  357. [ <A HREF="http://www.nvidia.com/view.asp?PAGE=drivers">nVidia</A> ]
  358. [ <A HREF="http://www.ati.com/">ATI</A> ]
  359. [ <A HREF="http://www.matrox.com/mga/support/drivers/home.cfm">Matrox</A> ]
  360. [ <A HREF="http://www.voodoofiles.com/">3dfx voodoo drivers</A> ]
  361. [ <A HREF="http://www.diamondmm.com/default.asp?menu=support&submenu=Legacy_Graphics">Diamond</A> ]
  362. [ <A HREF="http://www.creative.com/">Creative</A> ]
  363. [ <A HREF="http://www.tridentmicro.com/drivers/index.html">Trident</A> ]
  364. Here are some sites that mirror (or link to) drivers from many sources:
  365. [ <A HREF="http://winfiles.cnet.com/">CNET</A> ] (then click 'Utilities & Drivers', then 'Display & Video')
  366. [ <A HREF="http://www.driverzone.com/video.html">Driverzone.com</A> ]
  367. And if those all fail, there's always Google:
  368. [ <A HREF="http://www.google.com/">Google</A> ]
  369. If you're having a non-critical problem, browse the following list of
  370. common problems and their causes and solutions. Note that for each symptom-
  371. cause-solution block, there can be multiple symptoms with the same cause and
  372. solution, and the same symptom might be listed in multiple blocks.
  373. If the solutions below don't work for you, please visit the forums at
  374. <A HREF="http://www.nullsoft.com/free/milkdrop">http://www.nullsoft.com/free/milkdrop</A>, where you can read the most
  375. recent troubleshooting issues and solutions.
  376. ENTRY 1
  377. SYMPTOM:
  378. -any error message saying "Failed to create ..."
  379. or "not enough memory...", or
  380. -only a portion of the screen displays correctly; the rest is
  381. either filled with garbage or badly flickering
  382. CAUSE:
  383. 1) Your video card might not have enough memory to run MilkDrop at
  384. the resolution (screen width and height) you've picked,
  385. 2) your drivers might be out of date, or
  386. 3) you might need to reinstall DirectX.
  387. SOLUTION:
  388. 1) To battle video memory problems:
  389. Go to the config panel and try smaller video modes (e.g.,
  390. 320x240 is smaller than 640x480). Even better is to try
  391. a lower color bit depth; if you'd selected a 32-bit ("8888")
  392. video mode before, try a 16- ("565" or "555") or 24-bit ("888")
  393. one, for example. Note that it might only work in one of them;
  394. so make sure you try them all. Trying these things is especially
  395. important on laptops with limited video memory, or older video
  396. cards with a small amount of video memory.
  397. It can also help (especially when running MilkDrop in
  398. windowed mode) to set your Windows display mode to 16-bit to
  399. free up some video memory. To do this, go to the Start Menu
  400. -> Settings -> Control Panel -> Display -> Settings tab, and
  401. then select "High Color (16 bit)".
  402. Finally, you can try locking the texture size to "256" and see
  403. if that fixes the problem. Some video cards - especially
  404. those built-in to laptops - report that they can support texture
  405. sizes of 512x512 or 1024x1024, but they don't seem to do it
  406. properly (or else I've got a bug in there... still working on
  407. this one). If 256x256 works (i.e. no garbage), try locking it
  408. at 512x512 and see if that works as well, because the higher the
  409. texture size, the better the image will look.
  410. 2,3) for instructions on how to reinstall DirectX or update
  411. drivers, <A HREF="#5">click here</A>.
  412. ENTRY 2
  413. SYMPTOM:
  414. -MilkDrop turns bright pink or white after running for a few
  415. seconds in 16-bit color.
  416. -MilkDrop is just way too bright.
  417. CAUSE:
  418. The extremely technical explanation is that when your video
  419. card "blits", it rounds to the nearest color, instead of rounding
  420. down, and because of the limited precision (5 bits per channel)
  421. in 16-bit color video modes, the iterative decay process (that
  422. fades pixels to black as they age) gets stuck.
  423. SOLUTION:
  424. Go to the config panel, find the "brightness control" slider,
  425. and slide it to the right (to "2" or darker).
  426. ENTRY 3
  427. SYMPTOM:
  428. -long pauses when MilkDrop starts, or when you change directory
  429. CAUSE:
  430. You could have a virus checker running that is interfering with
  431. MilkDrop's scanning of preset files; or, your hard drive might
  432. just have a really slow access speed.
  433. SOLUTION:
  434. Try disabling your virus protection software and see if this
  435. helps; if often does. If that doesn't work, try going to the
  436. config panel and toggling the "Disable preset rating" checkbox
  437. so that it is checked. Disabling the preset rating system
  438. prevents MilkDrop from having to scan all your preset files
  439. for their ratings, which, on a rare few systems, can cause
  440. long pauses at times.
  441. ENTRY 4
  442. SYMPTOM:
  443. -MilkDrop is too dark in 16-bit color
  444. CAUSE:
  445. Similar to the above problem
  446. SOLUTION:
  447. Go to the config panel, find the "brightness control" slider,
  448. and slide it to the left (to "2" or brighter; try "0" first).
  449. If this causes your display to turn bright pink or white after
  450. running MilkDrop for a few seconds, though, you'll need to
  451. return here and try darker settings.
  452. ENTRY 5
  453. SYMPTOM:
  454. -there's a pause every time MilkDrop switches presets
  455. CAUSE:
  456. You might have a virus scanner enabled.
  457. SOLUTION:
  458. Disable your virus scanning program before running MilkDrop.
  459. ENTRY 6
  460. SYMPTOM:
  461. -things flicker through (such as my AIM window ticker, taskbar
  462. clock, web page animations, etc.) when I'm running MilkDrop
  463. in fullscreen mode.
  464. CAUSE:
  465. You're probably running MilkDrop fullscreen at the same
  466. resolution & color depth as your desktop, and Windows isn't
  467. properly handling MilkDrop's request for exclusive access to the
  468. screen, and is still letting other applications paint (draw)
  469. themselves.
  470. SOLUTION:
  471. Change either your Windows desktop resolution or color depth, or
  472. MilkDrop's fullscreen resolution or color depth, so that there
  473. is some difference between the two. (To change your Windows
  474. display settings, go to the Start Menu -> Settings -> Control
  475. Panel -> Display -> Settings tab, and then change the "colors"
  476. or "screen area" settings from there.)
  477. <A NAME="6">
  478. <B>6. Known Issues / Misc. / Tips:</B>
  479. ---------------
  480. a. When Winamp is running, your screensaver will not kick in,
  481. your monitor will be prevented from entering powersave mode,
  482. and your system will not be able to go into standby.
  483. b. 3DFX VOODOO 3, 4, 5, etc. ON WINDOWS 2000: you will likely
  484. have to go to <A HREF="http://www.voodoofiles.com/">http://www.voodoofiles.com/</A> to find
  485. good display drivers that work with MilkDrop (be warned, you might
  486. have to try several). If you get a white screen, especially, try
  487. other drivers.
  488. c. ATI rage mobility 8mb chipset (on many laptops): from the Milkdrop
  489. config panel, you must set the texture size to 256x256, otherwise
  490. you'll get weird garbage & flickering at the bottom of the screen.
  491. d. Tip for video capture: if you'd like to save sequences of video
  492. from this plugin, there are several programs out there that will
  493. let you do this. Warning: you will need a ton of free hard drive
  494. space, and a fast CPU helps. A few of these programs are:
  495. "FRAPS" <A HREF="http://www.fraps.com/">http://www.fraps.com/</A>
  496. "Hypercam" <A HREF="http://www.hyperionics.com">http://www.hyperionics.com</A>
  497. e. Close other apps:
  498. For the best graphics performance, try to close as many other
  499. applications as you can, before running the plugin, especially
  500. those that tend to work in the background, such as anti-virus
  501. or file-swapping software. Also, if you must leave other
  502. applications open, try to minimize them (i.e. shrink the window
  503. down to the taskbar) so that they stay out of the painting loop.
  504. <A NAME="7">
  505. <B>7. Using Line-In</B>
  506. -----------------------
  507. If you want to use your sound card's Line-In or CD Audio inputs for
  508. sound data (instead of mp3 files), you can do this. Do the following:
  509. 1. CONNECT WIRES
  510. Connect your audio source (a stereo, a live feed, whatever) into
  511. the line-in (or microphone) 1/8" jack on your sound card. You
  512. might want to test & verify that your cable is good before doing
  513. this.
  514. 2. SELECT SOUND INPUT CHANNEL & ADJUST VOLUME
  515. In Windows, double-click the speaker icon in your systray (where
  516. the clock is). Then, on the menu, go to Options -> Properties
  517. and select the "Recording" option. Then make sure the Line In
  518. (or Microphone) input channel (whichever is appropriate for
  519. your case) is SELECTED (with a check mark) and that the volume
  520. is close to, or at, the maximum. Hit OK.
  521. 3. TELL WINAMP TO USE LINE-IN
  522. Open Winamp, and hit CTRL+L (the "Open Location" hotkey). Now
  523. type in "linein://" as the location you want to open. (Leave out
  524. the quotes and make sure you use FORWARD slashes.) Hit PLAY
  525. ('x' key for the lazy), and the little built-in oscilloscope (or
  526. spectrum analyzer) in Winamp should start showing your signal.
  527. 4. RUN MILKDROP
  528. Run MilkDrop as usual. If the waves are too small or large,
  529. either adjust the volume from Windows' Volume Control, or adjust
  530. the sound level at the source.
  531. If you are doing shows using live audio, and if you have a multiple monitor
  532. setup, you might also want to use the "VJ mode" feature, which lets you
  533. control MilkDrop via a separate monitor.
  534. <A NAME="8">
  535. <B>8. Acknowledgements</B>
  536. -----------------------
  537. A very special thanks & triple word scores out to Francis Gastellu
  538. and Justin Frankel for the use of their quite-excellent
  539. realtime mathematical expression evaluation library, evallib.
  540. Also, a super special thanks go out to the following preset
  541. authors for their excellent artistic & mathematical work:
  542. Aderrasi
  543. Bill Melgren
  544. Che
  545. CTho
  546. Eo.S.
  547. Idiot
  548. Illusion
  549. Krash
  550. Mstress
  551. Phat
  552. Red Jedi
  553. Rovastar
  554. Rozzor
  555. Studiomusic
  556. Shifter
  557. Telek
  558. Tobias Wolf Boi
  559. Unchained
  560. Yin
  561. Zylot
  562. ...and to everyone else who has contributed.
  563. <A NAME="9">
  564. <B>9. Version History</B>
  565. -----------------------
  566. 1.04 - 31 July 2003
  567. -upgraded to VMS (VisMegaSDK) 1.05 and DirectX 8. That means a revolutionized
  568. Desktop Mode, better driver support, better multimon support, winamp
  569. skinning (when running in windowed mode), increased general stability,
  570. and much, much more.
  571. -added CUSTOM SHAPES and CUSTOM WAVEFORMS.
  572. -added the following variables for per-frame scripting: (all booleans, except
  573. 'gamma') wave_usedots, wave_thick, wave_additive, wave_brighten
  574. gamma, darken_center, wrap, invert, brighten, darken, solarize
  575. (also, note that echo_zoom, echo_alpha, and echo_orient were already in there,
  576. but weren't covered in the documentation!)
  577. -added 'meshx' and 'meshy' [read-only] variables to the preset init, per-frame,
  578. and per-pixel equations
  579. -cranked max. mesh size up to 128x96
  580. -added alphanumeric seeking to the playlist; while playlist is up,
  581. you can now press A-Z and 0-9 to seek to the next song in the playlist
  582. that starts with that character. SHIFT+A-Z seeks upward (while lowercase/
  583. regular a-z seeks downward).
  584. -added some options to config panel
  585. -sprites & custom messages: added 'kill' keys
  586. -CTRL+K kills all running sprites
  587. -CTRL+T kills current song title anim
  588. -CTRL+Y kills current custom message
  589. -sprites:
  590. -for sprites, color key can't be a range anymore; it's
  591. now limited to just a single color. 'colorkey_lo' and
  592. 'colorkey_hi' have been replaced with just one setting,
  593. 'colorkey'.
  594. -also, behavior of the 'burn' variable has changed; now,
  595. a sprite can be burned in on any frame, not just on the
  596. last frame before it dies. See the sample sprite config
  597. file, milk_img.ini, for more information.
  598. -preset ratings are no longer read in all at once; instead, they are scanned in
  599. 1 per frame until they're all in. This fixes the long pauses when you switch
  600. to a directory that has many hundreds of presets. If you want to switch
  601. back to the old way (read them all in at once), there is an option for it
  602. in the config panel.
  603. -internal texture size now has a little more bias toward a finer texture,
  604. based on the window size, when set to 'Auto'. (Before, for example,
  605. to reach 1024x1024, the window had to be 768x768 or greater; now, it
  606. only has to be 640x640 (25% of the way there). I adjusted it because
  607. before, at in-between resolutions like 767x767, it looked very grainy;
  608. now it will always look nice and crisp, at any window size, but still
  609. won't cause too much aliasing (due to downsampling for display).
  610. -..and much many massive amounts of more!
  611. 1.03 final - 19 June 2002
  612. -fixed bug with motion vectors; when there were 64 of them on X
  613. and 48 and Y (the upper limits), stray lines would sometimes
  614. be drawn along the top and right edges of the screen.
  615. -revamped the help screen
  616. -added some cool new presets
  617. -touched up the documentation
  618. 1.03 beta 3 - 15 May 2002
  619. -letter 'g' no longer gets cut off in custom messages
  620. -(oops... it's 'wave_mode', not 'wave_type'.)
  621. -fixed 'q1'..'q8' in the preset init code.
  622. -revamped the way presets are loaded & blended; transitions
  623. should be cleaner now.
  624. -made motion vectors morph more smoothly during transitions;
  625. if the old preset had motion vectors on but the new one
  626. doesn't, then the #, drift speed, length, and color
  627. of motion vectors does not change as they fade out;
  628. and vice versa if the mv's are fading in.
  629. -added optional 'burn-in' for sprites, so when they are finished,
  630. they leave an imprint in the background. The sprite will
  631. burn into the background at the end of its lifetime
  632. if the variable 'burn' is set to a nonzero value; if 'burn'
  633. is zero, the sprite will not burn in.
  634. -motion vectors: reverted to 1.02 functionality, following
  635. krash's advice. So mv's should now be backwards-compatible
  636. (with 1.02 versions and earlier). Now, dx and dy are constant
  637. offsets for the motion vectors; if you want them to scroll,
  638. alter dx and dy based on the time (or frame).
  639. -finished writing critical notes in milk_img.ini.
  640. -revamped the keyboard interface for custom messages & sprites.
  641. see the documentation. The realtime help screen won't
  642. provide too useful, though (not enough space to lay it all
  643. down there).
  644. 1.03 beta 2 - 1 May 2002
  645. -preset comments are in; start them with '//' anywhere on the line,
  646. and the rest of the line will be ignored.
  647. -added variables:
  648. -fps (read-only)
  649. -video echo options: echo_zoom (0..1..+inf), echo_alpha (0..1),
  650. echo_orient (0,1,2,3)
  651. -motion vector drift: mv_dx, mv_dy (a la geiss)
  652. -wave_mode[0-7], wave_a(0..?)
  653. -fixed texel alignment
  654. -nVidia: dx|dy += -1/(texsize*2)
  655. -same for: http://forums.winamp.com/showthread.php?threadid=83401
  656. All nVidia Cards (Many confirmed tested),
  657. 3dfx Voodoo Cards (Voodoo 3 confirmed tested),
  658. ATI Cards (ATI All-In-Wonder confirmed Tested)
  659. Kyro II Confirmed Tested
  660. even Illusion's antiquated Intel Card needs it.
  661. -(untested: the matrox cards)
  662. -super thanks to Rovastar for researching & cracking this one
  663. -added option for thicker waves; see wave menu.
  664. -note: only takes effect when texture size is >= 512x512!
  665. -modified presets for new texel alignment fix:
  666. -Zylot - Tunnel of Illusion
  667. -Zylot - S. Pulse Virus
  668. -Most of Krash' s presets
  669. -Illusion and Rovastar - Grand Odyssey Mod
  670. -Unchained: Goo Kung Foo and Perverted dialect.
  671. -optimized some, thanks to Rovastar for pointing out lines in
  672. per-pixel code that could be migrated into per-frame code.
  673. -many of my own: made waveforms thick
  674. -some new presets
  675. -(bipolar 4,5; supernova 2; calligraphy; others from milkdrop.co.uk)
  676. -fixed bug with sound analysis where sound variables in expressions
  677. (bass, bass_att, treb, etc.) could be NAN on the first frame
  678. that milkdrop ran. (symptoms could be bad if the value was
  679. used over & over in subsequent frames!)
  680. -saved about 100k on the installer by updating to NSIS 1.98 and
  681. using the new bzip2 compression. (thanks again to rovastar)
  682. -made the texture used for song titles & custom messages take 1/4
  683. as much video memory (was square before, blech - now it tries
  684. 4:1; if that fails it tries 2:1; then 1:1 as a last resort.)
  685. -added config panel option to mute all errors/warnings that might
  686. appear in the upper-right corner.
  687. -revamped the configuration for desktop mode w/software blit.
  688. Now, you have a choice of 3 different ways to bring the image
  689. across the bus (from video to system memory). Then the image
  690. is converted from RGB to YUV on the cpu, and then you also get
  691. to select how to send the image across the bus again, back to
  692. video memory, for display on the desktop. The 3 methods are
  693. 1) copy the data using an mmx-accelerated memory copy routine
  694. (never-fail cornbread)
  695. 2) use directx to blit from one surface to another
  696. (sometimes drivers flake out on this)
  697. 3) skip it; read/write directly to/from video memory
  698. (never-fail cornbread)
  699. Regarding 1 vs. 3: they'll both always work; usually #1 is
  700. faster going from video to system memory, and #3 is faster
  701. going from system back to video; but not always. Try different
  702. combinations out on your card and see what happens.
  703. -sprites!
  704. users can edit 'milk_img.ini' and write their own code to control
  705. the sprites. Each sprite is an instance of a jpeg image from disk,
  706. displayed according to the code in the .ini file. Up to 16 sprites
  707. can be running at once.
  708. -stole Y + K keys for use with custom messages & sprites.
  709. Hit 'y' to enter custom message mode, then enter two-digit
  710. codes to launch custom messages. Hit 'k' to enter sprite
  711. mode, then enter three-digit codes to launch sprites.
  712. -added 'preset initialization code', so you can initialize
  713. your custom variables when the preset is first loaded.
  714. -increased number of 'q' variables from 5 to 8. (q1..q8 are
  715. used to carry values from the per-frame equations to the
  716. per-pixel equations. Note that they can now also carry
  717. values from the preset init equations, on to the per-frame
  718. AND per-pixel equations!)
  719. -automated the brightness slider in the config panel; now there's
  720. a checkbox that says, 'guess, based on my video card'. Currently,
  721. the auto-brightness algorithm is simple: if you have an nVidia
  722. card, it will set it to 2; otherwise, it sets it to 0.
  723. 1.02 - 2/7/02
  724. -added CUSTOM MESSAGES - you can edit them in the file MILK_MSG.INI in your
  725. WINAMP\PLUGINS directory. They are displayed by either keying in their
  726. 2-digit numerical code ('##') at runtime, or randomly if you choose this
  727. option from the config panel (see the 'More Options' dialog).
  728. -also added RANDOMIZATION FOR SONG TITLE ANIMATIONS (also see the 'More
  729. Options' dialog from the config panel).
  730. -added INSTANT HARD CUT HOTKEY: 'H'
  731. -for preset authors:
  732. -per_frame and per_pixel code use to get cut off if they didn't fit
  733. on the screen; this is now fixed (flips to next page as needed)
  734. -when editing per-frame/per-pixel equations, the line that the cursor
  735. is on is now highlighted!
  736. -fixed an old bug where if the per-pixel or per-frame code had nothing
  737. in it except spaces & linefeeds, it would display an error message
  738. saying "error in per-{pixel|frame} code".
  739. -added a 'trail length' parameter to the motion vectors.
  740. -added a bunch of per-frame variables to control the motion vectors:
  741. mv_x, mv_y, mv_l, mv_r, mv_g, mv_b, mv_a. Also got rid of the
  742. motion vectors on/off setting; now the opacity controls this.
  743. -cranked up max. # of user variables from 23 to 33. (Added 16 slots,
  744. but used 6 of them for motion vectors.)
  745. -added a per-frame variable called 'monitor'. Set the value of this
  746. variable in the per-frame code, and then press 'N' to monitor (show)
  747. its value in the top-right corner of the screen. Should be very
  748. useful for debugging. (Thanks to Krash for the great suggestion
  749. on how to implement this!)
  750. -added the int() function, which turns the argument into an integer
  751. (whole number). Rounding is toward zero. Examples:
  752. int(-1.1) -> -1, int(-1) -> -1, int(-0.9) -> 0;
  753. int(0.9) -> 0, int (1.0) -> 1, int(1.1) -> 1;
  754. int (2.1) -> 2.
  755. -improved 3D mode:
  756. -drastically improved quality of stereo 3D images by changing default
  757. 3d colors to CYAN (full green + blue; was just full blue) for the
  758. left eye and RED for the right eye. It turns out that this provides
  759. an equivalent 3d image, but gives you the full range of colors for
  760. all presets, which in turn probably makes the 3Dness more visible
  761. to your brain anyway.
  762. -also, when in 3D mode, made the waveforms 60% white and 40% their
  763. original color (used to be 100% white because so much color was lost
  764. in the green channel).
  765. -song titles:
  766. -(added randomization, as mentioned above)
  767. -improved max. resolution of song titles by increasing the max.
  768. allowable GDI font size
  769. -fixed longstanding bug with the "burning in" of song titles after
  770. they're done displaying; the old, floating location wouldn't exactly
  771. match where the title would be burned into the background & melt away.
  772. -timing & animation:
  773. -protected against milkdrop's animation running super-fast because the
  774. clock jumped way ahead when no frames were rendered (i.e. milkdrop
  775. got stalled somehow).
  776. -smoothed the animation by assuming the time for each frame to be 80%
  777. of 1/fps and 20% the actual time reported.
  778. -misc:
  779. -converted ANSI_CHARSET to DEFAULT_CHARSET in CreateFont() calls (should
  780. fix some display of funky/foreign character sets)
  781. -added 'R' key to toggle random vs. sequential order for loading presets
  782. -fixed alphanumeric sorting of presets (used to have minor errors such
  783. as putting "galaxy 2" before "galaxy", and so forth - unfortunately
  784. this is how strcmp() - even Windows Explorer - sorts them. I rewrote
  785. strcmp() to make it sort in a more 'natural' order.)
  786. -'&' characters in preset filenames no longer show up as an '_' character,
  787. although it still looks funny if you try to save one with an '&' already
  788. in it, but don't worry, it will preserve the '&' (even though it looks
  789. messed up). Note that you still can't type a *new* '&' into the filename
  790. when you go to save a preset. It is safe to rename it from outside
  791. MilkDrop, though, and use it in MilkDrop later.
  792. -fixed preset-to-preset blending bugs for the 10 border variables.
  793. -fixed a bug in blending from a preset using waveform #7 (two horizontal
  794. waveforms) to waveform #0 (a circular waveform), where the right edge
  795. of the top horizonal wave would get connected (via a straight line)
  796. to the left edge of the bottom horizontal wave, as soon as the blend
  797. began.
  798. -m_debug.txt: added some caps detection info at init time; screened out
  799. logging of WM_MOUSEMOVE, WM_NCHITTEST, and WM_SETCURSOR messages.
  800. -improved motion vector motion prediction so that the tips of the motion
  801. vectors should be perfectly matched from frame to frame, when the
  802. trail length is set to 1. **Note that it defaults to 0.9, so that
  803. the look is similar to the old, mismatched version! (so the presets
  804. are backwards compatible.) **Also note that for video cards that
  805. do not support anti-aliased edges, there could be up to 1 pixel of
  806. error here. Check m_debug.txt for whether or not your driver/card
  807. supports anti-aliased edges for lines.)
  808. 1.01 - 12/7/01
  809. -playlist feature ('p' key) no longer crashes on Windows ME/98SE.
  810. -fixed problems with ampersand ('&') character in song titles/playlist
  811. -fixed bug with previous max. of 23 user variables per session. (Now,
  812. it's a max of 23 user variables per preset, as it should be.)
  813. 1.0 - 10/30/01
  814. -added a section to the documentation on using "line-in" as your
  815. audio source (instead of mp3's)
  816. -lowered minimum frame time (enforced by winamp) from 25 ms to 10ms,
  817. so now, the max. possible fps is 100 instead of 40.
  818. -tightened A/V sync by 5 ms (raised audio latency from 25 to 30 ms).
  819. -fixed &'s in song titles (as displayed when you hit F2)
  820. -F7,F8 were switched in the help screen (F1)
  821. -when running in desktop mode, if you have a pattern on your windows
  822. background, it gets nuked. Before, if you had a pattern, the
  823. pattern would remain and you'd only be able to see milkdrop through
  824. the small boxes of your desktop icons' background text. I didn't
  825. bother restoring the pattern upon exit because I am lazy and assume
  826. that nobody intentionally uses these things anymore. =)
  827. -improved warning message for windowed/desktop modes, when auto-texture-
  828. size is scaled down due to insufficient video memory. It previously
  829. just reported the downsizing, but now, it also recommends that you
  830. drop your color depth to 16 bits (if you haven't already) and that
  831. you try decreasing your screen resolution.
  832. -might have fixed a bug with the playlist feature ('p') crashing people's
  833. machines.
  834. 0.99g - 9/11/01
  835. -added playlist browsing (hit 'p')
  836. -added checkbox to fix slow text (finally!)
  837. -song titles fixed too (on some cards, they were garbled) (also, in low
  838. video mem. situations, they might have never appeared - that's fixed too)
  839. -added checkbox to allow double buffering for desktop mode; default is
  840. UNCHECKED; can provide significant speed boost, but you might see some
  841. tearing during the vertical retrace; if so, enable double-buffering.
  842. It used to always be double-buffered, which is slower, though it is
  843. page-tearing-artifact-free.
  844. -added always-on-top option for windowed mode
  845. -added "page x of y" footnote to the preset and playlist menus
  846. -improved the auto-texture-size management code, so users will be less
  847. likely to get the "couldn't create offscreen surface #1" (or #2) error.
  848. Instead, the textures are continally downsized until there is enough
  849. memory for them. This might mean blockier images, but at least it will run.
  850. -desktop mode can now do software blit when an RGB overlay surface is created.
  851. (before, software blit was really only available for YUV-type overlays.)
  852. -desktop mode compatibility improved: more likely to work at higher resolutions now
  853. -desktop mode: fixed YUV-type *non-mmx* software blits when Windows is in 16-bit color.
  854. (weren't implemented before; it just assumed windows was in 32-bit color,
  855. and the result would look munged.)
  856. -improved mmx memcpy: will now copy as long as the (difference between two
  857. pointers) % 8 is zero. (before, they both had to be a multiple of 8).
  858. -reorganized the config panel; nice
  859. -centered the config panel on the screen (by removing winamp as hwndparent - der)
  860. -centered the 3 color picker dialogs (by specifying current dialog window
  861. as the parent - der)
  862. -(also cleaned up redundant code for color picker dialogs)
  863. -super-slight optimizations to speed of waveform blending
  864. -tweaked the way the "clear screen at startup" option works, since some
  865. users had problems with it
  866. -fixed aspect ratio, so when window is at an extreme AR, it clips the extra
  867. (instead of fitting the image to the window)
  868. -fixed a fullscreen lost surface bug introduced in 0.99f that blacked
  869. the screen out if you ALT-TABBED out of milkdrop & returned.
  870. -fixed bug where tooltips were lost on some systems (left variable in,
  871. but no way to change it - locked to TRUE for now)
  872. -fixed bug where 'try for RGB overlay...' and 'try for YUV overlay...'
  873. checkboxes were disabled when software blit was on. (Don't know what
  874. I was thinking there!)
  875. -tweaked presets; added some cool shift-on-beat effects
  876. 0.99f - 8/22/01
  877. -added graphical song titles
  878. -added screen borders; can be used to create interesting feedback patterns when
  879. zooming out
  880. -waveforms now blend smoothly!
  881. -finally gave milkdrop an application icon
  882. -added 'U' key to toggle winamp's shuffle feature on/off
  883. -fixed bug with handling of 'r' key when preset menu is up; now, to rename a file,
  884. use INSERT
  885. -fixed a 1-frame-delay bug for warping (caused a lag for audio-driven 'warps')
  886. -fixed bug where 'progress' variable's value was always 0 in per-pixel eq's
  887. (thanks rovastar)
  888. -removed "F7: show tooltips for menu items" hotkey (needed it for title animations)
  889. -removed U, I keys (for warp)
  890. -moved T key (for zoom) to I (i=zoom in, I=zoom out) (T is now used for song titles)
  891. -speed optimization: now using memcpy_MMX to copy 576*2*4=4608 bytes of sound data
  892. per frame
  893. -size optimizations: painstakingly shaved 8k off the .dll
  894. -in windowed mode, when a user resizes the window to a size that's too large and
  895. there's not enough video memory and MilkDrop closes, it now resets the size
  896. of the window for the next time you run MilkDrop. (before it would just try
  897. to start the next time with the same window position/size and keep failing.)
  898. -added 'try for RGB overlay before trying YUV-types' checkbox
  899. -added 'try for YUY2 overlay surface before trying UYVY' checkbox
  900. -added "stereo 3d always on" option (unchecked by default)
  901. -added "clear screen at startup" option (checked by default)
  902. -made soft cut timer reset on hard cuts
  903. 0.99e - 7/5/01
  904. -added beat-driven HARD CUTS; very cool
  905. -added a VJ mode, where you can make all the text draw in a separate
  906. window instead of to the main graphics display; should be very
  907. handy for concerts
  908. -added preset rating; use + and - keys (volume control is only available
  909. w/up,down arrows now); use F6 to show rating of current preset
  910. -you can now use any color lenses for left/right stereo vision; just tell
  911. it what color you've got (by speaking aloud)
  912. -desktop mode optimization: block copy from video memory is now optional,
  913. because on 5-10% of systems, it actually makes things slower.
  914. -transitions between 2 presets both using video echo, but in different
  915. orientations, are now smooth
  916. -added 'progress' variable to per-frame and per-pixel equations; tells you
  917. how far through the preset you are (temporally) (0..1), so you can make
  918. gradually-shifting effects
  919. -added mystery param to per-frame eq's (variable name is 'wave_mystery')
  920. -settings such as showing song titles, times, fps, ratings, tooltips, etc.
  921. are all now preserved from session to session
  922. -when Load menu is up, added seeking by typing in first char of name
  923. -also disabled left/right arrows when Load menu is up, so music
  924. won't skip on you
  925. -windowed mode now remembers the window's final size, position between sessions
  926. -safe for 2nd monitor, too
  927. -fixed bug with ALT-TABBING in and out of fullscreen mode
  928. -fixed bug with vertical spacing of song title/time readout when the fancy
  929. font size was set to anything but "normal"
  930. -plugin listing (in Winamp prefs screen) and the window title now show the
  931. version #
  932. -fonts now scale with the window
  933. -protected against trying to run MilkDrop while the config panel is still open
  934. -fixed the 1-pixel-wide garbage that sometimes sat at the right and bottom
  935. edges, in windowed mode
  936. -fixed bug where after going to another app, fullscreen, while in Desktop Mode,
  937. upon your return from fullscreen the overlay surface was lost (and just sat
  938. there, black).
  939. -stopped sending WM_KEYUPs to Winamp (oops; never sent WM_KEYDOWNS to begin
  940. with anyway)
  941. -load menu: '[..]' now reads '[..] (parent directory)'
  942. -config panel: broke some stuff off into a 'more options' dialog
  943. 0.99d - 6/5/01
  944. -desktop mode is officially in
  945. -added new waveforms
  946. -added temporal wave alignment
  947. -added fps limiting
  948. -added "view documentation" button to config panel
  949. -added UP/DOWN keys for volume up/down
  950. -improved seeking for CTRL-LEFT, CTRL_RIGHT: now seeks by breaks between groups of
  951. alphabetic characters, instead of just looking for spaces.
  952. -added 5 new variables (q1..q5) for passing values from the per-frame to the per-pixel
  953. equations (user-defined variables don't carry over like permanent variables)
  954. -added brighten (square root), darken (square), invert, and solarize filters
  955. -tweak: made transitions slightly sharper (10% more toward a cosine curve than a
  956. linear curve now)
  957. -now setting D3DRENDERSTATE_SHADEMODE to D3DSHADE_GOURAUD (used to be FLAT,
  958. and combined with per-vertex coloration, which seemed to be asking for trouble)
  959. -added warning messagebox for if first call to SetRenderTarget fails
  960. -fixed bugs with the values of "x" and "y" for per-pixel equations
  961. -x: range was -1..1; should have been 0..1
  962. -y: range was 0..2; should have been 0..1
  963. -(all presets using x,y in their per-pixel equations had to be adjusted)
  964. -fixed bug where if the previous preset folder disappeared, you couldn't hit 'L'
  965. to browse to a new folder
  966. -fixed a potential bug with dither not being a hardware capability
  967. -fixed a bug with scroll lock (didn't reset the LED state when MilkDrop started)
  968. -fixed a bug with loading presets with blank lines in the per-frame or per-pixel
  969. equations
  970. -(the blank line, and everything after it, would not be read in)
  971. -revamped gamma loop
  972. 0.99c - 5/21/01
  973. -added red-blue stereo; use F9 to toggle it on/off
  974. -note: you need those cheesy glasses with the red & blue plastic
  975. lenses for this to work!
  976. -added a bunch of 3D presets in the \3D subdir
  977. -added the ability to browse the directory structure
  978. -added F8 to jump to new directory (or drive)
  979. -changed the 'fix pink/white color saturation artifact' checkbox
  980. into a simple brightness slider, so you have more freedom with it
  981. -"+", "-" keys now work for the numeric keypad and regular keys.
  982. -fixed a video memory leak for windowed mode (the manually-created backbuffer wasn't
  983. being released; once you exited winamp, though, the memory was freed)
  984. -fixed a bug with closing Winamp while milkdrop was running in windowed mode
  985. -fixed a weird bug with hitting ESC from the config panel sometimes doing nothing
  986. -fixed a weird bug where when milkdrop was launched in windowed mode,
  987. keystrokes to winamp don't work until you moused-over the winamp window
  988. 0.99b - 5/16/01
  989. -added windowed mode
  990. -added +/- keys for volume control
  991. -added SHIFT + left/right arrows to rewind/ffwd 30 seconds
  992. -improved various error messages
  993. -protected vs. running config panel while MilkDrop is running
  994. -protected vs. running milkdrop without music playing
  995. 0.99 - 5/11/01
  996. -first version
  997. <A HREF="#milkdrop_top">return to top</A>
  998. </PRE>
  999. </HTML>