10 new shader-based presets in Milkwave/Shader directory
All 30 Milkwave shader presets now react to audio input
New "vis_intensity", "vis_shift" and "vis_version" preset variables
Adjust "Intensity", "Shift" and "Version" live from Remote for supported presets (eg. Milkwaves shader presets)
Set default audio device using Ctrl+D (eg. after disconnecting Bluetooth headphones)
Draw a background box for text messages with custom transparency and color using box_* message parameters
New message parameter "fadeout" (also for custom messages)
New shortcuts: Ctrl+B for toggling button panel, Ctrl+O for opening Visualizer window
Press Windows Media "Play/Pause" and "Stop" keys from script
Force soft preset transition type using "Mixtype" in settings.ini
Miscellaneous stability improvements
Get it for free here: https://github.com/IkeC/Milkwave/releases/latest
Discussion (1)
💫✨🌟⭐⭐
After briefly testing Milkwave v3.1 myself, I can highly recommend this app for VJs and video artists.👍🥳
Everything seems to work as promised, with very minor limitations😋. The installation also ran smoothly and was user-friendly; you just have to remember to install the additional two external installation files (see the Mamual). I tested it on Windows 10 with an i9 and a RTX3080 like Resolume-Arena.
The limitations I discovered, however, aren't due to promises that aren't kept🙊, but rather to what people imagine to be the current standard or user-friendliness🙉, and this isn't the case in two respects.
🔧A) The Spout sender doesn't seem to be a truly native spout or isn't very cleverly implemented in the source code, as you can only transfer the current visualizer window size. So, if you resize the visualizer window to small , only this small format is displayed, for example, in Resolume Arena (under the sources at the bottom as "Mikwave").
This is problematic because you also need to see Arena itself on your monitor to control it, plus there may be other apps running and needing to be controlled. The Milkwave V3.1 spout appears to generate automated and predefined screen captures rather than a native spout, where you can usually define the output format, i.e., the image size and the name of the spout sender, as well as the FPS, in a corresponding menu. However, it's not pure screen capture either; otherwise, the following trick🧚 wouldn't work perfectly: ☝️Open a virtual Windows desktop. To do this, select "Active Applications" in the Windows taskbar. There, you can control the virtual desktops at the top. If only one desktop appears, click on the small window with the + "New Desktop" and name it, for example, "CapturDesk." Now switch to it by clicking on it, and there you start "Milkwave Visualizer." Now you can switch back to your original desktop, the work desktop, where at least Arena (or another VJ app like Smode, TiXL, or Coollab, etc.) and "Milkwave Remote" are running, i.e., visible. You can switch between virtual desktops using the keyboard shortcut "CTRL + Win key and the left and right arrows" or via the "Active Applications" taskbar icon. Now all you have to do is click "Fullscreen" in "Milkwave Remote." 😉Now you can drag the corresponding spout, or "Mikwave," to a clip in Arena under Sources. Then, assuming your monitor is set to 1080p, which is usually the case, you'll receive a corresponding 1080p signal from Milkwave 3.1. If you even have a 4K monitor, the spout will even deliver this 4K signal. 🥴However, if your monitor is smaller than the format set for the arena composition, i.e., 1K or 4K, you can, in a pinch, click on the Milkwave spout's clip window in the title area and select "Fill" under Resize. This way, you won't get a full 4K or K1 image from Milkwave, but at least it will be upscaled to the dimensions of the arena composition, and if the difference isn't too large, this should be manageable. It should be mentioned that your GPU will naturally be significantly more stressed by this type of spout usage via screen capturing, compared to native frame sharing at the source code level. That's it & so far for that spout-thing.
🔧B) I'm pretty to extremely disappointed with the shader toy import option and have to strongly criticize that integrated compiler, calling it rather unusable. In the rarest of cases, it manages to transform the shader toy code into the required Milkwave HLSL-variant. This is a bit shabby, since only a very specific GLSL variant, i.e., Shadertoys, serves as the start code, and not various others GLSL variations. The target code is also known very precisely, and not just any HLSL variant, but the one neaded by Milkwave. A lot of work for thst point in the spurcecode still needs to be done, but a relatively clean compiler is entirely feasible. It will certainly not be possible to cover all cases of differences between the 2 formats, since these aren't just individual differences, but differences in conjunction with many other functions and options. But you can see that something like this can be done with about 90% accuracy and precision in view to using the ISF-desktopEditor from VIDVOX, which can convert from Shadertoys to ISF and, as mentioned, transcodes about 90% of the Shadertoys right away (without iChannels, i.e., mouse controls or the like and out of inputs for ISFs). At least, that's my experience. Here with the Milkwave 3.1 remote, not a single transfer from Shadertoy to HLSL-Milkwave worked flawlessly out of over 20 attempts🙄. That's abysmal to unusable🤔😒!
🔧🔧I'll try to raise two corresponding issues on GitHub, but most people just smile at the input from new and outsiders, and their own current goals are clearly prioritized.
But I would especially like to mention as a big + the remote's "WAV options" or section, which allow you to adjust a lot of settings in the presets without requiring any programming knowledge, thus providing just over a easy user-friendly interface. The latter could be refined a bit and supplemented with additional control functions. Special for us real-time video enthusiasts I would like to point out to that:
On the "Wave" tab, if the "Link" button below the "Send" button is checked, all parameter changes are sent to the currently running preset immediately.
In any case, this wave-functions & section allows you to quickly and conveniently customize the presets and add a bit your own touches at the event itself or in postprepering and saving thst adaptions to the presets. Great, thanks!
🙏👏🤝✊🙏
I'd like to thank VDMO🙏 for the tip, or rather the post, but above all also the MilkDrop2 developer Ryan Geiss🙏, from whom most of the app-code was presumably adopted for Milkwave, but of cors to the Milkwave developers in first🙏 place. I'm therefore also referring to forums.winamp.com/forum/visualizat.... In that post, you'll find a link to over 100,000 (3.1GB) free presets that also work in Milkwave 3.1 (mosst with the neadet great wav-extensions)!
So, if you'd like to thank Milkwave with a donation, please don't forget the developers of MilkDrop2 Ryan Geiss without whom Milkwave wouldn't exist. Thanks, and enjoy!
-------------- German orig. text:
Nachdem ich Milkwave-v3.1 nun selbst kurz getestet habe kann ich diese App sehr empfehlen für VJ's und Videokünstler.
Alles scheint wie versprochen zu funktionieren mit sehr leichten Einschränkungen. Auch die Installation lief problemlos und war NutzerfreundlichI, man darf nur nicht vergessen die zusätzlichen 2 externen Installationsdateien zu instalieren. Ich habe es unter Windows-10 mit einem i9 und RRX3080 und Resolume-Arena getestet.
Die Einschränkungen die ich erkant habe gehen aber nicht auf versprochenes was nicht gehalten wird zurück sondern vielmehr was man sich als aktuellen Standart oder Benutzerfreundlichkeit vorstellt zu erhalten und dies in 2 Punkten nicht so zutrift.
A) der Spout scheint kein wirklich nativer Spout zu sein oder nicht sehr klug implementiert in der Source, da man nur jeweils die aktuelle Fenstergrösse des Visualizer übertragen kann. Verkleinert man also das Visualizer Fenster kommt auch nur dieses kleine Format z.B. bei Resolume Arena (unter den Sources zu unterst als "Mikwave") an. Dass ist deswegen ja problematisch da man ja Arena selbst auch sehen muss auf dem Monitor un es zu steuern plus ev. noch andere Apps dort laufen und kontrolliert werden müssen. Der Spout von Milkwave-V3.1 scheint eher ein automatisiertes und vordefiniertes Screencapturing zu erzeugen als das es ein nativer Spout ist wo man für gewöhnlich in einem entsprechenden Menüe das Ausgansformat sprich die Bildgrosse und den Name des Spoutsenders wie allenfalls die FPS definieren kann. Es ist aber auch nicht ein reines Screecapturing sonst würde folgender Trick nicht einwsndfrei funktionieren: Eröffnen Sie einen virtuellen Windows Desktop, dazu wählen Sie in der Win-Taskleiste "Aktive Anwendungen" dort können Sie zu oberst die virtuellen Desktops kontrolieren falls da nur eine Desktop erscheint klicken Sie auf das Fensterchen mit dem + "Neuer Desktop" und benennen diesen z.B. "CapturDesk". Nun wechseln Sie zu diesem mit klicken darauf und dort starten Sie "Milkwave Visualizer" und nun wechseln Sie zurück zu Ihrem ursprünglichen Desktop dem Arbeitsdesktop wo mindestens Arena (oder sonst eine VJ App wie Smode, TiXL oder Coollab, etc ) und die "Miklwave Remote" darauf laufen sprich sichtbar sind. Sie können mittels der Tastaturkombination "CTRL + Win-Taste und den links rechts Pfeilen" zwischen den virtuellen Desktops wechseln oder wieder über das Taskleistensimbol "Aktive Anwendungen". Jetzt müssen Sie nur noch in der "Milkwave Remote" "Fullscreen" anklicken und nun können Sie in Arena den entsprechenden Spout sprich unter Sources "Mikwave" auf ein Clip aufziehen und dan erhalten Sie vorausgesetzt ihr Arbeitsmonitor ist 1080p was meist der fall ist ein entsprechendes 1080p Signal von Milkwave3.1. Solten sie sogar einen 4K Arbeitsmonitor haben lievert der Spout sogar dieses 4K Signal, sollte Ihr Arbeitsmonitor aber kleiner sein als das eingestellte Format der Arenakomposition also 1K oder 4K können Sie im zur Not auf das Clipfenster des MilkwaveSpout im Titelbereich klicken und unter Resize "Fill" auswählen so erhalten Sie dan zwar kein volwärtiges 4K oder K1 Bild von Milkwave aber zumindest wird es auf die Dimension der Arenakomposition hochskaliert und ist die Differenz nicht all zu gross solten dies verkraftbar sein. Es bleibt zu erwähnen dass Ihre GPU natürlich erheblich stärker belastet wird durch diese Art von Spoutnutzung mittels Screencapturing sls bei einem nativen Framesharing auf Sozrcecodeebene. Gut dies dazu.
B) bin ich so zimlich bis extremst entäuscht von der Shadertoy import Möglichkeit und muss den integrierten Compiler hart kritisieen und als eher unbrauchbar bezeichnen. In den allerseltensten Fällen schaft er die Teansformation des Shadertoycodes zur benötigten Milkwave-HLSL-Variante. Dies ist etwas schäbig da ja nur eine ganz bestimmte GLSL Variante sprich Shadertoys und nicht diverse als Ausgangscode dient und ebenso der Zielfode sehr genau bekannt ist und nicht irgend eine HLSL Variante sondern die von Milkwave erzeugt werden soll. Da muss noch einiges an Arbeit nachinvestiert werden den ein in etwa sauberer Kompiler ist durchwegs realisierbar. Ganz alke Fälle an differenzen zwischen den Formaten wird man sicher nicht abdecken können da es ja nicht nur um einzelne Unterschiede sondern Unterschieden in Verbindung mit vielen anderen Funtionen und optionen geht. Aber man sieht dass sowas in etwa zu 90% treffsicher und zielgenau möglich sein kan anhand des ISF-DesktopEditors von VIDVOX welcher von Shadertoy zu ISF konvertieren kann und wie erwähnt rund 90% der Shadertoys auf anhieb transcodiert (ohne iChanals also Maussteuerungen oder dergleichen) zumindest ist dies meine Erfahrung und hier bei der Milkwave3.1-Remote funktionierte nicht ein einziger Übertrag fehlerfrei von Shadert von über 20 Versuchen, das ist misserabel bis unbrauchbar!
Ich werde entsprechende 2 Issues versuchen zu pisitionieren auf der GitHub, aber meist wird über Eingaben von neuen und aussenstehenden mehrheitlich nur gelächelt und eigene aktuelle Ziele hart in den Vordergrund gestellt.
Ich möchte mich bei VDMO für den Tip sprich den Post bedanken aber vor allem auch beim MilkDrop2 Entwickler Ryan Geiss von wo das meiste für Milkwave übernomen werden konnte vermutlich und mache auch noch auf forums.winamp.com/forum/visualizat... in diesem Beitrag finden Sie noch einen Link mit über 100'000 kostenlosen Presets (3.1GB) die eigentlich in Milkwave3.1 auch lauffähig sind, die meisten inkl. den tollen Wav-Möglichkeiten.
Gut falls Sie sich also mit einer Spende bei Milkwave bedanken möchten vergessen Sie doch bitte den Entwickler von MilkDrop2 Ryan Geiss nicht ganz ohne den es Milkwave nicht gäbe. Danke und viel Spass!