Rockbox Development > Feature Ideas
Discussion: Pros & Cons of a potential WPS Tag Feature Request
[Saint]:
I'm wanting to gauge peoples response to this idea in this forum first (since it solely relates to the WPS and I believe the implementation of this feature may make it easier to code for the WPS in the future), to discuss it's pros and cons.....or to see if anyone else thinks it may be a useful feature to implement.
Currently the "%pv" Tag references the volume according to a scale based on dB, which includes (on some players) a value that is >100% (0dB), and that dB scale may vary considerably between different DAP's (On some players mute is -74db, on others it's -54dB, some players will go above 0dB to +6db, some will not).
My proposal is the implementation of a new tag that would be *SIMILAR* to the %pv tag but would display the volume in a percentile range of 0% (mute) to 100% (the maximum volume of the target DAP) as this range would never change although the increments may be represented as slightly smaller/larger depending on the dB range of the target DAP.
It should be something like:
%*N*<0%|10%|20%|30%|40%|50%|60%|70%|80%|90%|100%>
Or Even
%*N*<0%|5%|10152025/etc./85%|90%|95%|100%>
Or...If it was to be as accurate as possible, and why not right?
%*N*<0%|1%|2%|3%|4%|5%/etc./95%|96%|97%|98%|99%|100%>
Where "*N*" is whatever value the Tag is assigned were it to be implemented.
I believe this tag (if implemented) would make it easier to display images conditionally that more accurately represent the volume as a percentage from "absolute silence" to "as loud as the target player can possibly go", I also believe this tag (if implemented) would make it easier for WPS Authors to write code that works on multiple targets.
I'm in no way saying that the %pv tag should be abandoned/disregarded...as it's obviously a feature that many people find useful to display on the WPS.
However, the current %pv tag makes it difficult (or impossible) to truly accurately represent the volume *VISUALLY* ie. a Bitmap Strip that represents a sliding scale or similar effect as the %pv tag is based on dB where 0dB is 100% (or full volume), and as I've already said, some players have a dB range that exceeds 0dB (and the %pv Tag does accommodate for this) but I believe the implementation of this new tag idea would make it a lot easier for WPS Authors to display the volume in a format that they are more familiar with (as not many people are as familiar with dB as they are say, the minimum and maximum levels of sound the player can produce), or at least have the *option* to be able to do so.
The battery level for instance can be displayed in both a voltage remaining *and* a percentile range from 0-100%, I was reasonably surprised to find out that the volume couldn't be displayed in the same way.
I found another thread in this forum (posted by Logg http://forums.rockbox.org/index.php?action=profile;u=24292) that has a similar theme/topic to this one, and in particular the quote:
--- Quote from: Llorean on November 19, 2009, 09:12:31 PM ---If there's a valid use for it, it might deserve a real tag, but nobody's really provided one yet. You said it's more useful for you. Do you just mean "more aesthetic to me" or do you find an actual use for it?
--- End quote ---
Was of interest to me.
So, this is My attempt to launch a discussion of the Pros & Cons of implementing this new tag (or NOT implementing it) so that a "valid use" for this tag possibly be found/recognised by others that author WPS code.
So *PLEASE* if this is of any interest to You at all, or if You think this is a feature that You (like Myself) would indeed find easier/more useful/more aesthetic....whatever, any interest at all, please post a reply here so I can attempt to gauge whether or not it would be worthwhile submitting this as a "New Feature Request".
Sincerely,
[St.]
Llorean:
Please don't post new feature ideas outside of the "Feature Ideas" section.
Meanwhile, there's nowhere to submit feature "requests" so you don't need to gauge anything. Put it up as an idea where it belongs (or get a mod to move this post, which is preferable) in the feature ideas forum, and hope someone implements it.
But be aware - %pv already allows you to display volume as percentage in the safest way possible (having a unique value for mute, a unique value for line level, and a unique value for 'levels you shouldn't use') so there's really no benefit to intentionally *hiding* from users when they get past line level.
Percentage volume was specifically removed and replaced with the db scale because it provides meaningful information. and the %pv tag explicitly is percentage volume. It's (mute)|(list of percentage images)|(100%)|(>100%).
This code already works on multiple targets, and you don't need to know the db range of the target to use it. Meanwhile a percentage that ignores the possibility of >0db values *won't* work safely on multiple targets because realistically the players should be capped at 0db to provide protection from clipping if you aren't going to notify users that it's possible to go past this level.
Basically, it sounds like you don't understand what is actually being represented by these numbers.
It's perfectly possible to say, use images that represent 10% steps for volume already and have it work reliably cross-target. All you need to do is be sure to also include an image for "Clipping" as well.
Even if you were using percentages you'd still want a separate mute image and a separate "full" image so that it didn't show "Full" at 92%.
So all you're really requesting is "remove the clipping image" and this makes no sense.
[Saint]:
Llorean,
I think You may have misinterpreted the post?
I'm by no means asking for separate values for mute / clipping, the useability of the tag that I'm proposing would just have those values as 0% and 100% respectively.
Currently the in %pv tag "full volume" (which I and possibly others would perceive to be the DAP's maximum volume) is represented by 0dB, and some players (like My Nanos) are able to exceed "full volume" to a value of +6db which is (in the scale used currently) >100%
When it comes to displaying this graphically...it doesn't really work, as one would expect (as I *did* and many people still do) that "full volume" would indeed be the "target DAP's *maximum volume*" instead of a value that (when compared to the volume in a percentile is arbitrary) can be potentially exceeded.
Irrespective of the fact that it is generally unwise to exceed 0db as clipping can occur, even if the volume were to be represented as a total percentile people as still going to be aware of the fact that one end of the scale is total silence and the opposite end of the scale is incredibly loud and potentially damaging to hardware.
Personally, on My iPod Nano at least I can't tolerate the volume being above 75% or so in My "'imaginary' percentile scale. it's literally too loud to listen to WAY before it gets a chance to clip or distort,
However,
I'd like to know that 100% "full volume" *actually* represented 100% of the "target DAP's maximum volume"
Does this make any more sense to You? Or do You just outright disagree with the idea completely?
Others may not, and that is what I'm interested in finding out.
Sincerely,
[St.]
PS:
I don't want this to be conveyed in any way as argumentative as it is not (at least deliberately), rather as an effort on My part to clarify My intent.
JdGordon:
your reasoning for wanting this makes no sense... if you want a precise reprsentation of the volume then you dont want to use a graphic which only has 10 steps... and we've already told you about 6 times how to get a close enough approximation with the current %pv token.
Llorean:
Why is it important (what usefulness is gained?) for 100% to represent the maximum possible volume, rather than the maximum volume in the range unlikely to cause clipping?
Basically the way it works right now, if you take any player and set the volume to 0db you know what output level to expect. If you used your scale, and set every player to, say 95%, each player would be playing at a different level. Some would be clipping, others would not, some might even just land on line level.
It hides information from the user. What does the user gain from this other than a "simplification" that can already be accomplished? Do you find the default cabbie WPS confusing in its volume display?
Navigation
[0] Message Index
[#] Next page
Go to full version