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: JScript Panel script discussion/help (Read 411001 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

Re: JScript Panel script discussion/help

Reply #1975
Currently there are 3 methods afaik of displaying VU meters with needles in fooBar:

1) Original foo_vis_vumeter 2013-02-16, runs in DUI/CUI, but only 32bit. Supports lamps/lights. Does not support transparency. Has needle adjustment by mousewheel.
2) New foo_vis_vumeter by oops, runs in 32bit and 64bit, but only DUI, which is quite unfortunate.
3) JSP3 script by ilovefb2k, that runs AIMP meters in 32bit and 64bit, but only available for windows if I'm correct. Supports transparency. Does currently not support lamps/lights and needle adjustment by mousewheel. Current version supports unlock aspect ratio, but is buggy.

I know it is work in progress, but currently it's quite tedious to modify the parameters of an AIMP style VU meter for the JSP3 script. It's quite easy though to create with VU Editor a BIN from the unmodified AIMP sources that can be run with foo_vis_vumeter with (added) lights/lamps.

I experimented a bit by porting an AIMP style VU meter I made to original foo_vis_vumeter style BIN files using VU Editor. I created two different versions, one transparent and one opaque, both using a red needle and red lamps/lights.
The opaque one looks fine (just as the original with red needle/light), but the transparent one looks ugly probably because the original foo_vis_vumeter does not handle transparency. Screenshot attached with an upper large transparent JSP3 meter and a lower transparent BIN meter, with an ugly presentation of the transparent area.

I cannot test the new foo_vis_vumeter by oops since I'm running DUI.
Can someone verify what happens when the transparent BIN is loaded in the new component?

Thx.

Re: JScript Panel script discussion/help

Reply #1976
@Defender

VU Meter Visualisation 0.5.2-rc (foo_vis_vumeter) 2024-11-07
foobar2000 core 2.24 preview 2024-11-06 x64



I tried displaying it on the VU Meter Visualisation (foo_vis_vumeter) Panel.
Is this all that's needed?
It's the same as the @Defender image, and has beautiful transparency.
I loaded 7inch_3 - defender.vu in VUEditorGUI and changed the needle to needle original.png (Because it might be useful later).
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: JScript Panel script discussion/help

Reply #1977
@Defender
I loaded 7inch_3 - defender.vu in VUEditorGUI and changed the needle to needle original.png (Because it might be useful later).
That's why I  included the original needle and recreated white light/lamp :-)

VU Meter Visualisation 0.5.2-rc (foo_vis_vumeter) 2024-11-07
foobar2000 core 2.24 preview 2024-11-06



I tried displaying it on the VU Meter Visualisation (foo_vis_vumeter) Panel.
Is this all that's needed?
It's the same as the @Defender image, and has beautiful transparency.
I'm not sure about your picture. It displays the transparent parts as a grey checker board. That's also what the original foo_vis_vumeter does. It should show painted background/art it is displayed upon.

I attached a new screenshot where the background is first painted with a reddish gradient before the the JSP3 and foo_vis_vumeter VU meters are displayed.
The upper one is the JSP3 version which is correctly displayed. The lower one is the BIN version which overwrites the background with the checkerboard where it should be the same background as the upper one.

Re: JScript Panel script discussion/help

Reply #1978
> I'm not sure about your picture. It displays the transparent parts as a grey checker board. That's also what the original foo_vis_vumeter does. It should show painted background/art it is displayed upon.
I simply made a panel out of foo_vis_vumeter.

> It displays the transparent parts as a grey checker board.
Yes. It remains transparent.
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: JScript Panel script discussion/help

Reply #1979
> It displays the transparent parts as a grey checker board.
Yes. It remains transparent.
In your picture I see the grey checkerboard, not the original background of the underlying panel.

Anyway, thx.

Re: JScript Panel script discussion/help

Reply #1980
Yes, that's right. It's been panelized like this.

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: JScript Panel script discussion/help

Reply #1981
Yes, that's right. It's been panelized like this.
Thank you for confirming. Which means only the JSP3 script handles transperency correctly.

Re: JScript Panel script discussion/help

Reply #1982
Yes, that's right. It's been panelized like this.
Thank you for confirming. Which means only the JSP3 script handles transperency correctly.
@Air KEN

Follow-up. I don't like the grey checkerboard and also not the larger gap between the left & right VU meter, so I recompiled an imo nice looking variant with a smaller gap between L and R VU meter which uses separates BIN's for Left and for Right and a gradient that fits in my skin.

You might want to give it a try. Compiled versions and sourcefiles included in the attachment in case you want to change the red needle or red lamp/light.

 

Re: JScript Panel script discussion/help

Reply #1983
Announcement of the Results:

7inch_3


7inch_3 - transparent red             7inch_3 - transparent red LR
 

7inch_3 - opaque red                     7inch_3 - opaque LR
 

7inch_3 - gradient red                     7inch_3 - gradient red LR
 
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: JScript Panel script discussion/help

Reply #1984
Announcement of the Results
LOL. I get the picture(s) :-)

I personally have not decided yet whether I prefer the original dark needle or the red one. I definitely like the red light/lamp more than the original white one.

Here are some more minimalistic versions of the gradient smaller bezel version.

I call it a day now until @ilovefb2k comes with a new version of his script.

Re: JScript Panel script discussion/help

Reply #1985
I wonder if you could add the ability to display the left or right channel separately in the script? Thank you!
hi @sq68,
well-noted,
thank you for your suggestion.
@ilovefb2k

Re: JScript Panel script discussion/help

Reply #1986
very nice look& feel, you made a clever change to the script.
@ilovefb2k

In my skin there are 5 different instances of VU BIN you can enable (and now one VU JSP). All are driven by the same scaling code although the bottom ones use slightly different parameters than the upper ones.

Please don't implement my maximum vu.h_scale / vu.w_scale method unless you make it optional.
I have no way of knowing what skin is selected and it's native aspect ratio. I also cannot read Properties. Hence the generic values of vu.x_fact and vu.y_fact instead of the actual x/y of the BIN png in my code. These values work fine for all selected horizontal VU skins, but look awful in vertical and square skins.
hi @Defender,
wow, you have gone so fast.
masterpiece is not easy to take but worth trying.
i may stay back behind to finish the puzzle.
wish you nothing but a very happy life.
@ilovefb2k 

Re: JScript Panel script discussion/help

Reply #1987
@ilovefb2k : with your next AIMP Analog VU Meter script, is there any chance of adding:

1.  Vertical layout for separate L/R meters?

2.  Support for non-LVU AIMP analog skins that have "LEDs" and dual needles?  (skin attached)
hi @sveakul  and @all,
as per @sveakul's suggestions,  please find the attached script that was updated with this feature, named version after 1.0.14 DT-L 14-Nov-24 for easy reference.
i may take a nap and try to finish the puzzle by adding LVU as noted in the script. 
hope this may bring a little joy to our life.
wish you all the best.
note: we attached the @sveakul's VU Meter skin for convenience.
@ilovefb2k

Re: JScript Panel script discussion/help

Reply #1988
That's amazing. Your script continues to evolve.
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: JScript Panel script discussion/help

Reply #1989
.my effort

Re: JScript Panel script discussion/help

Reply #1990
@telboy1812
Are you talking about Analog VU Meter Visualisation (foo_vis_vumeter)?
AIMP Analog VU Meter is a JSP3 Script and is not the subject of this thread.
Then check the whole process before posting.

To use Analog VU Meter Visualisation (foo_vis_vumeter), simply place the vumeter folder and make it into a panel.
To use the AIMP Analog VU Meter, all you need to do is place the skin folder, prepare a JSP3 panel, and load the Script file (.txt).

The use and placement of JSP3 scripts, and the foo_vis_vumeter are much neater than in the previous screenshot. The previous interaction looks unnatural.
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: JScript Panel script discussion/help

Reply #1991
as per @sveakul's suggestions,  please find the attached script that was updated with this feature, named version after 1.0.14 DT-L 14-Nov-24 for easy reference.
Thanks ilovefb2k for the script with the new "infinite" alignment options  :o !

I noticed two issues with the DejaVu skin:

1.  At lower levels, the bottom of the needles protrude slightly from the top and bottom of the main body;  see Image #1

2.  When "LED Level" is set to "Follow RMS" it works fine, needles and LED follow RMS together.  But when set to "Follow Peak", the LEDs have a way too slow decay rate, resulting in being maxed out most of the time instead of accurately following the audio peak changes.  GIF #2 is attached so you can get an idea of the LED Peak speed--it starts with pop music, which keeps the LEDs inaccurately pinned to Peak;  then I change to classical so you can get an idea of the LED change rates--the Rise level is fine, but Decay is too slow.

