Page 1 of 6

VU Level Metres in Rainmeter?

Posted: November 11th, 2017, 2:13 pm
by sl23
I was wondering if a simple, but accurate audio output level meter were possible in Rainmeter? :?

I've been searching for a meter that is compact, accurate and digital with peak delay. For a more specific description, see the app Ocenaudio. This is just about perfect, though a little large. It would be superb if Rm could do this, though I expect the idea is beyond it's reach?

Here's a screenshot of Ocenaudio's Meter...
OcenMeter.png
Thanks for your help... ;-) :welcome:

Re: VU Level Meters in Rainmeter?

Posted: November 11th, 2017, 2:31 pm
by jsmorley
There are a ton of visualizers and volume level meters on deviantART. You might start there.

https://www.deviantart.com/art/Adobe-Audition-3-Vu-Meters-for-Rainmeter-522948825

Re: VU Level Meters in Rainmeter?

Posted: November 11th, 2017, 2:33 pm
by balala
EDIT: Sorry jsmorley for the delay.

See the Examples given in the AudioLevel plugin help: https://docs.rainmeter.net/manual/plugins/audiolevel/

Re: VU Level Metres in Rainmeter?

Posted: November 11th, 2017, 7:59 pm
by sl23
Aw! Sorry didn't even think about DeviantArt.com! Thanks very much I'll check it out :thumbup:

When did that AudioLevel Plugin make an entrance? Must've missed that one! Cheers for the tip, I'm on it, I'll be back when I get stuck! :oops:

:great:

Re: VU Level Meters in Rainmeter?

Posted: November 11th, 2017, 8:07 pm
by balala
sl23 wrote:When did that AudioLevel Plugin make an entrance? Must've missed that one! Cheers for the tip, I'm on it, I'll be back when I get stuck! :oops:
I think on September 9, 2014, with the r2317 version.

Re: VU Level Metres in Rainmeter?

Posted: November 11th, 2017, 10:06 pm
by sl23
:jawdrop Really? That long ago! Dunno how I missed that! Mind you I haven't delved into Rainmeter properly for quite some time, might've been that long ago :confused:

Anyway, thanks to you all for your help, past present and future :thumbup:

Re: VU Level Meters in Rainmeter?

Posted: November 11th, 2017, 10:19 pm
by balala
For my part, I'm glad if I can help.

Re: VU Level Metres in Rainmeter?

Posted: November 11th, 2017, 11:23 pm
by sl23
That's mighty nice of you... :cheers:

I have been perusing the manual and am a little confused as to the correct function and implementation of the Peak filtering. For example check the pic above and you can see the two red lines showing the Peak of each channel.
I can't imagine it's function being any other than showing the highest volume and holding that value for a specified time, yes?

Ok that sorted, I cannot seem to find the correct way to code it. I have taken the code from Mixx Beatz skin as jsmorley linked to above, I hope it's ok to edit it to suit my needs? I've reorganised it to suit my 'style' and changed the folder layout so renamed some files and deleted duplicates, more for tidiness than anything else.

Anyway, here's the code I have for the complete VUmetre skin:
(As this is just code, the graphics file is NOT included, so I added a background to enhance the visual appearance)

Code: Select all

[Rainmeter]
Update=25
BackgroundMode=2
SolidColor=40,40,40,255
DynamicWindowSize=1
AccurateText=1

[Metadata]
Author=Edited by sl23 (Mixx Beatz - Original Author)
Description=VU Metre

[Background]
Meter=BitMap
BitMapImage=Back 1 - No LED.png

[mClipLeft]
Measure=Plugin
Plugin=AudioLevel
Port=Output
Sensitivity=2
Channel=L
RMSAttack=600
RMSDecay=300
RMSGain=2.4

[mClipRight]
Measure=Plugin
Plugin=AudioLevel
Port=Output
Sensitivity=2
Channel=R
RMSAttack=600
RMSDecay=300
RMSGain=2.4

[ClipLeft]
Meter=BitMap
BitMapImage=Clip.png
MeasureName=mClipLeft
BitmapFrames=2
Sensitivity=2
X=710
Y=5

[ClipRight]
Meter=BitMap
BitMapImage=Clip.png
MeasureName=mClipRight
BitmapFrames=2
Sensitivity=2
X=r
Y=23

[mPeak]
Measure=Plugin
Plugin=AudioLevel
Port=Output
PeakAttack=50
PeakDecay=2500
PeakGain=1.0
Bands=2

