It is currently March 28th, 2024, 1:39 pm

Visualizer Gradient

Get help with creating, editing & fixing problems with skins
Post Reply
Mr Bizarre
Posts: 3
Joined: May 10th, 2023, 8:34 am

Visualizer Gradient

Post by Mr Bizarre »

I'm trying to add the visualizer Reflect Sound Visu https://visualskins.com/skin/reflect-sound-visu and I'm wondering whether it is possible to make each of the bars an unique gradient. Any help is appreciated.
User avatar
balala
Rainmeter Sage
Posts: 16109
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Visualizer Gradient

Post by balala »

Mr Bizarre wrote: May 10th, 2023, 8:47 am I'm trying to add the visualizer Reflect Sound Visu https://visualskins.com/skin/reflect-sound-visu and I'm wondering whether it is possible to make each of the bars an unique gradient. Any help is appreciated.
Even if not a gradient, there is extremely simple to set a solid color for the bars. Please check for first this solution.
To set a color, click the colored (or by default most probably white) rectangle, which appears on the upper right corner of your skin, when you're hovering the mouse over the skin. A color palete is revealed. Click any of those colors, to set it as color of bars.
Try this and if you'll still want a gradient, maybe that will be possible as well.
User avatar
Yincognito
Rainmeter Sage
Posts: 7021
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Visualizer Gradient

Post by Yincognito »

