Hey NeonAngel I'm working on MilkDrop 3.21 and it will fix all these issues, it's almost ready!
I completely rewrite how the 'milk2.ini' file is working. Now you can save the window position too and every single option you can toggle.
Announcement
Collapse
No announcement yet.
BeatDrop2077 : my small attempt to make BeatDrop a little better :)
Collapse
X
-
After using the player recently I noticed a couple of things.
If a preset has a technical issue, a warning/error in red will be displayed at the top of the screen. Often these are redundant as the preset works fine in any case. For general viewing in my setup I have disabled these messages by including the following line in the 'milk2.ini' file:
bWarningsDisabled2=1
I noticed that this line placed in 'milk3.ini' will also disable these messages in MilkDrop3. Perhaps a toggle in the F1 menu could allow user to enable/disable these messages as required.
Secondly, on first use, how is the user's optimum frame rate determined? Is there a way of permanently setting this up or is it detected automatically so no need to do so? In a traditional 'milk2.ini' file you would add the following to ensure a consistent setting.
max_fps_w=60
max_fps_fs=60
max_fps_dm=60
Otherwise, all looks good.
Leave a comment:
-
-
Technically today someone could train a small AI to create new milkdrop presets
MilkDrop3 is a much more advanced version of Beatdrop2077 btw
Leave a comment:
-
-
It's a crazy feeling for me to see milk milkdrop and chatGPT talked about in the same sentence - two times of my life that feel so far apart!
I've just followed a chain of threads from 2021 to here - I had no idea milkdrop2077 and beatdrop2077 existed until today.
Thanks for your work and persistence! I cant wait to try this out.
-
👍 1
Leave a comment:
-
-
somebody still using the desktop mode??
I'll look into that, I think this was completely skipped for BeatDrop.
I would like to encourage people adding or optimizing stuff for MilkDrop with chatGPT.
it's insane what you can do.
for example I've modified the basic search function (when you are in the loading presets menu by pressing 'L').
original code:
HTML Code:void CPlugin::SeekToPreset(wchar_t cStartChar) { if (cStartChar >= L'a' && cStartChar <= L'z') cStartChar -= L'a' - L'A'; for (int i = m_nDirs; i < m_nPresets; i++) { wchar_t ch = m_presets[i].szFilename.c_str()[0]; if (ch >= L'a' && ch <= L'z') ch -= L'a' - L'A'; if (ch == cStartChar) { m_nPresetListCurPos = i; return; } } }
and also to search the whole line not just the first letter if not found.
this is what chatGPT made:
HTML Code:void CPlugin::SeekToPreset(wchar_t c) { using namespace std::chrono_literals; static std::wstring searchString; static std::chrono::steady_clock::time_point lastInputTime = std::chrono::steady_clock::now(); std::chrono::steady_clock::time_point currentTime = std::chrono::steady_clock::now(); if (currentTime - lastInputTime > 1000ms) searchString.clear(); lastInputTime = currentTime; searchString += c; bool found = false; for (int i = m_nDirs; i < m_nPresets; i++) { std::wstring ch = m_presets[i].szFilename.substr(0, searchString.length()); if (ch.length() == searchString.length()) { std::transform(ch.begin(), ch.end(), ch.begin(), ::toupper); std::transform(searchString.begin(), searchString.end(), searchString.begin(), ::toupper); if (ch == searchString) { m_nPresetListCurPos = i; found = true; break; } } } if (!found) { for (int i = m_nDirs; i < m_nPresets; i++) { std::wstring ch = m_presets[i].szFilename; std::transform(ch.begin(), ch.end(), ch.begin(), ::toupper); std::transform(searchString.begin(), searchString.end(), searchString.begin(), ::toupper); if (ch.find(searchString) != std::string::npos) { m_nPresetListCurPos = i; break; } } } }
you can type 'mar' for martin's presets.
you can even type 'kings' if you search for 'martin - kings cross' for example.
It would have take me hours to this on my own. And it took 2 mintues with chatGTP.
and the best part, you can just ask chatGPT to optimize some code for you.
and you can go crazy and ask to optimize some complex code from the ns-eel2 VM.
and it works! just copy/paste a whole function and ask to optimize it!
-
👍 1
Leave a comment:
-
-
Huh, this is pretty cool. Works fine in Windows 11. Would it be possible to have a desktop mode?That's one of the things that makes Milkdrop through Winamp amazing imho.
Desktop mode or not, I'm definitely using this. Thanks for your work and sharing with us.
-
👍 1
Leave a comment:
-
-
[ATTACH]55153[/ATTACH]
I released a version 2.9 with many fixes.
So many keys were not working in BeatDrop,
the mashup key 'A' (never mashed something, just loaded a random preset), 'D', '@' (randomize comp shader), '!' (randomize warp shader) ect... never worked.
it's all working now!
Now you can double click to enter or exit full-screen mode.
keys:
F1 help
F2 change max FPS
F3 change time between preset
F4 show preset name
F5 show FPS
F6 show preset rating
F7 always on top
F10 pause
For the first time, MilkDrop can run alone (not launched as a plugin) at full speed with all the options/button working, and I think this good news.
it's super easy to re-compile (the MilkDrop dll was always a nightmare to compile), and with ChatGPT available, I believe anyone could add something.
I will add new functionality in the next version that I thought it would have been impossible just few months ago. ChatGPT is a game changer
Last edited by serge000; 4 January 2023, 03:15.
-
👍 1
Leave a comment:
-
-
by the way I've just noticed I've uploaded an exe with debug infos that didn't run without Visual Studio installed
here is the new link that work on every computer (you just need the directx files installed from the folder Redist\DirectX\DXSETUP.exe included in the zip file:
v2.3: https://github.com/milkdrop2077/Beat...tDrop.2077.zip
edit : this fixed the bug I had displaying the Chinese character !!!
Leave a comment:
-
-
Greetings and thanks for all your hardwork. Is it possible to include a compiled .exe in your github?
Thanks!
Leave a comment:
-
-
I made a version 2.2 that support Always On Top window and multiple monitor stretching
new key mapping :
ALT+SHIFT toggle multiple monitor stretching
F1 help
F4 Show preset name
F5 Show FPS
F6 Show preset rating
F7 Always on top
F10 Pause
Leave a comment:
-
-
I have a bug that I can't fix myself, I need help for that:
when loading the menu with 'm' and choosing 'do a preset mash-up',
the names of the presets chosen are not displaying, instead I can see some Chinese character:
I believe it may have something to do with the #include <string> that I added in plugin.h messing with the std::wstring, but as I don't code in C++ it's hard for me.
Any ideas why? thanks
Leave a comment:
-
-
Hey guys I did a big upgrade on BeatDrop2077:
first I managed to compile the original files changing less code :
plugin.h
[added,line:41] #include <string>
plugin.rc
[replaced, line:10] #include "afxres.h" >>> #include<windows.h>
OR thick the box when installing visual studio 2019: "C++ MFC for v142 build tools (x86 & x64)" and you don't need to change anything in plugin.rc!
then I managed to update the font size, and be able to see more lines when loading a preset, in defines.h:
#define SIMPLE_FONT_DEFAULT_SIZE 12 >>> 24
#define DECORATIVE_FONT_DEFAULT_SIZE 22 >>> 24
#define HELPSCREEN_FONT_DEFAULT_SIZE 12 >>> 24
#define PLAYLIST_FONT_DEFAULT_SIZE 16 >>> 24
#define MAX_PRESETS_PER_PAGE 32 >>> 128
F4 Show preset name
F5 Show FPS
F6 Show preset rating
Now BeatDrop2077 looks way better than the original version of BeatDrop.
Unlimited FPS, no more CanvasStretch or messy nTexSize, everything looks sharper!!!
Download v2.0 here: https://github.com/milkdrop2077/Beat...tDrop.2077.zip
it come with an epic collection of 300+ presets!!!
Leave a comment:
-
-
BeatDrop2077 : my small attempt to make BeatDrop a little better :)
Hey lovely people,
I managed to recompile BeatDrop Music Visualizer with Microsoft Visual Studio 2019.
It took me a week just for that as I don't code in c++
https://github.com/milkdrop2077/BeatDrop2077
To recompile the exe without any fatal error, you'll need to install too the DirectX SDK (DXSDK_Jun10.exe)
from here: https://www.microsoft.com/en-ca/down...s.aspx?id=6812
(Windows Update needs to be enabled for installing the DirectX SDK)
Here is what I had to change to be able to recompile BeatDrop:
plugin.rc:
[replaced, line:10] #include "afxres.h" >>> #include "WinResrc.h"
plugin.h
[added,line:41] #include <string>
[replaced,line:431] std::wstring >>> std::string
plugin.vcxproj
[replaced, line:17] <WindowsTargetPlatformVersion>10.0.14393.0 >>> <WindowsTargetPlatformVersion>10.0
[replaced, line:22] <PlatformToolset>v141 >>> <PlatformToolset>v142
[replaced, line:28] <PlatformToolset>v141 >>> <PlatformToolset>v142
[replaced, line:132] <AdditionalIncludeDirectories>..\..\musikcube\src;C:\Program Files >>> <AdditionalIncludeDirectories>C:\Program Files
[added,line:146] <DisableSpecificWarnings>4996</DisableSpecificWarnings>
plugin.cpp
[removed,line:1065] m_presetHistory[i] = L"";
[removed,line:6298] m_presetHistory[0] = m_szCurrentPresetFile;
[removed,line:6873] LoadPreset( m_presetHistory[m_presetHistoryPos].c_str(), fBlendTime);
[removed,line:6915] LoadPreset( m_presetHistory[m_presetHistoryPos].c_str(), fBlendTime);
[removed,line:7185] m_presetHistory[m_presetHistoryPos] = szPresetFilename;
I had this error example for the line 1065 : C2679 binary '=': no operator found which takes a right-hand operand of type 'const wchar_t [1]' (or there is no acceptable conversion)
Any idea how to fix that?
Here is the list of tweaks I added:
m_max_fps_fs = 0; (0 for 'unlimited')
m_max_fps_w = 0; (0 for 'unlimited')
m_show_press_f1_msg = 0;
m_save_cpu = 0;
m_nCanvasStretch = 100; (100=None, much better quality)
m_nTexSizeX = -1; (-1 = exact match to screen, much better quality)
m_nTexSizeY = -1; (-1 = exact match to screen, much better quality)
m_nGridX = 64; (nMeshSize)
m_nMaxImages = 64;
m_nMaxBytes = 2000000000;
Download : https://github.com/milkdrop2077/Beat...tDrop.2077.zip
it comes with 10 epic presets
Please if you code in c++ and see something wrong let me know!
I would like to add the latest small update from wacup to BeatDrop (like see more lines of text),
shouldn't be too hard comparing the code from https://github.com/WACUP/vis_milk2 with https://winmerge.org/ right?Tags: None
-
Leave a comment: