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_vumeter (Read 22633 times) previous topic - next topic
boxerfan88 and 1 Guest are viewing this topic.

Re: foo_vis_vumeter

Reply #50
@oops : thanks a lot for the default values list, and the additional stuff for 0.1.3!

I was excited about the upcoming compatibility with AIMP skins.  Does this include both the analog versions from the aimp_analogMeter.dll group and the LVU.dll plugin's digital group?

Attached with permission is a re-design of the DejaVU Vertical meter, originally done by hiccup for the new MusicBee VUMeter plugin and later adapted by him for use with Foobar's BIN files, working very well with your plugin!  The zip includes two different color schemes:

hi @sveakul ,
the sky is the limit, especially for those are creative.
it looks extremely promising, DUI is perfect for this.

can we use this preset ?
@ilovefb2k

Re: foo_vis_vumeter

Reply #51
@sveakul
feel so good!

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_vumeter

Reply #52
20-30% GPU (Intel Graphics) :o  Is this normal?

Re: foo_vis_vumeter

Reply #53
Quote
DUI is already a huge effort due to the lifecycle/resource management required for DirectX. This is the biggest source of bugs and dev time wastage. Having to discover all the idiosyncrasies inherent in CUI is not something I want to dive into.

Unfortunately you don't want to offer your plugin for CUI  :'( I would have loved to see it there too.


Re: foo_vis_vumeter

Reply #55
20-30% GPU (Intel Graphics) :o  Is this normal?
14-16% here, with fo_vis_vumeter, foo_vis_spectrum_analyzer (and its separately panelled Peak Meter), JSP3 lastfm bio +images.  Intel UHD Graphics 770, Foobar v2.24 x64.

Re: foo_vis_vumeter

Reply #56
can we use this preset ?
Sure!!  I assume you meant "skin" not "preset."
Hi @sveakul ,
Thank you for your prompt reply and allowing us to use this skin.
Moreover, your suggestion to extend  VU Meter's base skins to cover AIMP's  will absolutely extend our choice. I am also excited thinking about that. It seems @oops kills two/three birds with one stone.
It is very kind of you.
wish you all the best,

@ilovefb2k

Re: foo_vis_vumeter

Reply #57
Hi @sveakul ,
Thank you for your prompt reply and allowing us to use this skin.
Actually it was hiccup, the designer of both skins ("DejaVu Compact Calibrated (foobar)" and "DejaVU Compact Calibrated foobar2000 (sveakul edition)"), that gave me permission to post them here and the more original designs the better, if the "stock" selection of BIN meters ever gets old!

Maybe someone here since the old 32-bit foo_vis_vumeter.dll days would be kind enough to create a newly-written step-by-step guide on how to use the "VUEditor.exe" tool to edit existing or create new BIN meters.  I surely need one.

Re: foo_vis_vumeter

Reply #58
For those who want to try the AIMP skin support: 0.1.4

Warning: It barely works and the only skin I've been testing is "DejaVU MusicBee3". For example, the needles for the "DejaVU Vertical" versions posted above are nowhere to be found. I'll try to fix but for the time being, no need to tell me that it is lacking full support for many skins. I know. This method is more complex/work than the BIN file one--in fact the BIN file method is much more elegant and less resource intensive because almost everything having to do with the image is precalculated by the VUEditor. Kudos to DRON. Also, watch out, almost every skin I've looked into has incorrect parameters in their INI files. So, the indicators are meaningless. Most skin designers don't seem to understand what the parameters mean.

can you add beat detection to your component ?
That is a very broad request. Can you be more specific?

Maybe someone here since the old 32-bit foo_vis_vumeter.dll days would be kind enough to create a newly-written step-by-step guide on how to use the "VUEditor.exe" tool to edit existing or create new BIN meters.  I surely need one.
Just open VUEditorGUI and load the Teac.vu sample. That has a needle and LED so you can see how it works. Then, just replace the elements you'd like to make a new skin (Back, Needle, Lamps, Glass). There are 3 steps to walk through: Moving, Angles, Lights.
Select each step and right-click on the window to get a set of options for that step. The knots option in the Angles and Lights steps sets the angle/intensity of the respective parameter at the different dB levels. There are just a few key points to snap the angles, the editor interpolates between them. Use the Preview step periodically to check the result. Finally, just export the configuration; I recommend BZIP2 and 1024 angles for the best result using Catmull-Rom interpolation (the samples use 200-ish angles).

Unfortunately you don't want to offer your plugin for CUI  :'( I would have loved to see it there too.
It is not that I don't want to. It is a resource management decision. I have finite leisure time to work on the component. I choose to spend it on the features I'd like to have myself and limit the possibility that other users see instabilities (or worse) by targeting a configuration that I run every day which I can personally "battle test/dogfood." But you're in luck...if you feel strongly enough about CUI you are empowered to do something about it. Let me clarify:
This component uses almost the exact structure to the MilkDrop 2 component. That code base is publicly available and if you can get that one properly working in CUI I will happily merge it into both. Fair warning: looking at how foo_vis_spectrum_analyzer has implemented the CUI/DUI support, it will involve a multi-thousand line refactor plus a whole lot of testing of very marginal scenarios such as crashing the graphics device/docking/undocking/hibernating/sleep and all permutations of window sizing/creation/destruction. You'd also need to instrument the CUI SDK to track down and isolate/fix all of the inevitable sanitizer and fuzzer failures. Failing to do this will result in a long chain of crash messages from users and increased support burden. Lastly, CUI does not support ARM64* targets so you'd have to manage special case build configurations between Intel and Arm. None of this is fun--very much a frustrating exercise but have at it.

Re: foo_vis_vumeter

Reply #59
Just open VUEditorGUI and load the Teac.vu sample. That has a needle and LED so you can see how it works. Then, just replace the elements you'd like to make a new skin (Back, Needle, Lamps, Glass). There are 3 steps to walk through: Moving, Angles, Lights.
Select each step and right-click on the window to get a set of options for that step. The knots option in the Angles and Lights steps sets the angle/intensity of the respective parameter at the different dB levels. There are just a few key points to snap the angles, the editor interpolates between them. Use the Preview step periodically to check the result. Finally, just export the configuration; I recommend BZIP2 and 1024 angles for the best result using Catmull-Rom interpolation (the samples use 200-ish angles).
I'm sorry oops for not being more specific!  What I'm trying to do with VUEditor is change just the colors on specific visual components:

1.  Load an existing skin downloaded from the Foobar VU Meter Skin Gallery into the Editor

2.  Extract all the visual components (needle, background, LEDs, etc.) so I can make color changes to them

3.  Reload the re-colored components and save the skin with just those changes, not touching any pre-existing performance/alignment data already in the BINs.

Of course, I have no idea how to do this, or if it is even possible--would be eternally grateful for a short tutorial when you have time.  THANKS!

Re: foo_vis_vumeter

Reply #60
For those who want to try the AIMP skin support: 0.1.4
Spoiler (click to show/hide)
can you add beat detection to your component ?
That is a very broad request. Can you be more specific?

Hi @oops,
Actually, I think that if your other component, foo_vis_milk2 (https://www.foobar2000.org/components/view/foo_vis_milk2), can interact with sound beats, and later on, VU Meter does as well, it would be great.
Additionally, as far as I know, an audio beat is just a drum kick (bass/low frequency) following a rhythm.
So, enjoying a song while seeing a VU Meter or Milkdrop would bring us more joy, as if we are indulging in a clubhouse.
Regards,
@ilovefb2k

Spoiler (click to show/hide)

Re: foo_vis_vumeter

Reply #61
@ilovefb2k :  what exactly were you trying to say in your last post?  Please do not misuse the "Quote" button or you end up with an undecipherable mess--thanks!

Re: foo_vis_vumeter

Reply #62
@ilovefb2k :  what exactly were you trying to say in your last post?  Please do not misuse the "Quote" button or you end up with an undecipherable mess--thanks!

hi @sveakul,
Thank you for your correction. i just asked @oops to have a feature (beat detection) for VU meter (as seen in above post).
As @oops was too busy to replied to each of us, then therefore, i had to hide others' comments to just highlight mine.
Regards,

@ilovefb2k

Re: foo_vis_vumeter

Reply #63
I'm curious about this:
I recommend BZIP2 and 1024 angles for the best result using Catmull-Rom interpolation (the samples use 200-ish angles).
Wouldn't it be so that if for example the VU meter image is 600 pix wide, using 600 angles would suffice?
Is there a benefit in using more angles than the background image is wide?

Re: foo_vis_vumeter

Reply #64
How do I get the VU Meter (DirectX 12) option in Columns UI Layout? I only get that option in Menu/Visualizations.

Re: foo_vis_vumeter

Reply #65
Analog VU Meter Visualisation
https://www.foobar2000.org/components/view/foo_vis_vumeter
Features
・Compatible with the Default User Interface (Default UI) only.

Flowin (foo_flowin.dll)
https://github.com/ttsping/foo_flowin/releases

You can display the Default UI element externally in Columns UI. You can also select no frame.

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_vumeter

Reply #68
Reply #58 By oops: https://hydrogenaud.io/index.php/topic,126733.msg1052407.html#msg1052407

Unfortunately you don't want to offer your plugin for CUI  :'( I would have loved to see it there too.
It is not that I don't want to. It is a resource management decision. I have finite leisure time to work on the component. I choose to spend it on the features I'd like to have myself and limit the possibility that other users see instabilities (or worse) by targeting a configuration that I run every day which I can personally "battle test/dogfood." But you're in luck...if you feel strongly enough about CUI you are empowered to do something about it. Let me clarify:
This component uses almost the exact structure to the MilkDrop 2 component. That code base is publicly available and if you can get that one properly working in CUI I will happily merge it into both. Fair warning: looking at how foo_vis_spectrum_analyzer has implemented the CUI/DUI support, it will involve a multi-thousand line refactor plus a whole lot of testing of very marginal scenarios such as crashing the graphics device/docking/undocking/hibernating/sleep and all permutations of window sizing/creation/destruction. You'd also need to instrument the CUI SDK to track down and isolate/fix all of the inevitable sanitizer and fuzzer failures. Failing to do this will result in a long chain of crash messages from users and increased support burden. Lastly, CUI does not support ARM64* targets so you'd have to manage special case build configurations between Intel and Arm. None of this is fun--very much a frustrating exercise but have at it.
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_vumeter

Reply #69
For me that's not a big problem. Every programmer uses his resources in the way that makes the most sense for him. Either way, I am grateful for all the work that goes into the entire Foobar2000 project. :)


Re: foo_vis_vumeter

Reply #71
For those who want to try the AIMP skin support: 0.1.4

Warning: It barely works and the only skin I've been testing is "DejaVU MusicBee3". For example, the needles for the "DejaVU Vertical" versions posted above are nowhere to be found. I'll try to fix but for the time being, no need to tell me that it is lacking full support for many skins. I know.
oops:  I have access via hiccup to the needle components you say you can't find from the BIN meter I posted, if you haven't gotten them yet let me know and I'll post them.  Aren't these "extractable" in some way from the BIN using VUEditor?

 

Re: foo_vis_vumeter

Reply #72
Updated version with mostly complete AIMP analog VU meter skin support: 0.2.0

This version went through a large refactor to merge everything but the initial loading and device drawing functionality between the foobar2000 BIN files and the AIMP ZIP files. So, if you decide to try it and see a functionality regression let me know. This is not "current" so manual download and install is necessary.

Quick notes:
  • Unfortunately, the needle behavior for the AIMP skins is bad and inaccurate; especially around 0dB. That is likely the next thing I'll work on improving.
  • Some skins are transparent at the edges (mainly at the bottom) which makes the needle show through--I've increased the "glass" size by 4 pixels to cover it on some skins. Removing this "edge trim" might not look the best or some elements might overflow. Let me know if you run a skin where it looks bad.
  • I added SHIFT and CTRL modifiers for more granular control of the preamplifier gain setting. Use them alongside the mouse wheel to step in hundredths or tenths of a dB, respectively. None-modified mouse wheel steps in unit increments.
  • Lasty, if you use a "vertical" stack AIMP skin, there is only 1 layout option: LEFT+RIGHT H. No other options make sense so they are not selectable. Vertical stack means that the left or right channel needle origin in the Y-axis is negative and the opposite channel's is positive.

Re: foo_vis_vumeter

Reply #73
oops:  I have access via hiccup to the needle components you say you can't find from the BIN meter I posted, if you haven't gotten them yet let me know and I'll post them.  Aren't these "extractable" in some way from the BIN using VUEditor?
Oh, I meant I couldn't get the needles to draw in the right coordinates. Only saw an empty panel. I've found my mistake and fixed it in version 0.2.0. Sorry for not being clear.

Wouldn't it be so that if for example the VU meter image is 600 pix wide, using 600 angles would suffice?
Is there a benefit in using more angles than the background image is wide?
There likely isn't that much. There is some interpolation going on, the calculations happen with fractional pixels so there could be some "difference" depending on the interpolation method. Looking at the decompiled version of VUEditor, the maximum image size appears to be 4096 pixels and the maximum frame count is 1024. So, the author is using a 4:1 ratio, much less than 1:1. And the needle isn't always vertical either. And that still appears to be over-spec'd. The VUEditor author has been very clever--when reverse engineering the BIN file format I noticed several of the needle delta array pointers using the same offset. That means that the tool uses the same needle "angle" for several frames if there is no change in the pixel data between adjacent frames. And you can see it even when the frame count is 200 since most panels are not over 1000px wide!

i just asked @oops to have a feature (beat detection) for VU meter (as seen in above post).
https://www.foobar2000.org/components/view/foo_bpm
Thanks, but I'm still not clear on what you want to visualize or how the needles display BPM. Loudness is logarithmic, BPM is linear.

Re: foo_vis_vumeter

Reply #74
Attached is another version of hiccup's DejaVU Compact Calibrated meter, with brighter LED's for those who prefer lively skins.