Author Topic: VUMeter Plugin  (Read 50500 times)

hiccup

  • Hero Member
  • *****
  • Posts: 9107
Because I happened to name one example doesn't mean there was a "single skin" that made me ask to preserve the linear OPTION for users;
You 'happened' to name that single one only after me repeatedly asking for a couple.
And the only one you came up with was that skin of mine that was for testing, and was not released officially.

I have been honestly interested about what this 'linear' option actually does, and if it is actually useful for something.

By now I have asked at least four times to provide a couple of existing VU meter skins (not that test version of mine) so that I can check  for myself if my assumption that it is not useful is wrong. Of course I could be.

But considering that this simple and honest question remains unanswered only solidifies my opinion on the matter.
Something like "I think it perhaps could be useful" is not a very strong argument, don't you think?
I really feel like walking through mud with lead-filled boots on this.
Only in an effort of mine to help improving the plugin to be as lean and mean as possible.

BoringName

  • Sr. Member
  • ****
  • Posts: 916
New version - VUMeter2.0.1.zip

Changes

- Event Mode setting will now save correctly.

BoringName

  • Sr. Member
  • ****
  • Posts: 916
Until somebody finally does that I will remain convinced it is a useless setting.


I suppose I can just remove it and see how many people complain. That's a true test of how popular it is.



A request/suggestion:
For foobar2000 skins you can have bin1 and bin2, for left and right meters.
But you can also have bin3.
That one is for when using a skin in mono mode.
See the new AcuVU skin that I mentioned above to see how that works.
(use foobar2000 32bit for this, it looks like the 64bit plugin also isn't able to display it)

I'll look into the mobility options. I believe the "mobility" terminology probably just came from it being translated. Decay seems to be the most used term for the fall of the needle. I've seen attack used for the rise but not sure that would solve the issue of people not knowing what it means. Rise/Fall speed might be easiest to decipher for a larger percentage of users.

I'll look into the other problems but at this stage I think there is a 99.8% chance I am not going to bother implementing the bin3 option for a couple of reasons.
1. It's quite a bit of work for what I believe would be very little gain.
2. The same functionality can be achieved with a separate bin file in single meter mode.
3. Up until I read your post I didn't know a 3rd meter could exist in the bin file. All the multi meter bins I have just show the left meter when mono is selected so I'm guessing there are very few skins out there that even implemented the 3rd meter which goes back to point 1.


hiccup

  • Hero Member
  • *****
  • Posts: 9107
I'll look into the mobility options. I believe the "mobility" terminology probably just came from it being translated. Decay seems to be the most used term for the fall of the nedle. I've seen attack used for the rise but not sure that would solve the issue of people not knowing what it means. Rise/Fall speed might be easiest to decipher for a larger percentage of users.
Maybe simply call it 'needle action'?
That can hardly be misunderstood.

About the range for fall/rise:

You may have different experiences, but as I said, I find any setting somewhere higher than '6' resulting in very nervous and unpleasant needle action.
So my request/suggestion would be to have the scale restricting to the range that is currently labeled between 1 and maybe 8 at most.

I also think it would be good to have a 'zero' position in the middle that will work well as default for most skins.
In my opinion the current '4' would be a good '0'.
Then the scale could maybe look like:
-10 . . . . . . . . . 0 . . . . . . . . . +10
Or from -6 to +6 if you think that's a bit too fine-grained.

hiccup

  • Hero Member
  • *****
  • Posts: 9107
I'll look into the other problems but at this stage I think there is a 99.8% chance I am not going to bother implementing the bin3 option for a couple of reasons.
Fair enough.
The only skin that I am aware of that can do this is my own new AcuVU skin.
And I am not sure I will make many more skins that have that feature.
And then also, chances are slim that end-users will be selecting the 'mono' bin. (even though it is a useful option for horizontally restricted spaces)

So in the end it would be quite some effort for something that I'm afraid hardly anyone will ever use.

sveakul

  • Hero Member
  • *****
  • Posts: 3262

Until somebody finally does that I will remain convinced it is a useless setting.


I suppose I can just remove it and see how many people complain. That's a true test of how popular it is.

"There are people who make things happen, people who watch things happen, and people who don't know anything happened."  By the level of participation in this thread, and the huge percentage of users of EVERY music player who struggle to understand anything about it or CARE to, I think that test would fail in most courts  :-\ .  Most wouldn't even know it had ever been there in the first place.  And afterwards, if they did notice anything changed in how their Metallica album swings it, would ignore it after 5 seconds.  Stores are full of light/temperature/age spoiled beer, and most people just think it's "supposed to" taste that way.  There's those adult beverages again, haha..

Sorry for the grim portrayal of humanity, haha..  My own opinion again is keep it as an on/off OPTION and let the few who would even A/B it make their own decision.  Nobody hurt, no extra work, and everyone can have it their own way.

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3871
  • MB Version: 3.6.9255 P
Thanks for the comments BoringName & Hiccup.  I'm a little less confused now.

@BoringName
Is the Linear setting for interpolation of the playing track to synchronize the animation of the meter?
If so, would't this only apply to AIMP meters as the foobar bin files already have interpolation applied to them via the VUEditor when they are created?
Or does 'Linear' override the pre-calculated Linear, Catmull-Rom or Cubic interpolation in the bin files?
MusicBee and my library - Making bee-utiful music together

BoringName

  • Sr. Member
  • ****
  • Posts: 916
When linear is checked, the meter follows the same methods foobar and AIMP use to calculate the position of the needle.

it's a little more complicated than this but the basic gist of it is multiplying the needle range with the peak value. eg) (zeroAngle - minAngle) * peak value. The difference with foobar skins is they use frames instead of angle settings so you're multiplying the zeroFrame number. Foobar has a lot of frames that are exactly the same because it uses them to create a scale for the needle movement when multiplied by the peak value. That's why I said calling it "Linear" isn't correct because you are using the peak value which is logarithmic.

When linear is unchecked it uses Linear regression with minLevel, minAngle, zeroLevel and zeroAngle to create a formula that mostly fits the curve but this was based on skins that were not accurate so it's really just a mess. The end result produced something that basically just reduced the sharpness of the peak values logarithmic curve so it made some meters a bit more dynamic. It's still technically logarithmic as well but a smoother curve.

If I'd done a bit more testing at the start, I could have saved myself a hell of a lot of work and the linear option never would have come to be.

edit: Also with the foobar skins with linear unchecked, I didn't have any angle values to work with so I just fudged the formula to a value that mostly worked so that makes it even more meaningless.

hiccup

  • Hero Member
  • *****
  • Posts: 9107
If I'd done a bit more testing at the start, I could have saved myself a hell of a lot of work and the linear option never would have come to be.
I can understand it can be difficult to abandon something you have put a lot of work and thinking in.
But can we now finally agree it is not working out as you hoped it would, and its current implementation is not useful at all.
On the contrary, it creates a mess, both in the outcome, the discussion about it, and what users believe that it does.
And nobody asked for it in the first place. Why the hell cling on to it?

If there would be a function for something like this that would be actually useful for sure, it would be the option to be able to tweak the logarithmic curve.

Being able to tweak curves like this would have a very good result when you would want to tweak the needle action over the scale for some VU meter skins:

Last Edit: October 31, 2024, 06:21:14 AM by hiccup

sveakul

  • Hero Member
  • *****
  • Posts: 3262
But can we now finally agree it is not working out as you hoped it would, and its current implementation is not useful at all.
On the contrary, it creates a mess, both in the outcome, the discussion about it, and what users believe that it does.
And nobody asked for it in the first place. Why the hell cling on to it?
Here I go again, but didn't BoringName answer that question in his post above?

"When linear is checked, the meter follows the same methods foobar and AIMP use to calculate the position of the needle.  When linear is unchecked it uses Linear regression with minLevel, minAngle, zeroLevel and zeroAngle to create a formula that mostly fits the curve but this was based on skins that were not accurate so it's really just a mess."

So, why would I NOT wish to "check" Linear to avoid "a mess"??  Closer to the point of this.. because you personally have deemed something "worthless" is not a reason to cajole the developer to remove that option for everyone else.  That's what I don't understand, hiccup--you're free to NOT use it already; so why force your own choice on everybody else?  I want to be able to make the same choice to use or not use it as you have.

FWIW I'm not sure what to say about using "nobody asked for it in the first place" as a measure of whether to include a technical option in just about anything.  I keep saying this is my last post dealing with all this, now it is.  I am now merely a mum observer, and harbor no bad feelings towards anyone.

sveakul

  • Hero Member
  • *****
  • Posts: 3262
@BoringName:  I was just looking through some old posts on the AIMP forum and spotted a rare comment on the analog meter movement that might be of interest (link will need to be put through Google Translate if like me you don't speak Russian): https://www.aimp.ru/forum/index.php?topic=52865.msg325234#msg325234 .

The same dude posted a meter here where he says "The scale was made using a completely calculated method. It was nice to see that the readings were almost perfectly matched, so we are using the same formulas as Artem. I guess we can keep this option." : https://www.aimp.ru/forum/index.php?topic=52865.msg325063#msg325063

Finally I saw this formula on the Foobar forum:  https://hydrogenaud.io/index.php/topic,126733.msg1053239.html#msg1053239

hiccup

  • Hero Member
  • *****
  • Posts: 9107
Closer to the point of this.. because you personally have deemed something "worthless" is not a reason to cajole the developer to remove that option for everyone else.  That's what I don't understand, hiccup--you're free to NOT use it already; so why force your own choice on everybody else?  I want to be able to make the same choice to use or not use it as you have.
FWIW I'm not sure what to say about using "nobody asked for it in the first place" as a measure of whether to include a technical option in just about anything.

 I keep saying this is my last post dealing with all this, now it is.  I am now merely a mum observer, and harbor no bad feelings towards anyone.
That's what you have said before.
And you still keep on making comments about this without providing a shred of replicable proof that the current option is useful.
You refuse to provide and share some (officially published) skins that would benefit from this setting.
If you had when it was asked for the first time, the discussion about this would not have turned into this needlessly lengthy and ugly thing.
We would then have been able to verify the validity of your opinion on the matter.
And it might have changed my opinion. I am still open to that.

But instead of having an opinion based on facts, you seem to prefer it being based on guesses, assumptions and emotions.
You have also said before something like 'fine, remove that option'. And now you want to keep it again. What's next?

I hope (and am pretty sure) that BoringName will make a sensible decision on this, that will be based on facts and reality.

hiccup

  • Hero Member
  • *****
  • Posts: 9107
@BoringName:  I was just looking through some old posts on the AIMP forum and spotted a rare comment on the analog meter movement that might be of interest
Just curious:
Those are all about AIMP skins. (and about the new foobar2000 plugin)
Far as I know BoringName's plugin is already 'dB perfect' for AIMP skins.
Do you believe something should be improved or changed in regard to how it currently handles AIMP skins?

BoringName

  • Sr. Member
  • ****
  • Posts: 916
I think Sveakul might be getting confused about what removing the linear option means.

If I remove the "linear" option I will hardcode it as enabled. So I would actually be removing the option to disable "Linear". Hope that clears things up.

Finally I saw this formula on the Foobar forum:  https://hydrogenaud.io/index.php/topic,126733.msg1053239.html#msg1053239

I've already got the AIMP formulas sorted. For the record I don't think the formula linked in that post is accurate as it's using the whole span of the meter from minAngle to maxAngle. I could be wrong but I believe a lot of meters have a different scale after zero.

If the peak is less than 1.0 the formula is basically what I listed earlier minAngle + ((zeroAngle-MinAngle) * peakValue)
If the peak is more than 1.0 the formula is zeroAngle + ((maxAngle - zeroAngle) * (peakValue - 1.0))

Some of those brackets might be redundant....

edit: of course the linked formula would work just fine if people created their skins based on that formula but I don't think everybody has. I could be wrong, I haven't actually tested any to find out.
Last Edit: October 31, 2024, 09:44:20 AM by BoringName

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3871
  • MB Version: 3.6.9255 P
That's why I said calling it "Linear" isn't correct because you are using the peak value which is logarithmic.

It's still technically logarithmic as well but a smoother curve.

Why not just change the names for the two states:
On = (was) Linear = (new) Logarithmic
Off = (was) blank = (new) Curve Smoothing
MusicBee and my library - Making bee-utiful music together