Thanks for your work!

Re: foo_vis_vumeter

Reply #1992
hi ken i am no good at writing scripts mine seem to be .bin in a folder in the foobar configuration when I right click the vu meter select growing these vu meters are available to me

Re: JScript Panel script discussion/help

Reply #1993
? ? ?
This is about VU meter visualization (foo_vis_vumeter), please move it to another thread.
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: JScript Panel script discussion/help

Reply #1994
sorry


Re: JScript Panel script discussion/help

Reply #1996
i don't want the albumart

Re: JScript Panel script discussion/help

Reply #1997
as per @sveakul's suggestions,  please find the attached script that was updated with this feature, named version after 1.0.14 DT-L 14-Nov-24 for easy reference.
Thanks ilovefb2k for the script with the new "infinite" alignment options  :o !

I noticed two issues with the DejaVu skin:

1.  At lower levels, the bottom of the needles protrude slightly from the top and bottom of the main body;  see Image #1

2.  When "LED Level" is set to "Follow RMS" it works fine, needles and LED follow RMS together.  But when set to "Follow Peak", the LEDs have a way too slow decay rate, resulting in being maxed out most of the time instead of accurately following the audio peak changes.  GIF #2 is attached so you can get an idea of the LED Peak speed--it starts with pop music, which keeps the LEDs inaccurately pinned to Peak;  then I change to classical so you can get an idea of the LED change rates--the Rise level is fine, but Decay is too slow.

Thanks for your work!
hi @sveakul,
just a quick reply as follows:
1. the bottom of the needles protrude slightly from the top and bottom : This , in principal, can be hidden by maximize the meter. however, as i do not totally understand the algorithm / formula behind the scene  then we just leave them there. this is absolutely annoying. well-noted.
2. LEDs have a way too slow decay rate: turn on the 'tweak' option to have fb2k's signal dominated may help. i will let the LED freely follow the signal.
regards,
@ilovefb2k

Re: JScript Panel script discussion/help

Reply #1998
That's amazing. Your script continues to evolve.
Hi @Air KEN, @sveakul,  @Defender and @all,
Another weekend is coming, friYAY!!
Week by week, month by month, and just one left to reach Christmas and year-end eve. So fast.
Please find the attached script, with the last puzzle of the AIMP Analog VU Meter deployed, version named 1.0.16 DT-M 16-Nov-24 for easy reference: AIMP LED VU Meter (LVU) is supported.
As such, we should have a quick review:
- Features:
   + Load AIMP VU meter
   + Free allocation in panel
   + Easy tuning

- AIMP VU Meter types covered:
   +Analog NEEDLE only (not analog LED) => vertical/horizontal needle, up/down needle arrow, >< V & /\ needle shape.
      *Type 1: 1 image set for both channels
      *Type 2: 2 image sets, each for each channel.
   + LED (LVU): vertical/horizontal bar

- How to:
   +Download AIMP VU Meter skin file, e.g.:
      * analog NEEDLE : https://www.aimp.ru/forum/index.php?topic=52865.0
      * LED (Led VU) : https://www.aimp.ru/forum/index.php?topic=54005
   + Unzip the AIMP VU Meter skin into a folder and copy this [folder] to the specific directory as indicated by this script.
   + Load this script into a JSP3 /UI/ panel
   Or follow @sveakul's instruction https://hydrogenaud.io/index.php/topic,110516.msg1053636.html#msg1053636

- Limitations:
   + Options: MobilityNegative, MobilityPositive > could not take MobilityPositive into account.
   + Meter range (in the skin) is quite inaccurate.
   + Fb2k's VU Meter skins are currently not supported.
Note: Refer to fb2k, @oops's, Analog VU Meter Visualisation/foo_vis_vumeter component for a complete, rich-feature, well-tuning and bug-free https://www.foobar2000.org/components/view/foo_vis_vumeter

- Credit and acknowledgment:
   + @Case and @marc2003 for their JSP3 VU Meter.
   + @Artem and contributors /AIMP VU Meter - analog NEEDLE/ for their beautiful analog VU Meters.
   + @xrEngine and contributors /AIMP VU Meter - LED/ for their elegant LED VU Meters.

