MilkDrop er et miljø til at køre presets, software, der styrer MilkDrop, og som ikke selv producerer visualiseringer.
Presets gemmes i .milk-filformat, typisk i en undermappe i MilkDrop-plugin-mappen. Oprettelse af nye forudindstillinger betegnes generelt som authoring, eller skrivning, hvilket gør den person, der har skrevet en forudindstilling, til dens forfatter. Presets distribueres på internettet via Winamp, Winamp-forummet og via MilkDrop-forfatternes personlige websider. En forindstillings titel fungerer også som dens .milk save-navn og indeholder normalt forindstillingsforfatteren eller forfatternes pseudonym. MilkDrop-forindstillinger har ofte mere end én forfatter, hvilket generelt betegnes som remixing eller redigering. Et remix eller en redigering vil ofte indeholde disse udtryk i forindstillingens titel.
Oprettelse af forindstillingerRediger
En aktuel .milk-fil består af fire forskellige hovedtyper af scriptable ligninger. Disse omfatter per_frame- og per_pixel-ligninger samt brugerdefinerede former og brugerdefinerede bølger.
Kode i per_frame-afsnittet udføres én gang for hver frame og ændrer variabler, der påvirker forskellige parametre, som kan videregives til andre kodeområder. Trigonometriske funktioner, der ændrer MilkDrops interne looping-tidsvariabel, logiske systemer og interaktion med lydoplysningerne modtaget fra Winamp eller en anden relevant medieafspillers Fast Fourier-transformation (FFT) kan bruges til at styre, hvordan disse parametre udvikler sig gennem tiden.
Kode i per_pixel-afsnittet i MilkDrop bliver faktisk ikke revurderet ved hver pixel, som navnet antyder, men skærmen er opdelt i et gitter, og koden bliver vurderet ved hvert gitterpunkt. Pixlerne mellem disse punkter interpolerer deres værdier fra de omkringliggende fire punkter på gitteret. Størrelsen af gitteret er som standard 32×24, men kan indstilles højere eller lavere af brugeren. Per_Pixel-ligninger giver forfatteren af forindstillingen mulighed for at ændre nogle af MilkDrops parametre forskelligt i visse områder af skærmen baseret på x- og y-værdier, afstanden fra skærmens centrum og vinklen.
Custom shapes og custom waves har hver især variabler, som giver forfatteren mulighed for at ændre bl.a. form, størrelse, farve og placering på skærmen. Shapes og brugerdefinerede bølger har hver især intern per_frame-kode, der påvirker disse variabler på samme måde som per_frame-ligninger påvirker hele forindstillingen. Brugerdefinerede form- og bølgeækvationer er inkluderet i MilkDrop version 1.04 og nyere. Mens MilkDrop oprindeligt tillod fire brugerdefinerede former og bølger, tillader den seneste version af MilkDrop-betaversionen op til fem brugerdefinerede former og fem brugerdefinerede bølger at blive brugt pr. preset.