Mr Bizarre wrote: May 10th, 2023, 8:47 am I'm trying to add the visualizer Reflect Sound Visu https://visualskins.com/skin/reflect-sound-visu and I'm wondering whether it is possible to make each of the bars an unique gradient.
It is possible, but a few adjustments must be operated to do that. Since Bar meters do not support gradients (i.e. they're single color, unless using images), rectangular Shape meters must be used. Now, the said skin, just like its inspiration, Monstercat Visualizer, uses Lua factory scripts to mass create the meters used to display the visualizer, via the [ScriptFactoryBars] and [ScriptFactoryBarsDown] Script measures. These measures basically write down meters in the @included MeterBars.inc and MeterBarsDown.inc files at skin load time, using their SectionName, OptionN and ValueN options as a "template". All you have to do to use Shapes instead of Bars is to adjust those options according to the Shape meter syntax instead of the Bar one. In those lines, %% means the number of the meter, starting from 0 to the meter count - 1.

So, you can easily comment out (or remove, up to you) these two measures and replace them with these (notice the adapted OptionN and ValueN options):

Code: Select all

[ScriptFactoryBars]
Measure=Script
ScriptFile=#@#scripts\Factory.lua
IncFile=#@#include\MeterBars.inc
Number=(#BarCount#-1)
SectionName=MeterBar%%
Option0=Meter
Value0=Shape
Option1=Shape
Value1=Rectangle 0,0,(#BarWidthCalc#),(#BarHeight#*[MeasureAudioSmoothed{%%+1}]) | Scale 1.0,-1.0,0,(#BarHeight#/2) | StrokeWidth 0 | Stroke Color 0,0,0,0 | Fill LinearGradient CustomFillGradient
Option2=CustomFillGradient
Value2=#CustomUpGradient{%%+1}#
Option3=X
Value3=(%%*(#BarWidthCalc#+(#BarGap#*#Scale#)))
Option4=Y
Value4=0
Option5=DynamicVariables
Value5=1
UpdateDivider=-1

[ScriptFactoryBarsDown]
Measure=Script
ScriptFile=#@#scripts\Factory.lua
IncFile=#@#include\MeterBarsDown.inc
Number=(#BarCount#-1)
SectionName=MeterBarDown%%
Option0=Meter
Value0=Shape
Option1=Shape
Value1=Rectangle 0,0,(#BarWidthCalc#),(#BarHeight#/3*[MeasureAudioSmoothed{%%+1}]) | Scale 1.0,1.0,0,(#BarHeight#/3/2) | StrokeWidth 0 | Stroke Color 0,0,0,0 | Fill LinearGradient CustomFillGradient
Option2=CustomFillGradient
Value2=#CustomDownGradient{%%+1}#
Option3=X
Value3=(%%*(#BarWidthCalc#+(#BarGap#*#Scale#)))
Option4=Y
Value4=(#BarHeight#+1)
Option5=DynamicVariables
Value5=1
UpdateDivider=-1
In the code above, Scale takes care of the mirroring, the rectangle height is properly set according to the [MeasureAudioSmoothedN] measures in a formula, and each of them uses a custom defined gradient stored as CustomUpGradientN and CustomUpGradientN variables (the names can be different, of course). Since these gradient variables do not exist yet, we have to create them, so add these at the end of the [Variables] section in the skin:

Code: Select all

; Custom Up Gradients
CustomUpGradient1=90 | 0,255,0,255 ; 0.0 | 255,255,0,255 ; 0.5 | 255,0,0,255 ; 1.0
CustomUpGradient2=90 | 0,0,128,255 ; 0.0 | 0,255,128,255 ; 0.5 | 0,128,255,255 ; 1.0
CustomUpGradient3=90 | 0,0,255,255 ; 0.0 | 0,255,0,255 ; 0.5 | 255,0,0,255 ; 1.0

; Custom Down Gradients
CustomDownGradient1=90 | 0,255,0,160 ; 0.0 | 255,255,0,160 ; 0.5 | 255,0,0,160 ; 1.0
CustomDownGradient2=90 | 0,0,128,160 ; 0.0 | 0,255,128,160 ; 0.5 | 0,128,255,160 ; 1.0
CustomDownGradient3=90 | 0,0,255,160 ; 0.0 | 0,255,0,160 ; 0.5 | 255,0,0,160 ; 1.0
Now, you have the first 3 such gradient bars available to display:
Mirror Visualizer Gradients.jpg
Next, you'll have to add as many as you need (up to 50 or how many you set them to be, if I'm not mistaken) and define your gradients as you wish.

P.S. I could have avoided repeating the up gradients into the down ones and simply adjust the alpha in the colors to deal with the mirrored rectangles, but this way is more flexible since it also allows defining entirely different gradients for the mirrored ractangles if you want so.

P.S.S. The #UsedColor# based bars or the random color won't work after you changed the code as described above. This is normal, but it's a different topic since the question was about achieving / replacing the previous coloring with this one.
Mr Bizarre
Posts: 3
Joined: May 10th, 2023, 8:34 am

Re: Visualizer Gradient

Post by Mr Bizarre »

Yincognito wrote: May 10th, 2023, 4:39 pm It is possible, but a few adjustments must be operated to do that. Since Bar meters do not support gradients (i.e. they're single color, unless using images), rectangular Shape meters must be used. Now, the said skin, just like its inspiration, Monstercat Visualizer, uses Lua factory scripts to mass create the meters used ...


Thanks for your help, but there are a couple questions I might ask. I am really new to rainmeter so the answer might be really obvious so please bear with me.

I was slightly confused as to where to add the new code so I tried 2 different locations that made sense.
1. I replaced this code with the new code and got the first bar to change colours but it stopped working for the other bars. This was in MeterBars in

Code: Select all

[MeterBar0]
Meter=BAR
MeasureName=MeasureAudioSmoothed1
X=(0*((12*1.9)+(2.2*1.9)))
Y=0
W=((12*1.9))
H=(1032*1.9)/3
BarOrientation=Vertical
BarColor=#UsedColor#
DynamicVariables=1
2. I then found the code I think that you might have been talking about in the main file. I tried to replace the code below with the new one and it worked, but when I added another one for the next bar, it only showed the bar I had most recently edited. I'll put both the original code and my attempt to change it below.

Code: Select all

[ScriptFactoryBars]
Measure=Script
ScriptFile=#@#scripts\Factory.lua
IncFile=#@#include\MeterBars.inc
Number=(#BarCount#-1)
SectionName=MeterBar%%
Option0=Meter
Value0=BAR
Option1=MeasureName
Value1=MeasureAudioSmoothed{%%+1}
Option2=X
Value2=(%%*(#BarWidthCalc#+(#BarGap#*#Scale#)))
Option3=Y
Value3=0
Option4=W
Value4=(#BarWidthCalc#)
Option5=H
Value5=#BarHeight#
Option6=BarOrientation
Value6=Vertical
Option7=BarColor
Value7=#*UsedColor*#
Option8=DynamicVariables
Value8=1
UpdateDivider=-1

Code: Select all

[ScriptFactoryBars0]
Measure=Script
ScriptFile=#@#scripts\Factory.lua
IncFile=#@#include\MeterBars.inc
Number=(#BarCount#-1)
SectionName=MeterBar0
Option0=Meter
Value0=Shape
Option1=Shape
Value1=Rectangle 0,0,(#BarWidthCalc#),(#BarHeight#*[MeasureAudioSmoothed{0+1}]) | Scale 1.0,-1.0,0,(#BarHeight#/2) | StrokeWidth 0 | Stroke Color 0,0,0,0 | Fill LinearGradient CustomFillGradient
Option2=CustomFillGradient
Value2=#CustomUpGradient2#
Option3=X
Value3=(0*(#BarWidthCalc#+(#BarGap#*#Scale#)))
Option4=Y
Value4=0
Option5=DynamicVariables
Value5=1
UpdateDivider=-1

[ScriptFactoryBars1]
Measure=Script
ScriptFile=#@#scripts\Factory.lua
IncFile=#@#include\MeterBars.inc
Number=(#BarCount#-1)
SectionName=MeterBar1
Option0=Meter
Value0=Shape
Option1=Shape
Value1=Rectangle 0,0,(#BarWidthCalc#),(#BarHeight#*[MeasureAudioSmoothed{1+1}]) | Scale 1.0,-1.0,0,(#BarHeight#/2) | StrokeWidth 0 | Stroke Color 0,0,0,0 | Fill LinearGradient CustomFillGradient
Option2=CustomFillGradient
Value2=#CustomUpGradient2#
Option3=X
Value3=(1*(#BarWidthCalc#+(#BarGap#*#Scale#)))
Option4=Y
Value4=0
Option5=DynamicVariables
Value5=1
UpdateDivider=-1

[ScriptFactoryBars2]
Measure=Script
ScriptFile=#@#scripts\Factory.lua
IncFile=#@#include\MeterBars.inc
Number=(#BarCount#-1)
SectionName=MeterBar2
Option0=Meter
Value0=Shape
Option1=Shape
Value1=Rectangle 0,0,(#BarWidthCalc#),(#BarHeight#*[MeasureAudioSmoothed{2+1}]) | Scale 1.0,-1.0,0,(#BarHeight#/2) | StrokeWidth 0 | Stroke Color 0,0,0,0 | Fill LinearGradient CustomFillGradient
Option2=CustomFillGradient
Value2=#CustomUpGradient2#
Option3=X
Value3=(2*(#BarWidthCalc#+(#BarGap#*#Scale#)))
Option4=Y
Value4=0
Option5=DynamicVariables
Value5=1
UpdateDivider=-1
At the moment I am just trying to get it working with one gradient, specifically CustomUpGradient2, then I will try to add more when I can get it working with just the one.

Thank you for your help so far. I really appreciate you helping me with something that might be really easy.
User avatar
Yincognito
Rainmeter Sage
Posts: 7021
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Visualizer Gradient

Post by Yincognito »

Mr Bizarre wrote: May 11th, 2023, 9:16 am Thanks for your help, but there are a couple questions I might ask. I am really new to rainmeter so the answer might be really obvious so please bear with me.
[...]
2. I then found the code I think that you might have been talking about in the main file. I tried to replace the code below with the new one and it worked, but when I added another one for the next bar, it only showed the bar I had most recently edited. I'll put both the original code and my attempt to change it below.
First, sorry for the delay in responding, I've been busy with other things in the meantime.

Here's the full code of the main skin file, aka ReflectSoundVisu.ini:

Code: Select all

[Rainmeter]
Update=1
BackgroundMode=2
BackgroundMargins=0,0,4,0
SolidColor=0,0,0,1
MouseOverAction=[!ShowMeterGroup "Configs"]
MouseLeaveAction=[!HideMeterGroup "Configs"]

[Metadata]
Name=Double Sound Visu
Author=GemiWagner
Information=Double bar sound visualizer (thanks to marcopixel for the Monsercat Visualizer for Rainmeter)
Version=1.0

[Variables]
@include=#@#include\colors.ini

;Set scale and gap in this variables file
@include2=#@#include\variables.ini

;Used color for bars, white is default, colors list in colors.ini
UsedColor=#DefaultColor#
;Random boolean activator, false as default
RandBool=0

; These variables are constants and are better untouched! Changing here will probably break something.
BarHeight=(#WORKAREAHEIGHT#*#Scale#)/3
BarWidthCalc=(#BarWidth#*#Scale#)

; Custom Up Gradients
CustomUpGradient1=90 | 0,255,0,255 ; 0.0 | 255,255,0,255 ; 0.5 | 255,0,0,255 ; 1.0
CustomUpGradient2=90 | 0,0,128,255 ; 0.0 | 0,255,128,255 ; 0.5 | 0,128,255,255 ; 1.0
CustomUpGradient3=90 | 0,0,255,255 ; 0.0 | 0,255,0,255 ; 0.5 | 255,0,0,255 ; 1.0

; Custom Down Gradients
CustomDownGradient1=90 | 0,255,0,160 ; 0.0 | 255,255,0,160 ; 0.5 | 255,0,0,160 ; 1.0
CustomDownGradient2=90 | 0,0,128,160 ; 0.0 | 0,255,128,160 ; 0.5 | 0,128,255,160 ; 1.0
CustomDownGradient3=90 | 0,0,255,160 ; 0.0 | 0,255,0,160 ; 0.5 | 255,0,0,160 ; 1.0

; Measure AudioLevel - spectrum input
[MeasureAudio]
Measure=Plugin
Plugin=AudioLevel
Port=Output
FFTSize=#FFTSize#
FFTOverlap=#FFTOverlap#
FFTAttack=#FFTAttack#
FFTDecay=#FFTDecay#
Bands=#BarCount#
FreqMin=50
FreqMax=15000
Sensitivity=#Sensitivity#
RMSGain=3

[cCounter]
Measure=Calc
Formula=(#RandBool#=1 ? Random%20+1 : 0)
UpdateRandom=1
DynamicVariables=1
UpdateDivider=100
IfCondition=cCounter = 1
IfTrueAction=[!SetVariable UsedColor #White#][!SetOption MeterColorUsed SolidColor #White#,205][!UpdateMeter MeterColorUsed]
IfCondition2=cCounter = 2
IfTrueAction2=[!SetVariable UsedColor #Yellow#][!SetOption MeterColorUsed SolidColor #Yellow#,205][!UpdateMeter MeterColorUsed]
IfCondition3=cCounter = 3
IfTrueAction3=[!SetVariable UsedColor #Purple#][!SetOption MeterColorUsed SolidColor #Purple#,205][!UpdateMeter MeterColorUsed]
IfCondition4=cCounter = 4
IfTrueAction4=[!SetVariable UsedColor #Orange#][!SetOption MeterColorUsed SolidColor #Orange#,205][!UpdateMeter MeterColorUsed]
IfCondition5=cCounter = 5
IfTrueAction5=[!SetVariable UsedColor #Red#][!SetOption MeterColorUsed SolidColor #Red#,205][!UpdateMeter MeterColorUsed]
IfCondition6=cCounter = 6
IfTrueAction6=[!SetVariable UsedColor #NightBlue#][!SetOption MeterColorUsed SolidColor #NightBlue#,205][!UpdateMeter MeterColorUsed]
IfCondition7=cCounter = 7
IfTrueAction7=[!SetVariable UsedColor #Blue#][!SetOption MeterColorUsed SolidColor #Blue#,205][!UpdateMeter MeterColorUsed]
IfCondition8=cCounter = 8
IfTrueAction8=[!SetVariable UsedColor #LightBlue#][!SetOption MeterColorUsed SolidColor #LightBlue#,205][!UpdateMeter MeterColorUsed]
IfCondition9=cCounter = 9
IfTrueAction9=[!SetVariable UsedColor #LightGreen#][!SetOption MeterColorUsed SolidColor #LightGreen#,205][!UpdateMeter MeterColorUsed]
IfCondition10=cCounter = 10
IfTrueAction10=[!SetVariable UsedColor #Green#][!SetOption MeterColorUsed SolidColor #Green#,205][!UpdateMeter MeterColorUsed]
IfCondition11=cCounter = 11
IfTrueAction11=[!SetVariable UsedColor #Choco#][!SetOption MeterColorUsed SolidColor #Choco#,205][!UpdateMeter MeterColorUsed]
IfCondition12=cCounter = 12
IfTrueAction12=[!SetVariable UsedColor #GreyBlue#][!SetOption MeterColorUsed SolidColor #GreyBlue#,205][!UpdateMeter MeterColorUsed]
IfCondition13=cCounter = 13
IfTrueAction13=[!SetVariable UsedColor #Black#][!SetOption MeterColorUsed SolidColor #Black#,205][!UpdateMeter MeterColorUsed]
IfCondition14=cCounter = 14
IfTrueAction14=[!SetVariable UsedColor #Grey#][!SetOption MeterColorUsed SolidColor #Grey#,205][!UpdateMeter MeterColorUsed]
IfCondition15=cCounter = 15
IfTrueAction15=[!SetVariable UsedColor #DarkBlue#][!SetOption MeterColorUsed SolidColor #DarkBlue#,205][!UpdateMeter MeterColorUsed]
IfCondition16=cCounter = 16
IfTrueAction16=[!SetVariable UsedColor #DarkRed#][!SetOption MeterColorUsed SolidColor #DarkRed#,205][!UpdateMeter MeterColorUsed]
IfCondition17=cCounter = 17
IfTrueAction17=[!SetVariable UsedColor #DarkPurple#][!SetOption MeterColorUsed SolidColor #DarkPurple#,205][!UpdateMeter MeterColorUsed]
IfCondition18=cCounter = 18
IfTrueAction18=[!SetVariable UsedColor #DarkGreen#][!SetOption MeterColorUsed SolidColor #DarkGreen#,205][!UpdateMeter MeterColorUsed]
IfCondition19=cCounter = 19
IfTrueAction19=[!SetVariable UsedColor #DarkGrey#][!SetOption MeterColorUsed SolidColor #DarkGrey#,205][!UpdateMeter MeterColorUsed]
IfCondition20=cCounter = 20
IfTrueAction20=[!SetVariable UsedColor #DarkYellow#][!SetOption MeterColorUsed SolidColor #DarkYellow#,205][!UpdateMeter MeterColorUsed]
IfCondition21=cCounter = 0
IfTrueAction21=[!SetVariable UsedColor #UsedColor#][!SetOption MeterColorUsed SolidColor #UsedColor#,205][!UpdateMeter MeterColorUsed]

[ScriptFactoryBars]
Measure=Script
ScriptFile=#@#scripts\Factory.lua
IncFile=#@#include\MeterBars.inc
Number=(#BarCount#-1)
SectionName=MeterBar%%
Option0=Meter
Value0=Shape
Option1=Shape
Value1=Rectangle 0,0,(#BarWidthCalc#),(#BarHeight#*[MeasureAudioSmoothed{%%+1}]) | Scale 1.0,-1.0,0,(#BarHeight#/2) | StrokeWidth 0 | Stroke Color 0,0,0,0 | Fill LinearGradient CustomFillGradient
Option2=CustomFillGradient
Value2=#CustomUpGradient{%%+1}#
Option3=X
Value3=(%%*(#BarWidthCalc#+(#BarGap#*#Scale#)))
Option4=Y
Value4=0
Option5=DynamicVariables
Value5=1
UpdateDivider=-1

[ScriptFactoryBarsDown]
Measure=Script
ScriptFile=#@#scripts\Factory.lua
IncFile=#@#include\MeterBarsDown.inc
Number=(#BarCount#-1)
SectionName=MeterBarDown%%
Option0=Meter
Value0=Shape
Option1=Shape
Value1=Rectangle 0,0,(#BarWidthCalc#),(#BarHeight#/3*[MeasureAudioSmoothed{%%+1}]) | Scale 1.0,1.0,0,(#BarHeight#/3/2) | StrokeWidth 0 | Stroke Color 0,0,0,0 | Fill LinearGradient CustomFillGradient
Option2=CustomFillGradient
Value2=#CustomDownGradient{%%+1}#
Option3=X
Value3=(%%*(#BarWidthCalc#+(#BarGap#*#Scale#)))
Option4=Y
Value4=(#BarHeight#+1)
Option5=DynamicVariables
Value5=1
UpdateDivider=-1

; Script Refresher - refreshes the code to apply the changes from the factory
[ScriptRefresher]
Measure=Script
ScriptFile=#@#scripts\Refresher.lua
UpdateDivider=-1
Refreshed=0

; Include the BandMeasures with raw data
@include3=#@#include\BandMeasures.inc

; Include the BandMeasures with smoothed data
@include4=#@#include\BandMeasuresSmoothed.inc

@include5=#@#include\MeterBars.inc

@include6=#@#include\MeterBarsDown.inc



[MeterColorsFond]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 282
Y=2
W=301
H=54
SolidColor=00000001
MouseLeaveAction=[!HideMeterGroup "Colors"][!UpdateMeterGroup Colors]
Hidden=1
DynamicVariables=1
Group=Colors
UpdateDivider=-1

[MeterColorUsed]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 4
Y=24
W=20
H=20
SolidColor=#UsedColor#,205
MouseOverAction=[!SetOption MeterColorUsed SolidColor #UsedColor#][!UpdateMeter MeterColorUsed]
MouseLeaveAction=[!SetOption MeterColorUsed SolidColor #UsedColor#,205][!UpdateMeter MeterColorUsed]
LeftMouseUpAction=[!ToggleMeterGroup "Colors"][!SetVariable RandBool 0][!UpdateMeterGroup Colors]
DynamicVariables=1
Hidden=1
Group=Configs
UpdateDivider=-1

[MeterColorWhite]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 29
Y=4
W=20
H=20
SolidColor=#White#,205
MouseOverAction=[!SetOption MeterColorWhite SolidColor #White#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorWhite SolidColor #White#,205]
LeftMouseUpAction=[!SetVariable UsedColor #White#][!SetOption MeterColorUsed SolidColor #White#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorBlack]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 54
Y=4
W=20
H=20
SolidColor=#Black#,205
MouseOverAction=[!SetOption MeterColorBlack SolidColor #Black#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorBlack SolidColor #Black#,205]
LeftMouseUpAction=[!SetVariable UsedColor #Black#][!SetOption MeterColorUsed SolidColor #Black#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorRed]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 79
Y=4
W=20
H=20
SolidColor=#Red#,205
MouseOverAction=[!SetOption MeterColorRed SolidColor #Red#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorRed SolidColor #Red#,205]
LeftMouseUpAction=[!SetVariable UsedColor #Red#][!SetOption MeterColorUsed SolidColor #Red#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorYellow]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 129
Y=4
W=20
H=20
SolidColor=#Yellow#,205
MouseOverAction=[!SetOption MeterColorYellow SolidColor #Yellow#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorYellow SolidColor #Yellow#,205]
LeftMouseUpAction=[!SetVariable UsedColor #Yellow#][!SetOption MeterColorUsed SolidColor #Yellow#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorOrange]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 104
Y=4
W=20
H=20
SolidColor=#Orange#,205
MouseOverAction=[!SetOption MeterColorOrange SolidColor #Orange#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorOrange SolidColor #Orange#,205]
LeftMouseUpAction=[!SetVariable UsedColor #Orange#][!SetOption MeterColorUsed SolidColor #Orange#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorPurple]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 154
Y=4
W=20
H=20
SolidColor=#Purple#,205
MouseOverAction=[!SetOption MeterColorPurple SolidColor #Purple#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorPurple SolidColor #Purple#,205]
LeftMouseUpAction=[!SetVariable UsedColor #Purple#][!SetOption MeterColorUsed SolidColor #Purple#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorNightBlue]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 179
Y=4
W=20
H=20
SolidColor=#NightBlue#,205
MouseOverAction=[!SetOption MeterColorNightBlue SolidColor #NightBlue#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorNightBlue SolidColor #NightBlue#,205]
LeftMouseUpAction=[!SetVariable UsedColor #NightBlue#][!SetOption MeterColorUsed SolidColor #NightBlue#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorSkyBlue]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 204
Y=4
W=20
H=20
SolidColor=#SkyBlue#,205
MouseOverAction=[!SetOption MeterColorSkyBlue SolidColor #SkyBlue#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorSkyBlue SolidColor #SkyBlue#,205]
LeftMouseUpAction=[!SetVariable UsedColor #SkyBlue#][!SetOption MeterColorUsed SolidColor #SkyBlue#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorLightBlue]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 229
Y=4
W=20
H=20
SolidColor=#LightBlue#,205
MouseOverAction=[!SetOption MeterColorLightBlue SolidColor #LightBlue#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorLightBlue SolidColor #LightBlue#,205]
LeftMouseUpAction=[!SetVariable UsedColor #LightBlue#][!SetOption MeterColorUsed SolidColor #LightBlue#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorLightGreen]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 254
Y=4
W=20
H=20
SolidColor=#LightGreen#,205
MouseOverAction=[!SetOption MeterColorLightGreen SolidColor #LightGreen#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorLightGreen SolidColor #LightGreen#,205]
LeftMouseUpAction=[!SetVariable UsedColor #LightGreen#][!SetOption MeterColorUsed SolidColor #LightGreen#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorGreen]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 279
Y=4
W=20
H=20
SolidColor=#Green#,205
MouseOverAction=[!SetOption MeterColorGreen SolidColor #Green#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorGreen SolidColor #Green#,205]
LeftMouseUpAction=[!SetVariable UsedColor #Green#][!SetOption MeterColorUsed SolidColor #Green#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorChoco]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 29
Y=26
W=20
H=20
SolidColor=#Choco#,205
MouseOverAction=[!SetOption MeterColorChoco SolidColor #Choco#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorChoco SolidColor #Choco#,205]
LeftMouseUpAction=[!SetVariable UsedColor #Choco#][!SetOption MeterColorUsed SolidColor #Choco#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorGreyBlue]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 54
Y=26
W=20
H=20
SolidColor=#GreyBlue#,205
MouseOverAction=[!SetOption MeterColorGreyBlue SolidColor #GreyBlue#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorGreyBlue SolidColor #GreyBlue#,205]
LeftMouseUpAction=[!SetVariable UsedColor #GreyBlue#][!SetOption MeterColorUsed SolidColor #GreyBlue#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorGrey]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 79
Y=26
W=20
H=20
SolidColor=#Grey#,205
MouseOverAction=[!SetOption MeterColorGrey SolidColor #Grey#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorGrey SolidColor #Grey#,205]
LeftMouseUpAction=[!SetVariable UsedColor #Grey#][!SetOption MeterColorUsed SolidColor #Grey#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorDarkBlue]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 104
Y=26
W=20
H=20
SolidColor=#DarkBlue#,205
MouseOverAction=[!SetOption MeterColorDarkBlue SolidColor #DarkBlue#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorDarkBlue SolidColor #DarkBlue#,205]
LeftMouseUpAction=[!SetVariable UsedColor #DarkBlue#][!SetOption MeterColorUsed SolidColor #DarkBlue#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorDarkRed]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 129
Y=26
W=20
H=20
SolidColor=#DarkRed#,205
MouseOverAction=[!SetOption MeterColorDarkRed SolidColor #DarkRed#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorDarkRed SolidColor #DarkRed#,205]
LeftMouseUpAction=[!SetVariable UsedColor #DarkRed#][!SetOption MeterColorUsed SolidColor #DarkRed#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorDarkPurple]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 154
Y=26
W=20
H=20
SolidColor=#DarkPurple#,205
MouseOverAction=[!SetOption MeterColorDarkPurple SolidColor #DarkPurple#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorDarkPurple SolidColor #DarkPurple#,205]
LeftMouseUpAction=[!SetVariable UsedColor #DarkPurple#][!SetOption MeterColorUsed SolidColor #DarkPurple#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorDarkGreen]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 179
Y=26
W=20
H=20
SolidColor=#DarkGreen#,205
MouseOverAction=[!SetOption MeterColorDarkGreen SolidColor #DarkGreen#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorDarkGreen SolidColor #DarkGreen#,205]
LeftMouseUpAction=[!SetVariable UsedColor #DarkGreen#][!SetOption MeterColorUsed SolidColor #DarkGreen#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorDarkGrey]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 204
Y=26
W=20
H=20
SolidColor=#DarkGrey#,205
MouseOverAction=[!SetOption MeterColorDarkGrey SolidColor #DarkGrey#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorDarkGrey SolidColor #DarkGrey#,205]
LeftMouseUpAction=[!SetVariable UsedColor #DarkGrey#][!SetOption MeterColorUsed SolidColor #DarkGrey#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1

[MeterColorDarkYellow]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 229
Y=26
W=20
H=20
SolidColor=#DarkYellow#,205
MouseOverAction=[!SetOption MeterColorDarkYellow SolidColor #DarkYellow#][!UpdateMeterGroup Colors]
MouseLeaveAction=[!SetOption MeterColorDarkYellow SolidColor #DarkYellow#,205]
LeftMouseUpAction=[!SetVariable UsedColor #DarkYellow#][!SetOption MeterColorUsed SolidColor #DarkYellow#,205][!UpdateMeter MeterColorUsed]
Hidden=1
Group=Colors
UpdateDivider=-1


[MeterColorPersoBG]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 279
Y=26
W=20
H=20
SolidColor=255,255,255,255
Hidden=1
Group=Colors
[MeterColorPerso]
Meter=Image
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 277
Y=28
W=16
H=16
SolidColor=#UsedColor#,255
LeftMouseUpAction=["#@#Addons\RainRGB4.exe" "VarName=DefaultColor" "FileName=#@#include\variables.ini" "RefreshConfig=#CURRENTCONFIG#"]
Hidden=1
Group=Colors
DynamicVariables=1


[MeterRandom]
Meter=Image
ImageName=#@#images\random.png
SolidColor=255,255,255,205
X=(#BarWidthCalc#+#BarGap#)*#BarCount# - 4
Y=4
W=20
H=20
LeftMouseUpAction=[!SetVariable RandBool 1]
Hidden=1
Group=Configs
DynamicVariables=1
The adjustment and addition is much simpler than you tried. You don't need to replicate the entire [ScriptFactoryBars] into [ScriptFactoryBarsN] copies, since everything is prepared there. You only need to add / adjust gradients in the CustomUpGradientN=... / CustomDownGradientN=... lines at the end of the [Variables] section from this file (with N the bar index from 1 to 50 or whatever), like this:

Code: Select all

; Custom Up Gradients
CustomUpGradient1=90 | 0,255,0,255 ; 0.0 | 255,255,0,255 ; 0.5 | 255,0,0,255 ; 1.0
CustomUpGradient2=90 | 0,0,128,255 ; 0.0 | 0,255,128,255 ; 0.5 | 0,128,255,255 ; 1.0
CustomUpGradient3=90 | 0,0,255,255 ; 0.0 | 0,255,0,255 ; 0.5 | 255,0,0,255 ; 1.0
CustomUpGradient4=...same form but various other colors as above...
...

; Custom Down Gradients
CustomDownGradient1=90 | 0,255,0,160 ; 0.0 | 255,255,0,160 ; 0.5 | 255,0,0,160 ; 1.0
CustomDownGradient2=90 | 0,0,128,160 ; 0.0 | 0,255,128,160 ; 0.5 | 0,128,255,160 ; 1.0
CustomDownGradient3=90 | 0,0,255,160 ; 0.0 | 0,255,0,160 ; 0.5 | 255,0,0,160 ; 1.0
CustomDownGradient4=...same form but various other colors as above...
...
The form of these variables follow the syntax from the 3rd line in the code example here (the part after =).

Sorry for not being clearer as to which things you should multiplicate - I assumed it was logical, but then forgot you were a beginner in this. ;-)

P.S. By the way, the reason you only have to add / adjust variables like above is because these variables are already added in the sections you tried to multiplicate:

Code: Select all

[ScriptFactoryBars]
...
Value2=#CustomUpGradient{%%+1}#
...

Code: Select all

[ScriptFactoryBarsDown]
...
Value2=#CustomDownGradient{%%+1}#
...
So, these options already use the variables that you are going to add in the [Variables] section above (since %% is configured to mean the bar index in the Lua script). Obviously, if there is no such variable, the bar stays white.
Mr Bizarre
Posts: 3
Joined: May 10th, 2023, 8:34 am

Re: Visualizer Gradient

Post by Mr Bizarre »

It is working now, thank you so much for your help. I really appreciate it.
User avatar
Yincognito
Rainmeter Sage
Posts: 7021
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Visualizer Gradient

Post by Yincognito »

Mr Bizarre wrote: May 12th, 2023, 7:12 am It is working now, thank you so much for your help. I really appreciate it.
Excellent - and you're welcome! :great:
Post Reply