Cover image for NestDrop: Old School Milkdrop with Spout

Posted on

NestDrop: Old School Milkdrop with Spout

NestDrop is a tool for performing with high-resolution high-fps generative visuals which react in real-time to the music and then broadcasts the video via Spout. Since the Milkdrop engine is at the core you can easily bring in your own presets. Over 52,000 community created presets available from over 21 years. Use any audio source to drive the visuals, even live audio. Milkdrop was originally developed by Ryan Geiss and was released under a BSD license. So we've taken up the torch and extended Milkdrop in ways that VJ's require.

Presets Collection #1 – Cream of the Crop

The software is only half of the equation. I’ve spent a ton of time curating a best-of collection of presets for VJ’s to perform with. Over the years the Milkdrop community has released about 52,000 presets and so I selected only the best ones and ended up with 9,795 presets. I also organized the presets into categories and subcategories.

Presets Collection #2 – Isosceles Mashups

After releasing the Cream of the Crop preset collection for NestDrop, I had a good understanding of the visuals that could be further explored. So I started doing mashups just for fun and stumbled across some fresh visuals.

Preset Authors

Many thanks to the community of Milkdrop authors which have freely shared their presets over the last 21 years. What a incredible resource. Respect!

Behind the Scenes of the Preset Curation & Organization

I started off by collecting as many different packs of presets that I could find. But I think nearly all of the presets came from the Milk Drop Preset Pack, which contains 48,000 presets.

What a mind numbing task it was to look through all 52,000 presets and select my favorites. Although it was always exciting to come across a new style of visuals and see the creativity of different preset authors. But after finishing Stage 1, the process of organizing 9,795 presets into main categories was the seriously challenging part. Determining the categories to start out with was a nebulous yet important step. And so with every thousand presets that I curated it became easier to see the categories taking shape and adjust my organizational guidelines.

The categorization of each preset was determined first and foremost by what the preset actually feels like. Obviously the categories are going to overlap and that’s okay. Sometimes I split up a group of presets into different categories. Other times I thought it more important to keep a group of presets together and collect them under a single category. But it’s arbitrary and based on my personal opinion, so your mileage may vary. There isn’t a perfect solution for a library of this size and so my mission was to keep focused on what would be most useful for when actually performing. Early on in curation process I originally had planned on saving the original filename and then renaming each preset with multiple tags (for use in the NestDrop search). But the task of renaming all of the presets turned out to be much too heavy and so I ultimately abandoned this effort.

Over 7 months, I went through several stages of curation:
• Stage 1: Look through all 52,000 presets and keep only the best ones
• Stage 2: Organize the remaining 9,795 presets into main categories
• Stage 3: Further organize the presets into subcategories
• Stage 4: Refine the organization

My workflow involved moving a small group of presets into NestDrop, playing some music on iTunes, and then look through the presets one by one. Depending on the curation stage I was at, I would use Excel to make note of the preset number or desired category folder. I would then use a Powershell script to move the select files into their new category folder.

Having a preview image of each screenshot was useful for roughly understanding what the preset actually looks like and it sometimes helped in organization. But the early versions of NestDrop didn’t yet have the ability to capture screenshots of each preset. So I asked my friend Nathan Williams if he could create a Python script which would automatically capture screenshots within Winamp. I share the Python script here just for posterity, but it’s no longer needed since it’s now a built-in feature of NestDrop.

Since I was moving around presets so much in the organization process, it was vital to add a short numerical prefix to each preset filename so that I could easily find a preset (For example: 00157_Isosceles – Futurescape). I used the ReNamer software to batch rename the preset filenames. This numerical prefix was then removed when everything was finalized. I also used the Ridnacs software to quickly see how many presets were in each folder. This was helpful for seeing what subcategories were possibly too big or small.

At some point it became apparent that there were duplicate presets but with different filenames. So I used the Find and Replace software to give all the presets the exact same rating (fRating=5.000000). I then used DupeGuru to automatically find and delete the exact duplicate presets.

For a small portion of the presets, the filenames were longer than the max path that Windows can allow for and so these filenames have been manually shorted by hand while trying to maintain the author history and/or preset title. Also a few presets were manually renamed so as to remove some foul language. So if you’re combining your own presets with this collection and want to check for duplicates, then please try using DupeGuru.

Overall the whole process took about 7 months, spending many evenings and weekends obsessively working on this collection. It’s been an incredibly difficult and tedious project, in part due to trying to remember all of the subcategories, deciding how to categorize each preset, and thinking carefully of how to manage the huge amount of presets. So I’m satisfied to have completed this project and we are already using it within our music shows. I’m curious if other performers and VJ’s find this collection useful.

I also curated the collection of over 1,900 presets that is bundled with the default install of NestDrop. All of the bundled 1,900 presets are also contained within this collection of 9,795 presets and follow the exact same organization structure. If it’s useful, within the ZIP archive is a NestDrop user profile which has all of the bundled 1,900 presets marked as favorites.

Create your own Presets – Mashup & Editing

I’ve noticed that very few people are still making and sharing their own Milkdrop presets. Well I guess Milkdrop is 21 years old now… So perhaps it’s become a lost art and needs to be revitalized with a tutorial.

Creating a preset mash-up is easy, but it takes someone with a good eye to find the real gems. By combining several different presets together you can hunt for happy accidents. Also if there is a specific movement or visual element that you want to change, then it might be possible by editing the attributes. In the tutorial below I dive into both aspects. No coding skills necessary.

Just to show how vast the mashup possibilities are… Let’s assume that you are using my collection of 9,795 presets, then there are 90 quintillion possible ways that you could mash them together. So there are plenty of unexplored visuals that have never been seen before.

If you’re a programmer then you might enjoy coding presets from scratch. Check out the Milkdrop Preset Authoring Guide, Beginners Guide to MilkDrop Preset Writing, Pixel Shader Guide, Milkdrop Documentation, and GPU Fundamentals. Also check out some various tutorial threads over at the Milkdrop Forum (such as 3D Projection).

Explore the real-time aspects of NestDrop

More info

Discussion (1)

vdmo profile image

@isosceles such great resource, thank you for the post