No announcement yet.

MilkDrop 3.0 + 500 presets + lots of new functionality :)

  • Filter
  • Time
  • Show
Clear All
new posts

  • MilkDrop 3.0 + 500 presets + lots of new functionality :)

    Hey guys, I've been working for months (not to say years) on this project.
    I hope I'm not 10 years too late to the party and there're still a few people on that forum!

    Update: version 3.2 + 800 presets!
    How to download and install :
    All the new features explained :
    How to create a beautiful double-preset :

    Here is a quick summary:
    MilkDrop 3.0 is a portable program that supports any audio source (Spotify, YouTube, SoundCloud, Winamp...)
    it's an evolution of my version of BeatDrop2077, based on BeatDrop.
    It supports a new type of double-preset (.milk2 file) mixing 2 presets and displaying them both simultaneously.
    Here are a few double-preset:
    You can create new presets by pressing just a few keys, without knowing any lines of code
    (F9 and then press the spacebar to create a new double-preset, that's it).
    Create new colors by pressing just the key 'c'
    Also I created a new mode for auto-changing the presets based on beat detection.
    Here is a fast version of that:​​​

    Click image for larger version  Name:	MilkDrop3.jpg Views:	0 Size:	352.3 KB ID:	4619009

    -Lots of new key shortcuts, see the whole list above.
    For some letters, the majuscule and minuscule matters.
    As an example, I'm using the lower-case "a" for the classic random mini-mash-up and
    upper-case "A" (shift+a) for another function: back to previous random preset.

    -Support always on top window (F7)

    -Support multiple monitor stretching (ALT+SHIFT) thanks to milkdropper for the code.

    -Real-time toggling FPS (F2) 60fps, 90fps, 120fps ect... (some presets may not work well on high fps)

    -Real-time toggling seconds between auto transition to next preset (F3) 15sec, 30sec, 45sec ect...

    -Support of displaying 16 shapes simultaneously instead of 4.
    Shapes are now exported with the '.shape' file extension in Milkdrop3\shapes\file.shape

    -Support of displaying 16 waves simultaneously instead of 4.
    Waves are now exported with the '.wave' file extension in Milkdrop3\waves\file.wave

    -8 new simple waveform (total of 16)

    -The q1-q32 variables have been expanded; the range is now q1-q64.

    -Support going back to previous generated preset when pressing the key 'A' (Shift+a)
    I've waited 20 years for that function!

    -Support deep-mash-up, not just warp and comp mashup, but all 5 bins (z)
    note: this is quite unstable, some presets will crash MilkDrop3. But the results can be really great.

    -Support going back to previous generated preset when pressing the key 'Z' (Shift+z)

    -Support randomize colors function, pressing the (c) key will change all the colors in the comp shader directly in the memory.
    Don't forget to save the preset if you like the new color.

    -Support going back to previous generated color when pressing the key 'C' (Shift+c)

    -Lots of new debug information pressing the letter 'n', very useful when you create new double-preset.

    -Support auto-changing the presets based on beat detection (F8) ex:
    hardcut1 : load a new preset if bass > 1.5 with a minimum delay of 0.2 sec
    hardcut2 : load a new preset if treb > 2.9 with a minimum delay of 0.5 sec
    hardcut3 : load a new preset if treb > 2.9 with a minimum delay of 1 sec
    hardcut4 : load a new preset if treb > 2.9 with a minimum delay of 3 sec but if treb > 8 then it will load a new preset
    hardcut5 : load a new preset if treb > 2.9 with a minimum delay of 5 sec
    hardcut6 : load a new preset if bass >1.5 + will load Bass/WHITE.milk if bass > 4.90

    -Lots of new transition effects (when pressing the spacebar), the first old 4 were : "zoom", "side", "plasma", "cercle",
    new ones: "plasma2", "plasma3", "snail", "snail2", "snail3", "triangle", "donuts", "corner", "patches", "checkerboard", "bubbles", "stars", "cisor", "wave", "curtain", "vertical", "horizontal", "linesvertical", "lineshorizontal"
    A few example here:

    -Improved search function:
    now we can search for anything in the presets list, not just one letter.
    you can type 'mar' for martin's presets.
    you can even type 'kings' if you search for 'martin - kings cross' for example.

    -bunch of optimized function with chatgpt

    Pressing CTRL+right will load the next track (on any player, spotify, youtube if you're listening to a playlist of songs...)
    CTRL+left will load the previous track on any player
    CTRL+up will send a fastforward 5sec command to winamp only
    CTRL+down will send a fastrewind 5sec command to winamp only

    -Pressing the key 'f' will filter the presets : showing (and loading) only normal .milk presets, only double .milk2 presets or ALL of them.
    When pressing the keys A,D,M,Z or F9, it will auto-switch to 'Show only classic-presets' to avoid any mash-up errors.

    -double-preset (.milk2)
    Press F9 to enter double-preset mode. Now if you press the spacebar, you'll create a mix of 2 presets.
    You can save them with the key 's' like a normal preset, it will create a new milk2 file.
    Try the different types of blending pattern by pressing the key 'p' ("zoom", "side", "plasma" ect...)
    if you press the key 'P' (shift+p) you can force the blending progress (10%, 20%, 30% ect...)
    Some blending pattern like plasma have a lots of random values,
    you can reload those values to see a different plasma effect by pressing the key 'o'.
    All of these random values are saved in the .milk2 file.
    You can now flip the preset1 and preset2 by pressing the key 'u'.
    Force the blending direction (from the inside or outside) by pressing the key 'U' (shift+u).

    -WAVE_SIZE can now have 0-100 value
    -ZOOM_AMOUNT can now have 0-100 value
    -ZOOM_EXPONENT can now have 0-100 value
    -WARP_AMOUNT can now have 0-100 value
    -WARP_SCALE can now have 0-100 value
    -WARP_SPEED can now have 0-100 value

    I've setup up a patreon page, I've spend countless hours on MilkDrop3, if you would like to support this project and future updates:
    milkdrop, milkdrop3, milkdrop2077, presets, double-presets

    -20/07/2023 : Version 3.2
    -Double-preset are now displayed correctly when entering/exiting full screen or resizing the window.
    -Live blending update: pressing the keys 'p' and 'P' will display directly pattern or progress, no more backspace/spacebar needed!
    -Reload a double-preset: pressing 'o' will reload a double-preset only with different random values,
    very handy to see different plasma blend for example
    -Flip presets: press 'u' to flip preset 1 and 2 (and keep the exact position)
    -Locked direction: press 'U' to force the direction of the blending,
    ex: if you are using the cercle pattern, -1 = from the INSIDE, 1 = from the OUTSIDE
    -Block a preset: press 'b' to lock a preset, it will always load first when creating a double-preset (F9 and then SPACEBAR)
    -Press 'B' to choose the blending time
    -When pressing F4, you can now see both preset names if it's a double-preset
    -New borderless mode with F7
    -New delete mode: press CTRL+DELETE to start delete mode.
    Now you can delete any preset you see simply by pressing the DELETE key (no need to load the list and confirmation)
    Very handy if you want to clean a large number of presets, be careful you can't restore a deleted preset!
    -When pressing the keys A,D,M,Z or F9, it will auto-switch to 'Show only classic-presets' to avoid any mash-up errors.
    -added the Beginners Guide to MilkDrop Preset Writing in html and doc in the Milkdrop3\docs folder

    -09/04/2023 : Version 3.12 :
    10x faster way to load the presets list, can load 50.000 presets under 1 second!
    better way to display preset's names (F4) for milk and milk2 files
    new plasma3 transition effect (a bit crazier than plasma and plasma2)
    corrected a few bugs while loading preset with textures
    I removed the V2M player in the installer to avoid any false-positive

    -19/03/2023 : Version 3.1 : stable

    -03/03/2023 : Version 3.0 : alpha, pretty unstable

    Download :

    Last edited by serge000; 20 July 2023, 04:24.

  • #2
    I released a version 3.12 last week that can load a list of 50k of presets under a second and I made 2 videos about MilkDrop3 :

    How to download and install + the basic keys you must know :
    And most the new features explained one by one :

    There is a lot of information in the second video, it's a must watch if you want to see what milkdrop3 can do and how to use it!
    More info​ here :


    • #3
      Is this fully compatible with all of the existing MilkDrop2 presets like some of the fancy PS3 ones by Martin/Nitorami? Or are there compatibility issues like ProjectM?


      • #4
        fully compatible. I'm actually preparing a whole set of double-presets from Martin, like martin - golden mirror VS martin - hardcore mix 2 on this video


        • #5
          Good to know. Just gave it a go and yes it's playing all of my fav presets perfectly. Only issue is the lack of settings e.g. resolution, vsync, preset blend time... etc but I am not sure if those settings were in milkdrop or winamp
          Click image for larger version

Name:	2023-05-05 (2).png
Views:	1907
Size:	23.5 KB
ID:	4616300Click image for larger version

Name:	2023-05-05 (1).png
Views:	1884
Size:	30.4 KB
ID:	4616301Click image for larger version

Name:	2023-05-05.png
Views:	1883
Size:	39.8 KB
ID:	4616302


          • #6
            So for the settings, I've tweaked everything to show the highest quality possible, max resolution ect, because any decent computer can run milkdrop at full speed.
            Basically MilkDrop 3 runs directly with the highest quality possible.
            You have all the F2 F3 keys to change the fps and time between presets, the new hardcut modes with F8 if you're into that,
            as well as the key 'b' to change the blending time (I actually forget to list that key in the F1 help menu).
            most of the other setting can be changed in the milk3.ini file, but I need to work on that file, I'm bypassing a lot of options at the moment (like nCanvasStretch to the max setting possible) and I'm not saving everything in the milk3.ini, so I'll check that soon.
            For the VJ mode, I'm planning to create a real milkdrop GUI for that, but that's for later, next year maybe.


            • #7
              I miss desktop mode, though.
              Ariszló @ WinCustomize & DeviantArt


              • #8
                Thank you for the hard work. Any ability to turn off the periodic watermark?


                • #9
                  Just wanted to say major thanks for reviving this old, but legendary software. I've been using it since the beginning, so it's great to see new life breathed into it.

                  A couple of requests/questions:

                  As jjsnacks said above, can we remove the watermark?

                  What's with the 15 year old dependency on DX 9? Do all of the presets require that? If not, is there a way to upgrade the code to DX12, which most people have these days?


                  • #10
                    Yes you'll be able to remove it in future versions.
                    It's a great feature to keep track of time, if you see it more than 2x, then it's time to go to bed

                    For DX12, it's not an easy thing to port a program from DX9 to 12, but feel free to learn c++ and graphical programming and try it


                    • #11
                      Ok thanks. I've been writing C++ since 1998 and have done a little bit of graphics programming, but managed to avoid DirectX this whole time. Sadly, I'm swamped with other open source projects at the moment.


                      • #12
                        Hey Serge,

                        this is great, Thank you! So cool using this outside of winamp.

                        Would be great if all the settings in the .ini would work. I personally use nMeshSize=64, "fBlendTimeAuto", "fTimeBetweenPresets". Does "nMeshSize" work? "vj_mode" would be a charm.

                        I guess in order to control the transition modes I would have to rebuild? I would love to be able to control the blur and transition modes in the .ini. Can I turn the plasma transition off somehow?

                        Also hoping to sharpen the blur a bit, to make it a bit more realistic when transitioning very slowly.

                        Other than that, thank you for your great work in saving this tool into the now!


                        • #13
                          Yes I'll fix the settings for the ini file in July! I could add a line for letting the user choose what transition to use or turn off this should be easy. The blur part is on my to-do list too


                          • #14
                            Now, here's a question no-one is asking. Does this still work on winamp? I like the old player and a regular Windows window wont look too good next to it lol.


                            • #15
                              It works with any audio source = winamp too of course.
                              And from version 3.2 you'll be able to hide the window borders if you don't like them like on that video: