- Notifications
You must be signed in to change notification settings - Fork3
Old Skool Winamp Milkrack visuals in your VCV Rack
License
korfuri/Milkrack
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Milkrack bringsWinamp's Old Skool Coolvisualizations fromMilkdropinto yourVCV Rack). Powered byProjectM.
Just spawn the "Milkrack - embedded" module and wire its left input toyour mixer's output., and you should see something like this:
The module comes in 2 flavors:
- Embedded, showing the cool visuals directly on the module.
- Windowed, rendering visualizations to a separate window.
Both flavors have the same inputs and params:
- 2 stereo audio inputs. They're normalized to the left, so you cansend mono signals to just the left side.
- 1 "next preset" button and 1 "next preset" trigger input. Thesechange the Milkdrop preset being rendered.
Non-audio signals as inputs may not give great results depending onthe preset in use, as the visualization presets expect actual sound todetect BPM and perform a Fourier transform on.
The right-click menu allows you to enable automatic preset rotation,or to select a specific preset to use.
When using the windowed flavor of the module, the visuals are renderedto a separate window. That window will react to certain shortcuts:
F
,F4
orEnter
will toggle full screen mode;Escape
andQ
will exit full screen mode, or, when not in fullscreen, will minimize the window;R
will switch to a new preset.
Note that the window cannot be closed. To remove the window, simplydelete the module in Rack.
When running under OSX, due to OpenGL incompatibilities, the Embeddedflavor won't work. It's not possible to render Milkdrop presets in awindow owned by VCV Rack, the OpenGL versions are notcompatible. Consider using the windowed flavor instead.
- Install the GLM lib and OpenGL ES development headers, as well as autotools.
apt install autoconf libtool libglm-dev libgles2-mesa-dev libgl1-mesa-dev
on Debian systemsbrew install glm automate libtool pkg-config
on OSX- If you figure out how to build this on Windows, please let me know! I don't have access to a Windows machine myself.
- Git clone Milkrack under your
plugins
directory git submodule init
andgit submodule update
(cd src/deps/projectm && git apply ../projectm*.diff)
(cd src/deps/projectm && ./autogen.sh && ./configure --with-pic --enable-static --enable-gles --disable-threading && make)
to build projectMmake
Milkrack itself
If you're getting this kind of errors:
Failed to link program: error: linking with uncompiled shaderFailed to compile shader 'Fragment: blur2'. Error: 0:30(62): error: could not implicitly convert operands to arithmetic operator0:30(12): error: no matching function for call to `min(float, error)'; candidates are:0:30(12): error: float min(float, float)(...)Failed to link program: error: linking with uncompiled shader
Try applying the patch undersrc/deps
to projectM. Justcd src/deps/projectm
andgit apply ../projectm*.diff
.
If you encounter errors such as:
Failed to compile shader 'Vertex: v2f_c4f'. Error: ERROR: 0:1: '' : version '300' is not supportedERROR: 0:1: '' : syntax error: #versionERROR: 0:2: 'layout' : syntax error: syntax error
or others like those found in issue #2, this is due to a versionincompatibility between OpenGL, OSX, projectM and Rack. It's not clearwhether there's a solution, and we don't have the knowledge or theresources to fix it (no access to an OSX dev box). If you have a Macand you know something about OpenGL, please contribute to issue #2.
If your window is just black, make sure you're sending sound into themodule. No signal or non-audio signals may not trigger the preset torender anything.
If you're running OSX, the embedded flavor of the module won't workdue to OpenGL version conflicts. Use the windowed mode.
If you are actually sending audio into the module, this is a sign thatyour shaders didn't compile. Check the standard output of Rack forerrors related to invalid shaders and refer to the othertroubleshooting options in this README to find matching errors.
Check that you configured the projectM build with--enable-gles
.
This happens if Milkrack didn't find any Milkdrop presets to load. Ifyou built the plugin yourself make sure that thepresets
folder gotincluded in the zip file. If you downloaded the plugin from thisrepository's release or from the VCV plugin store, please file anissue explaining your problem.
We've done extensive testing to try to prevent this, but if thishappens to you, pleasefile an issuetelling us what software you're running (Rack version, Milkrackversion, OS), what you were doing, what happened, and attack Rack'slog.txt and if possible Rack's standard output.
This plugin is released under LGPL.
About
Old Skool Winamp Milkrack visuals in your VCV Rack