It is currently May 1st, 2024, 9:45 am

Visualizer/Equalizer help

Get help with creating, editing & fixing problems with skins
napster96
Posts: 5
Joined: February 29th, 2016, 2:57 am

Visualizer/Equalizer help

Post by napster96 »

Hi guys.

I've been experimenting with custom visualisers/equalisers and album artwork masks and was wondering if it were possible to combine the two?

I'm asking if there's a way to make the visualiser display and hide album art as it rises and falls, so when no song is playing there is no album art and when the visualiser is full the whole art is visible. Is there a way to do this? Thanks :D
User avatar
balala
Rainmeter Sage
Posts: 16191
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Visualizer/Equalizer help

Post by balala »

Yes, I think it is. To achieve this, first you'll need the proper AudioLevel plugin measures:

Code: Select all

[MeasureAudio]
Measure=Plugin
Plugin=AudioLevel
Port=Output
FFTSize=1024
FFTAttack=15
FFTDecay=250
Bands=10

[MeasureBand]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
Another thing you'll need is the NowPlaying plugin measure, to get the cover:

Code: Select all

[MeasureCover]
Measure=Plugin
Plugin=NowPlaying
PlayerName=Add here the name of the player
PlayerType=COVER
UpdateDivider=25
On this measure I added the UpdateDivider=25 option because for the AudioLevel measures you need a low update value (I experimented with Update=40), but there's no need to update the [MeasureCover] measure so often.
Finally you'll need a this kind of bar meter, to visualize the result:

Code: Select all

[MeterBand0]
Meter=Bar
MeasureName=MeasureBand
BarImage=[MeasureCover]
DynamicVariables=1
X=0
Y=0
W=100
H=100
This code has a great disadvantage: the size of the skin depends on the size of the image, so for different songs it'll have different sizes. I think there would be a solution to have the same size for every song, but I have to work on it a bit more. I hope I'll come a bit later with a solution (if you're still interested).
napster96
Posts: 5
Joined: February 29th, 2016, 2:57 am

Re: Visualizer/Equalizer help

Post by napster96 »

Hi, this is really helpful and it works! You were right about the images changing sizes but that's alright. Is there a way I can make the image into bars like a real equalizer? Thanks!
napster96
Posts: 5
Joined: February 29th, 2016, 2:57 am

Re: Visualizer/Equalizer help

Post by napster96 »

Is this possible with a mask do you think?
User avatar
balala
Rainmeter Sage
Posts: 16191
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Visualizer/Equalizer help

Post by balala »

napster96 wrote:Is this possible with a mask do you think?
I don't think this would be a good way, but:
napster96 wrote:Is there a way I can make the image into bars like a real equalizer? Thanks!
Ok, I think I found a way to do what you want. I have to admit, I had no idea that the ImageCrop option works on the bar meters, but it seems that it is!
So, the following code has 10 bars and it splits the image into 10 parts.

Code: Select all

[Rainmeter]
Update=40
DynamicWindowSize=1
AccurateText=1

[Variables]

[MeasureCover]
Measure=Plugin
Plugin=NowPlaying
PlayerName=WMP
PlayerType=COVER
UpdateDivider=25

[MeasureWidth]
Measure=Plugin
Plugin=ImageSize
ImageName=[MeasureCover]
Dimension=Width
DynamicVariables=1

[MeasureHeight]
Measure=Plugin
Plugin=ImageSize
ImageName=[MeasureCover]
Dimension=Height
DynamicVariables=1

[MeasureAudio]
Measure=Plugin
Plugin=AudioLevel
Port=Output
FFTSize=1024
FFTAttack=15
FFTDecay=250
Bands=10

[MeasureBand0]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=0

[MeasureBand1]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=1

[MeasureBand2]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=2

[MeasureBand3]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=3

[MeasureBand4]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=4

[MeasureBand5]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=5

[MeasureBand6]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=6

[MeasureBand7]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=7

[MeasureBand8]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=8

[MeasureBand9]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=9

[MeterBackground]
Meter=Image
W=([MeasureWidth]+28)
H=([MeasureHeight]+10)
SolidColor=47,47,47,255
DynamicVariables=1

[MeterBand0]
Meter=Bar
MeasureName=MeasureBand0
X=5
Y=5
W=10
H=100
BarImage=[MeasureCover]
SolidColor=100,100,100,255
BarOrientation=Vertical
ImageCrop=(0*[MeasureWidth]/10),0,([MeasureWidth]/10),[MeasureHeight]
DynamicVariables=1

[MeterBand1]
Meter=Bar
MeasureName=MeasureBand1
X=2R
Y=0r
W=10
H=100
BarImage=[MeasureCover]
SolidColor=100,100,100,255
BarOrientation=Vertical
ImageCrop=(1*[MeasureWidth]/10),0,([MeasureWidth]/10),[MeasureHeight]
DynamicVariables=1

[MeterBand2]
Meter=Bar
MeasureName=MeasureBand2
X=2R
Y=0r
W=10
H=100
BarImage=[MeasureCover]
SolidColor=100,100,100,255
BarOrientation=Vertical
ImageCrop=(2*[MeasureWidth]/10),0,([MeasureWidth]/10),[MeasureHeight]
DynamicVariables=1

[MeterBand3]
Meter=Bar
MeasureName=MeasureBand3
X=2R
Y=0r
W=10
H=100
BarImage=[MeasureCover]
SolidColor=100,100,100,255
BarOrientation=Vertical
ImageCrop=(3*[MeasureWidth]/10),0,([MeasureWidth]/10),[MeasureHeight]
DynamicVariables=1

[MeterBand4]
Meter=Bar
MeasureName=MeasureBand4
X=2R
Y=0r
W=10
H=100
BarImage=[MeasureCover]
SolidColor=100,100,100,255
BarOrientation=Vertical
ImageCrop=(4*[MeasureWidth]/10),0,([MeasureWidth]/10),[MeasureHeight]
DynamicVariables=1

[MeterBand5]
Meter=Bar
MeasureName=MeasureBand5
X=2R
Y=0r
W=10
H=100
BarImage=[MeasureCover]
SolidColor=100,100,100,255
BarOrientation=Vertical
ImageCrop=(5*[MeasureWidth]/10),0,([MeasureWidth]/10),[MeasureHeight]
DynamicVariables=1

[MeterBand6]
Meter=Bar
MeasureName=MeasureBand6
X=2R
Y=0r
W=10
H=100
BarImage=[MeasureCover]
SolidColor=100,100,100,255
BarOrientation=Vertical
ImageCrop=(6*[MeasureWidth]/10),0,([MeasureWidth]/10),[MeasureHeight]
DynamicVariables=1

[MeterBand7]
Meter=Bar
MeasureName=MeasureBand7
X=2R
Y=0r
W=10
H=100
BarImage=[MeasureCover]
SolidColor=100,100,100,255
BarOrientation=Vertical
ImageCrop=(7*[MeasureWidth]/10),0,([MeasureWidth]/10),[MeasureHeight]
DynamicVariables=1

[MeterBand8]
Meter=Bar
MeasureName=MeasureBand8
X=2R
Y=0r
W=10
H=100
BarImage=[MeasureCover]
SolidColor=100,100,100,255
BarOrientation=Vertical
ImageCrop=(8*[MeasureWidth]/10),0,([MeasureWidth]/10),[MeasureHeight]
DynamicVariables=1

[MeterBand9]
Meter=Bar
MeasureName=MeasureBand9
X=2R
Y=0r
W=10
H=100
BarImage=[MeasureCover]
SolidColor=100,100,100,255
BarOrientation=Vertical
ImageCrop=(9*[MeasureWidth]/10),0,([MeasureWidth]/10),[MeasureHeight]
DynamicVariables=1
Because the images are different sized, you need to determine the real size of each image. This is done by the [MeasureWidth] and [MeasureHeight] measures, which use the ImageSize plugin. You must have installed this plugin. Go to this thread and the simplest way to install he plugin would be to download and install the ImageSize_3.0.rmskin skin. This will install the appropriate version of the plugin. If you don't need the skin, you can remove the ImageSize config, from the skins folder. Now you have installed the plugin. Please try the above code and let me know if it starts to looks like what you wanted.
napster96
Posts: 5
Joined: February 29th, 2016, 2:57 am

Re: Visualizer/Equalizer help

Post by napster96 »

Hi again. This is really great and works almost perfectly! There is a large grey rectangle to the left of the equaliser. Do you know how to get rid of it? https://gyazo.com/14de34361137999cb381917eab7a6962

Also, is there any way to make the background of the equaliser transparent or invisible? So that you only see the artwork and the equaliser has no background? Thanks again you have been very helpful :D
User avatar
balala
Rainmeter Sage
Posts: 16191
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Visualizer/Equalizer help

Post by balala »

napster96 wrote:There is a large grey rectangle to the left of the equaliser. Do you know how to get rid of it?
Are you sure you haven't replaced the X and Y options of the [MeterBand0] meter? Anyway, if you didn't, just remove the [MeterBackground] meter entirely.
napster96 wrote:Also, is there any way to make the background of the equaliser transparent or invisible? So that you only see the artwork and the equaliser has no background?
Remove the SolidColor=100,100,100,255 option from the [MeterBand0], ... [MeterBand9] meters.
napster96
Posts: 5
Joined: February 29th, 2016, 2:57 am

Re: Visualizer/Equalizer help

Post by napster96 »

It worked! Thanks so much for the help :D Changing the meterband colour values didn't work but deleting the meterbackground colour info did! I moved the meterband0 code from the start of the document to after the measures code which fixed the rectangle :D
User avatar
balala
Rainmeter Sage
Posts: 16191
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Visualizer/Equalizer help

Post by balala »

napster96 wrote:It worked! Thanks so much for the help :D Changing the meterband colour values didn't work but deleting the meterbackground colour info did! I moved the meterband0 code from the start of the document to after the measures code which fixed the rectangle :D
Ok, you're welcome and I'm glad if you finally like the code.