Please note that this "AIMP Analog VU Meter" is just for look & feel/eye-candy only, and to some extent, to humbly serve as a starting point for us all to tailor or play around with JSP3 VU meter. As such, we would like to expect this to be utilized and, of course, evolved to cover fb2k's VU Meter skins (BIN).

Again, thank you @all, especially @Air KEN, @sveakul, and @Defender, for their valuable suggestions and positive feedback.

Wish you all a very nice weekend.

Regards,
@ilovefb2k

Re: JScript Panel script discussion/help

Reply #1999
AIMP Analog VU Meter deployed, version named 1.0.16 DT-M 16-Nov-24
@ilovefb2k

Thanks for actively developing this script.

I like transparency and since the original foo_vis_vumeter does not support it and the new foo_vis_vumeter is DUI only/not transparent, your script is the only way to  use this nice feature properly.

Nice you mention features, how to and limitations with new versions in your post, but could you also include a todo and version changes in the post. Especially the last one would be an improvement for me, since I then know what to test. Maybe also an idea to include the version name in the attached source rar itself?

I currently use:
fooBar 2.24 preview 2024-11-14 x86 - CUI/PSS 790MB typical memory usage
AIMP Analog VU Meter 1.0.16 DT-M 16-Nov-24

I did some testing on your current version:


ALIGNMENT:

I noticed in this version that the quality of the upscaled displayed image in all modes is now the same as foo_vis_vumeter.
All good except for the needle stuff mentioned below.

BTW. The original foo_vis_vumeter also has a mono choice besides only left and only right. It combines/adds L+R signals before using the left vu meter to display the results.


MEMORY USAGE:

When using any of the H and C scalings except H:Maximize and switching between them your script hardly uses any extra memory. All of these scalings however display part of the needle below L_0 & R_0 (and L_2 & R_2). Only H:Bottom looks fine because it probably paints the lower part of the needle outside of the panel.

The moment you switch to H:Maximize or any of the V and R scalings the needle is displayed correctly within image boundaries.
However memory uses goes up by a lot. Lowest value I have seen is +400MB, but sometimes it goes up by +1000MB. CPU usage stays low.
Any switch in scaling you do after you selected a high memory scaling, keeps the memory at those elevated levels even when playing stops or plugin is not displayed.
I also encountered some very infrequent freak spikes up to +2000MB while testing before fooBar became unstable and had to be killed.


NEEDLE CALIBRATION/MINIMAL ANGLE:

You mention easy tuning in your post. I still struggle a whole lot by trial and error to calibrate the position of the needle and the length of the needle. In the end I find the minimal angle (and maximum angle=-minimum angle). But the needle is a whole lot shorter when reaching the maximum value. Looks ok'ish at best. I hoped that the VU editor I use for making BIN's could provide me with values to use within the skin.ini file, but those values don't work.
How do you easy tune the needle? What tools do you have available?

While not playing I calibrate (by a lot of trial and error) the needle angle and position with one of the H:scalings (not H:Maximize), so the aspect ratio is the same of te L_0 & R_0 dimensions. Works fine when not playing and switching to any of the other H/C scalings except H:Maximize.
The moment I switch to H:Maximize or V/R scalings when not playing the needle moves from the position I calibrated to a slightly different position. Apparently in these modes the value is corrected by the value of PROPERTY HA.RMS.gain (dB). Can you disable this behavior so that the needle stays at 0 also in these scaling modes when not playing?


NEEDLE MOVEMENT:

In PROPERTIES you can set HA.RMS.gain (dB) which alters the movement of the needle. In foo_vis_vumeter this value is dynamic and can be changed by using the mouse scrollwheel.
I noticed that your script does not have a on_mouse_wheel(s) callback.
Can this be added so that you can also dynamically adjust the value of HA.RMS.gain (dB) PROPERTY in your script?


LAMP/LIGHT:

With VU Editor you can add a light/lamp overlay (with has the same dimensions as L_0 & R_0), that starts to be displayed as an overlay from a certain peak level to a maximum with increasing opaqueness.  I use two knots in VU Editor values +0,0% and +4,100% with linear scale in between.
Can this be implemented in your script by adding the lights as L_3 & R_3 with PROPERTIES such as lowlight_dB, lowlight_perc and highlight_dB, highlight_perc?

I attached current version of my transparent AIMP style skin (red needles) with proposed lamp/light overlays included. Also a gradient BIN style (black needles) with red light/lamp. Also a small video with both VU meters running and show the light/lamp on the BIN.