[mPeakLeft]
Measure=Plugin
Plugin=AudioLevel
Parent=mPeak
Type=Peak
Channel=L
BandIdx=0

[PeakLeft]
Meter=Bar
MeasureName=mPeakLeft
BarColor=235,170,0,255
BarOrientation=Horizontal

W=5
H=10

[mAudio]
Measure=Plugin
Plugin=AudioLevel
Port=Output
RMSAttack=50
RMSDecay=200
RMSGain=2.5
Bands=2

[mLeft]
Measure=Plugin
Plugin=AudioLevel
Parent=mAudio
Type=RMS
Channel=L
BandIdx=0

[mRight]
Measure=Plugin
Plugin=AudioLevel
Parent=mAudio
Type=RMS
Channel=R
BandIdx=1

[Left]
Meter=Bar
MeasureName=mLeft
BarImage=Bar 3 - Gradient.png
BarOrientation=Horizontal
X=7
Y=5
W=10
H=100

[Right]
Meter=Bar
MeasureName=mRight
BarImage=Bar 3 - Gradient.png
BarOrientation=Horizontal
X=r
Y=23
W=10
H=100
H=100
My problem is that the Peak is showing in the top left of the skin. How do I get it to move dynamically with the other Left and Right metre's?

EDIT: I've just downloaded hitbit's VUmetre's so will check the code in there tomorrow. Thanks.

EDIT2: I've had no success loading hitbit's skins, they just refuse to load the graphics files which causes complete failure in usability. On looking through some of it, I notice that the Peak seems to be used to 'light' an 'led' which seems that it is used here in place of a clip function? Can anyone confirm this?
You'll see in the comments that I've attempted to get help from the source. He is saying it must be the fault of Rainmeter. Is that true?

I also tried to load his other skin called Rackmount but this is also not working!

Please help... :thumbup:

Re: VU Level Metres in Rainmeter?

Posted: November 12th, 2017, 11:56 am
by sl23
It seems that hitbit has tried updating Rm and has no problems. As he is using the installed version it appears to be a portable issue? Is there any difference? :confused:

Incidentally, it would be helpful if the example VU metre had the code added for peaks so we could see how it worked. Might be worth adding it into the manual? Would you mind adjusting the manual to add this please?

Thanks very much :thumbup:

Re: VU Level Metres in Rainmeter?

Posted: November 12th, 2017, 5:22 pm
by balala
Here is a very simple solution, which should work (it definitely does for me).
I don't know HiTBiT-PA's skin and I know you've posted a link, but I didn't download it. But I think you should try first to add the following solution to your code, to see if it's working as you want.
Before posting my solution, I have to say, I'm not an expert of the AudioLevel plugin, which is a complex plugin. Here probably eclectic-tech could help you better, who has a lot of this kind of skins published, being an "expert" of this plugin, but I try however.
So, first you'll need a measure (in fact two measures, one for each channel, L and R) which returns the largest value achieved by the appropriate measures ([mLeft] and [mRight]) so far. Add the following measures to your code:

Code: Select all

[mLeftMax]
Measure=Calc
Formula=( Max ( mLeft, mLeftMax ))

[mRightMax]
Measure=Calc
Formula=( Max ( mRight, mRightMax ))
[mLeftMax] returns the largest value of the [mLeft] measure, while [mRightMax] does the same for the right channel.
After this, you need two meters which show the peaks for each channel. Add the following meters:

Code: Select all

[MeterLeftPeak]
Meter=Image
SolidColor=255,0,0
X=([Left:W]*[mLeftMax]+[Left:X])
Y=[Left:Y]
W=3
H=[Left:H]
DynamicVariables=1

[MeterRightPeak]
Meter=Image
SolidColor=255,240,0
X=([Right:W]*[mRightMax]+[Right:X])
Y=[Right:Y]
W=3
H=[Right:H]
DynamicVariables=1
[MeterLeftPeak] shows the peak of the left channel and [MeterRightPeak] shows the same for the right channel. I used red color for the peak of the left channel and yellow for the right channel, but you can change them, through the SolidColor options of the last two meters, or can use images, as you want. I saw the [PeakLeft] meter of your code (however I couldn't find a corresponding [PeakRight] meter), but not having your images, I don't think using a Bar meter for a such thing would be a good idea. That's why I finally added these Image meters.
I tried this solution using a specific image for the Bar meters, but I don't have yours, as I said above. I hope this solution will work well for you, but if it doesn't, please pack the whole config and upload it. This way I'll have the needed files, to can see what's the problem.