Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_vis_milk2 (Read 15809 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_vis_milk2

Reply #50
I'm seeing a few cosmetic issues...
Thanks for the feedback Pixel8tor. Let me answer the easy ones:
  • The smallest size of window being 320x200 is no coincidence, more like an easter egg, where I picked the Mode 13h dimensions as an interesting reference. But it's really arbitrary. So, the new minimums are 150x150 as requested.
  • Another coincidence, I was already working on trying to get the icon to show into the caption (title bar). Not even reading my well-worn copy of Petzold several times seemed to help. foobar2000 doesn't make things easy, it took a while to reverse engineer what is happening. The key is that the title bar you and the context switcher sees is not the window the component is drawing into but a window that contains the component's main window.
  • Back to the multi-monitor stuff. I don't know that I can do much here. See point 2. It might be an artifact from the outside window. Do you see the same in other visualizations? Maybe they have already solved this. However, I don't know exactly what you're seeing. Do you see the window "chrome" like it unmaximized inside the container? Or do you see a small (few pixels) border? If it is coming from the component, it would be cornflower blue because that's the color I paint the client area before rendering.

Re: foo_vis_milk2

Reply #51
Hello. I'm publishing what I believe to be the last "alpha" release: 0.0.299. EVERY feature I've wanted working is implemented. Enjoy!

This is a large release with many major feature changes and improvements.
As such, there will still be bugs due to the large number of changes and admittedly limited testing by a single person. I apologize in advance.

Find the full release notes here.
Browse newly-created documentation here.
Download from here.

OUTSTANDING/KNOWN BUGS (if anyone feels like helping root cause and fix)
  • Still some state memory is not cleared on component exit; likely one of the large string buffers in the State class. Not an outright leak though as the memory profile stays constant.
  • Lots of unnecessary DirectX operations but no obvious references left unaccounted for on exit.
  • There might still be some user interactivity hangs. The component will run for 10s of hours consecutively without issue (even when machine sleeps/hibernates) if just left doing its drawings.
  • Icon to the foobar2000 window's menu/title bar propagates to unexpected places.
  • Unexpected multimonitor behavior.
  • Still have strobing effect in the composite shaders.
  • Not all features fully tested.
  • Surely some scenario in someone else's configuration/machine.
  • Code handle pointer in texture manager invalid on window destroy.
  • D3D11 WARNING: ID3D11DeviceContext::DrawIndexed: Index buffer has not enough space! [EXECUTION WARNING #359: DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL]

Re: foo_vis_milk2

Reply #52
Thanks for the update, but it takes a long time to start loading. Looking at the console, it takes at least 6 seconds.

Re: foo_vis_milk2

Reply #53
@oops
Thanks.



Test:
Windows 11 Home
GEEKOMA7 (Mini PC)
AMD Ryzen 7 7840HS / AMD Radeon RX 7600M XT (USB Graphic board)
64.0 GB
Task Manager %CPU: Around 5%
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

 

Re: foo_vis_milk2

Reply #54
After updating foo_vis_milk2, playing music will suddenly crash for an indeterminate amount of time, probably WebView related, my player never crashed before the update.

Re: foo_vis_milk2

Reply #55
Thanks @oops
I also can confirm foobar crashes sometimes with the plug running, especially when a new track comes on.

Re: foo_vis_milk2

Reply #56
Thanks...
Looks awesome Air KEN! Happy it keeps working for you because with the update I tried making the preset resolution code more international but don't have a machine with non-Latin characters to test on.

Thanks for the update, but it takes a long time to start loading. Looking at the console, it takes at least 6 seconds.
I see something similar during cold starts of foobar2000. I think this is just the OS loading the app to RAM from disk. If I close after opening and shortly thereafter open again the entire app comes up "instantaneously." Let me know if you think I'm mistaken.

After updating foo_vis_milk2, playing music will suddenly crash for an indeterminate amount of time, probably WebView related, my player never crashed before the update.
The component does not use WebView for anything. If you submit a dump after the crash I can look at it.

Thanks @oops
I also can confirm foobar crashes sometimes with the plug running, especially when a new track comes on.
I've fixed "WARNING #359: DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL" message. It came from the title message that might come up during track change if you have that option set in this newer version. If you disable the "Show title anims. when song changes" option then that might avoid the crashing temporarily (until I roll out an update).
Another update in this version on track change is the loading of the album art. Try to disable this if you enabled it--if you right click make sure that "Show Album Art" is grayed out or does not have a tick mark.

Re: foo_vis_milk2

Reply #57
Thanks for the update, but it takes a long time to start loading. Looking at the console, it takes at least 6 seconds.
I see something similar during cold starts of foobar2000. I think this is just the OS loading the app to RAM from disk. If I close after opening and shortly thereafter open again the entire app comes up "instantaneously." Let me know if you think I'm mistaken.
Using foobar2000 2.1.5, with only the foo_vis_milk2 component installed in a fresh configuration, Whether it is a cold start or a hot start, the loading time takes 6s+, and changing the size of the FB window will cause the window to freeze for a certain time, and when you double-click the full screen, it will also cause a certain time of freezing, and it can easily cause a crash, the following is the crash report

Re: foo_vis_milk2

Reply #58
Thanks for the update, but it takes a long time to start loading. Looking at the console, it takes at least 6 seconds.
I see something similar during cold starts of foobar2000. I think this is just the OS loading the app to RAM from disk. If I close after opening and shortly thereafter open again the entire app comes up "instantaneously." Let me know if you think I'm mistaken.
Using foobar2000 2.1.5, with only the foo_vis_milk2 component installed in a fresh configuration, Whether it is a cold start or a hot start, the loading time takes 6s+, and changing the size of the FB window will cause the window to freeze for a certain time, and when you double-click the full screen, it will also cause a certain time of freezing, and it can easily cause a crash, the following is the crash report

PS: Copied reply, Please delete this duplicate post.

Re: foo_vis_milk2

Reply #59
I've fixed "WARNING #359: DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL" message. It came from the title message that might come up during track change if you have that option set in this newer version. If you disable the "Show title anims. when song changes" option then that might avoid the crashing temporarily (until I roll out an update).
Another update in this version on track change is the loading of the album art. Try to disable this if you enabled it--if you right click make sure that "Show Album Art" is grayed out or does not have a tick mark.

Lately it has been running pretty stable now, I sent out the crash report so I'll just wait for your next update to fix things.
Many thanks again for the improvements in the latest versions!

Re: foo_vis_milk2

Reply #60
Using foobar2000 2.1.5, with only the foo_vis_milk2 component installed in a fresh configuration, Whether it is a cold start or a hot start, the loading time takes 6s+, and changing the size of the FB window will cause the window to freeze for a certain time, and when you double-click the full screen, it will also cause a certain time of freezing, and it can easily cause a crash, the following is the crash report
Thanks, I took a look. It is indeed happening when drawing text on the screen. In this case, my suspicion is that the default fonts are not populated. If you bring up the font selection dialog from the preferences, these are the defaults. You could also try to hit the "Reset page" button to see if the configuration initializer reloads the defaults.

I'll investigate the stuttering and the startup performance.

Re: foo_vis_milk2

Reply #61
Thank you for all you efforts in building this plugin.

Is it possible to have foo_vis_milk2 running full screen on 1 monitor while I'm using another monitor? Currently when I have foo_vis_milk2 running full screen on my left monitor, the instant I click anywhere on the right monitor it will jump out of full screen mode back to windowed.

I have also noticed that version 0.0.299-alpha crashes a lot for me, usually within the first few minutes of using it. Could it be that the preset\texture pack I'm using is too big (2.5GB+)?

The crash logs goes to the Foobar200 developer if i submit them, should I be attaching them in this thread instead?
Who are you and how did you get in here ?
I'm a locksmith, I'm a locksmith.

Re: foo_vis_milk2

Reply #62
Hi oops,

First, thanks for allowing a smaller docked window size - it looks much better with my layout.

Anyway, it seems the border issue is a FB2K issue! After your question, "Do you see the same in other visualizations? ", I tried other visualizations and they all show the same issue. So it must be FB2K causing the problem, right? I suspect the icon issue is also a FB2K issue. None of these issues are in the 32bit version of FB2K. Something was changed!

I started a new thread for this: https://hydrogenaud.io/index.php/topic,126586.0.html

Thanks for looking into this. Take care.



https://hydrogenaud.io/index.php/topic,126586.0.html

Re: foo_vis_milk2

Reply #63
Using foobar2000 2.1.5, with only the foo_vis_milk2 component installed in a fresh configuration, Whether it is a cold start or a hot start, the loading time takes 6s+, and changing the size of the FB window will cause the window to freeze for a certain time, and when you double-click the full screen, it will also cause a certain time of freezing, and it can easily cause a crash, the following is the crash report
Thanks, I took a look. It is indeed happening when drawing text on the screen. In this case, my suspicion is that the default fonts are not populated. If you bring up the font selection dialog from the preferences, these are the defaults. You could also try to hit the "Reset page" button to see if the configuration initializer reloads the defaults.

I'll investigate the stuttering and the startup performance.
This has been happening with the default settings. Now I can no longer access the sub-options of this visualization. Clicking it crashes immediately. Generated some new crash reports

Re: foo_vis_milk2

Reply #64
This has been happening with the default settings. Now I can no longer access the sub-options of this visualization. Clicking it crashes immediately. Generated some new crash reports
My friend, your component installation is majorly borked. I don't know how. But the key is that your settings are all 0's. Since foobar2000 helpfully keeps what the initial value was into the config, I can tell they were overwritten at some point after initially setting them. Unsure how.
Your best bet on any of your installs is to uninstall and reinstall the component. If that doesn't work, try deleting the "config.sqlite" file (careful as this affects EVERYTHING in foobar2000). Or if you know what you're doing, using a tool such as DB Browser, you can surgically target the cfg_vars in "config.sqlite"; the GUIDs for each setting are listed here.
General advice (not implying you're doing this here): don't copy installs, use the installer. I have tried to reproduce this issue using Windows Sandbox without success. I cannot root cause what it is about your particular configuration that puts the component into this state.

Here are the quickie notes for the dumps:
  • dmp3, dmp4 fixed, active playlist has 0 entries - Crash when pressing P or right click, fixed by adding size() check and returning "" if 0.
  • dmp5 crashes/hangs on destroy window, either exiting or going fullscreen? Unclear why.
  • dmp1, dmp2, dmp6 again crashes when trying to print screen message. Entire settings struct is zero'd out. Try to add some recovery by checking if default_szPluginsDirPath != settings.m_szPluginsDirPath and restore EVERYTHING to defaults on get_configuration().

Re: foo_vis_milk2

Reply #65
This has been happening with the default settings. Now I can no longer access the sub-options of this visualization. Clicking it crashes immediately. Generated some new crash reports
My friend, your component installation is majorly borked. I don't know how. But the key is that your settings are all 0's. Since foobar2000 helpfully keeps what the initial value was into the config, I can tell they were overwritten at some point after initially setting them. Unsure how.
Your best bet on any of your installs is to uninstall and reinstall the component. If that doesn't work, try deleting the "config.sqlite" file (careful as this affects EVERYTHING in foobar2000). Or if you know what you're doing, using a tool such as DB Browser, you can surgically target the cfg_vars in "config.sqlite"; the GUIDs for each setting are listed here.
General advice (not implying you're doing this here): don't copy installs, use the installer. I have tried to reproduce this issue using Windows Sandbox without success. I cannot root cause what it is about your particular configuration that puts the component into this state.

Here are the quickie notes for the dumps:
  • dmp3, dmp4 fixed, active playlist has 0 entries - Crash when pressing P or right click, fixed by adding size() check and returning "" if 0.
  • dmp5 crashes/hangs on destroy window, either exiting or going fullscreen? Unclear why.
  • dmp1, dmp2, dmp6 again crashes when trying to print screen message. Entire settings struct is zero'd out. Try to add some recovery by checking if default_szPluginsDirPath != settings.m_szPluginsDirPath and restore EVERYTHING to defaults on get_configuration().
In the previous feedback, I indicated that the test was conducted under a brand new configuration, that is, a brand new portable installation, and then only the foo_vis_milk2 component was installed. The settings of fb were the default, and the settings of the foo_vis_milk2 component were also the default. I have tested this problem by installing fb more than once, so... I don't know where the problem lies.

Attached is a video of a fresh install crashing during operation test

Re: foo_vis_milk2

Reply #66
Thank you for all you efforts in building this plugin.

Is it possible to have foo_vis_milk2 running full screen on 1 monitor while I'm using another monitor? Currently when I have foo_vis_milk2 running full screen on my left monitor, the instant I click anywhere on the right monitor it will jump out of full screen mode back to windowed.

I have also noticed that version 0.0.299-alpha crashes a lot for me, usually within the first few minutes of using it. Could it be that the preset\texture pack I'm using is too big (2.5GB+)?

The crash logs goes to the Foobar200 developer if i submit them, should I be attaching them in this thread instead?
Here are some crash logs from me.
Who are you and how did you get in here ?
I'm a locksmith, I'm a locksmith.

Re: foo_vis_milk2

Reply #67
Attached is a video of a fresh install crashing during operation test
That's very helpful to see how it crashes. Clearly during the first launch everything is populated correctly. You see the circular waveform, the motion vectors and the playlist, help and error text. Second run, all is good again, text appears and you're able to switch presets. So definitely gets farther than I've been focusing.
Some explanation. The stuttering you mention when resizing is by design. When the window is changing sizes it pauses the rendering until you let go of the resize button. When going fullscreen, the same thing is happening because fullscreen is just a window that is brought to the front without the chrome (non-client area).
Now back to the crash, once again, I tried that in my machine. It works as expected. The bug hunt goes on...

The crash logs goes to the Foobar200 developer if i submit them, should I be attaching them in this thread instead?

Here are some crash logs from me.
The crash logs supposedly show up in the developer dashboard. But the last one I see is from late June for version 0.0.230, so the system might not be working. In any case, I took a look and the crash on this one comes from foo_dsp_meiercf.dll. I don't have the proper resources to help on this one. Sorry.

Re: foo_vis_milk2

Reply #68
@A_Man_Eating_Duck : you don't need foo_dsp_meiercf with foobar2000 v2.x series. It's now built-in.
The crash in the log posted by A_Man_Eating_Duck is not from foo_dsp_meiercf. I unfortunately don't have debug symbols for components this old to quickly verify what is called from it, but the log shows that after foo_vis_milk2 CRT error handlers are invoked. That is where things went wrong and triggered the crash.

The Meier Crossfeed could only crash if it was given an incorrect chunk that claims to have more data than it actually has. I don't see a single crash logged for the component in the system though.

The crashlogger actually has multiple crashes logged for the latest foo_vis_milk2 version. I don't know what kind of access you have to the system but if you don't see them, I think Peter needs to take a look at the problem.

Re: foo_vis_milk2

Reply #69
Thanks for the heads up Case. I've removed foo_dsp_meiercf (it wasn't actually enabled as a DSP) and here is a new crash report
EDIT:
Just upgrade to foobar2000 v2.2 preview 2024-09-11 and now it crashes at scanning presets.
failure_00000004.dmp
failure_00000004.txt

Who are you and how did you get in here ?
I'm a locksmith, I'm a locksmith.


Re: foo_vis_milk2

Reply #71
Now I see the crash logs! Last night I only had 11, now there are more.

Re: foo_vis_milk2

Reply #72
I published the first "beta" release last night: 0.1.0. Almost exclusively bug fixes. I'm hoping it addresses some of the crashes--some of you seem very adept at doing something to your graphics devices that cause the component to enter "device lost" mode :)

Find the full release notes here.
Browse documentation here.
Download from here.

KNOWN BUGS (from above)
  • Some state memory is not cleared on component exit; likely one of the large string buffers in the State class. Not an outright leak though as the memory profile stays constant.
  • Lots of unnecessary DirectX operations but no obvious references left unaccounted for on exit.
  • There might still be some user interactivity hangs.
  • Icon to the foobar2000 window's menu/title bar propagates to unexpected places.
  • Unexpected multi-monitor/DPI behavior.
  • Still have strobing effect at edges in the composite shaders.
  • Code handle pointer in texture manager invalid on window destroy.
  • D3D11 WARNING: ID3D11DeviceContext::DrawIndexed: Index buffer has not enough space! [EXECUTION WARNING #359: DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL]

Re: foo_vis_milk2

Reply #73
@oops
Thank you for the beta version.
There used to be an occasional crash when quitting foobar, but that's gone now too.



Test:
Windows 11 Home 23H2 22631.4169
AMD Ryzen 7 5700X 3.40 GHz | NVIDIA GeForce RTX 4060/M 8.0 GB
48 GB
Task Manager %CPU: Around 5%
JScript Panel
ESLyric
Youtube Source
WebView
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: foo_vis_milk2

Reply #74
I published the first "beta" release last night: 0.1.0. Almost exclusively bug fixes. I'm hoping it addresses some of the crashes--some of you seem very adept at doing something to your graphics devices that cause the component to enter "device lost" mode :)
Thanks for the update, after testing, the crash is greatly reduced, but the crash still happens, and the steps to reproduce it are as follows:
1. Open the milk2 visualization window and double-click it to display it in full screen
2. Press the win logo key on the keyboard, and the milk2 full-screen window will automatically return to the non-full-screen window state
3. Double-click the milk2 window again to make it full-screen
Repeat the above steps and the crash will happen again