I have seen quite a few skins online which "faked" this by adding in more meters in the background and just changing the Sensitivity setting. While I agree they are pleasant to watch, I kind of missed my old analyzer which had this feature. So I decided to see what I could do to add it into RainMeter skins.
After a week of pondering how to do this without arrays, loops, or other constructs, I thought of a work around which I think turned out well. This is just a preliminary concept and I did not really try to optimize it in any way. Posting here as I would appreciate any feedback...
After a week of pondering how to do this without arrays, loops, or other constructs, I thought of a work around which I think turned out well. This is just a preliminary concept and I did not really try to optimize it in any way. Posting here as I would appreciate any feedback...
Code:
[Rainmeter]Update=10Author=original auther: adni18DynamicWindowSize=1[Metadata]Name=Author=Information=License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0 Version=2025[Variables]; Decayhold is measured in skin cyclesDecayHold=30; Decayspeed is a percentage (0-1). Lower value is fasterDecaySpeed=0.96AverageSize=4Color=188,147,37Bar1Value=0Bar1Time=0Bar2Value=0Bar2Time=0Bar3Value=0Bar3Time=0Bar4Value=0Bar4Time=0Bar5Value=0Bar5Time=0Bar6Value=0Bar6Time=0Bar7Value=0Bar7Time=0;-------------------------------------------------------------;-------------------------------------------------------------[MeasureAudioOutput]Measure=PluginPlugin=AudioLevelFFTSize=2048FFTOverlap=1024FFTAttack=0FFTDecay=200Bands=7FreqMin=35FreqMax=13000Sensitivity=38[MeasureTime]Measure=CalcFormula=MeasureTime+1;-------------------------------------------------------------;-------------------------------------------------------------[MeasureAudio1]Measure=PluginPlugin=AudioLevelParent=MeasureAudioOutputChannel=SumType=BandBandIdx=0AverageSize=#AverageSize#[MeasurePeakSet1]Measure=CalcFormula=[MeasureTime:] + #DecayHold#IfCondition=(MeasureAudio1 > #Bar1Value#)IfTrueAction=[!SetVariable Bar1Value [MeasureAudio1]][!SetVariable Bar1Time [MeasurePeakSet1]]DynamicVariables=1IfConditionMode=1[MeasurePeakDecay1]Measure=CalcFormula=([MeasureTime:] > #Bar1Time#)IfCondition=(MeasurePeakDecay1 > 0)IfTrueAction=[!SetVariable Bar1Value (#Bar1Value#*#DecaySpeed#)]DynamicVariables=1IfConditionMode=1;-------------------------------------------------------------;-------------------------------------------------------------[MeasureAudio2]Measure=PluginPlugin=AudioLevelParent=MeasureAudioOutputChannel=SumType=BandBandIdx=1AverageSize=#AverageSize#[MeasurePeakSet2]Measure=CalcFormula=[MeasureTime:] + #DecayHold#IfCondition=(MeasureAudio2 > #Bar2Value#)IfTrueAction=[!SetVariable Bar2Value [MeasureAudio2]][!SetVariable Bar2Time [MeasurePeakSet2]]DynamicVariables=1IfConditionMode=1[MeasurePeakDecay2]Measure=CalcFormula=([MeasureTime:] > #Bar2Time#)IfCondition=(MeasurePeakDecay2 > 0)IfTrueAction=[!SetVariable Bar2Value (#Bar2Value#*#DecaySpeed#)]DynamicVariables=1IfConditionMode=1;-------------------------------------------------------------;-------------------------------------------------------------[MeasureAudio3]Measure=PluginPlugin=AudioLevelParent=MeasureAudioOutputChannel=SumType=BandBandIdx=2AverageSize=#AverageSize#[MeasurePeakSet3]Measure=CalcFormula=[MeasureTime:] + #DecayHold#IfCondition=(MeasureAudio3 > #Bar3Value#)IfTrueAction=[!SetVariable Bar3Value [MeasureAudio3]][!SetVariable Bar3Time [MeasurePeakSet3]]DynamicVariables=1IfConditionMode=1[MeasurePeakDecay3]Measure=CalcFormula=([MeasureTime:] > #Bar3Time#)IfCondition=(MeasurePeakDecay3 > 0)IfTrueAction=[!SetVariable Bar3Value (#Bar3Value#*#DecaySpeed#)]DynamicVariables=1IfConditionMode=1;-------------------------------------------------------------;-------------------------------------------------------------[MeasureAudio4]Measure=PluginPlugin=AudioLevelParent=MeasureAudioOutputChannel=SumType=BandBandIdx=3AverageSize=#AverageSize#[MeasurePeakSet4]Measure=CalcFormula=[MeasureTime:] + #DecayHold#IfCondition=(MeasureAudio4 > #Bar4Value#)IfTrueAction=[!SetVariable Bar4Value [MeasureAudio4]][!SetVariable Bar4Time [MeasurePeakSet4]]DynamicVariables=1IfConditionMode=1[MeasurePeakDecay4]Measure=CalcFormula=([MeasureTime:] > #Bar4Time#)IfCondition=(MeasurePeakDecay4 > 0)IfTrueAction=[!SetVariable Bar4Value (#Bar4Value#*#DecaySpeed#)]DynamicVariables=1IfConditionMode=1;-------------------------------------------------------------;-------------------------------------------------------------[MeasureAudio5]Measure=PluginPlugin=AudioLevelParent=MeasureAudioOutputChannel=SumType=BandBandIdx=4AverageSize=#AverageSize#[MeasurePeakSet5]Measure=CalcFormula=[MeasureTime:] + #DecayHold#IfCondition=(MeasureAudio5 > #Bar5Value#)IfTrueAction=[!SetVariable Bar5Value [MeasureAudio5]][!SetVariable Bar5Time [MeasurePeakSet5]]DynamicVariables=1IfConditionMode=1[MeasurePeakDecay5]Measure=CalcFormula=([MeasureTime:] > #Bar5Time#)IfCondition=(MeasurePeakDecay5 > 0)IfTrueAction=[!SetVariable Bar5Value (#Bar5Value#*#DecaySpeed#)]DynamicVariables=1IfConditionMode=1;-------------------------------------------------------------;-------------------------------------------------------------[MeasureAudio6]Measure=PluginPlugin=AudioLevelParent=MeasureAudioOutputChannel=SumType=BandBandIdx=5AverageSize=#AverageSize#[MeasurePeakSet6]Measure=CalcFormula=[MeasureTime:] + #DecayHold#IfCondition=(MeasureAudio6 > #Bar6Value#)IfTrueAction=[!SetVariable Bar6Value [MeasureAudio6]][!SetVariable Bar6Time [MeasurePeakSet6]]DynamicVariables=1IfConditionMode=1[MeasurePeakDecay6]Measure=CalcFormula=([MeasureTime:] > #Bar6Time#)IfCondition=(MeasurePeakDecay6 > 0)IfTrueAction=[!SetVariable Bar6Value (#Bar6Value#*#DecaySpeed#)]DynamicVariables=1IfConditionMode=1;-------------------------------------------------------------;-------------------------------------------------------------[MeasureAudio7]Measure=PluginPlugin=AudioLevelParent=MeasureAudioOutputChannel=SumType=BandBandIdx=6AverageSize=#AverageSize#[MeasurePeakSet7]Measure=CalcFormula=[MeasureTime:] + #DecayHold#IfCondition=(MeasureAudio7 > #Bar7Value#)IfTrueAction=[!SetVariable Bar7Value [MeasureAudio7]][!SetVariable Bar7Time [MeasurePeakSet7]]DynamicVariables=1IfConditionMode=1[MeasurePeakDecay7]Measure=CalcFormula=([MeasureTime:] > #Bar7Time#)IfCondition=(MeasurePeakDecay7 > 0)IfTrueAction=[!SetVariable Bar7Value (#Bar7Value#*#DecaySpeed#)]DynamicVariables=1IfConditionMode=1;-------------------------------------------------------------;-------------------------------------------------------------[MeterBarFore]Meter=ShapeX=2Y=75DynamicVariables=1Shape8 =Rectangle 10,(-83.6*#Bar1Value#-6),6,3,3 | Fill Color 255,0,0,255 | StrokeWidth 0Shape9 =Rectangle 20,(-83.6*#Bar2Value#-6),6,3,3 | Fill Color 255,0,0,255 | StrokeWidth 0Shape10=Rectangle 30,(-83.6*#Bar3Value#-6),6,3,3 | Fill Color 255,0,0,255 | StrokeWidth 0Shape11=Rectangle 40,(-83.6*#Bar4Value#-6),6,3,3 | Fill Color 255,0,0,255 | StrokeWidth 0Shape12=Rectangle 50,(-83.6*#Bar5Value#-6),6,3,3 | Fill Color 255,0,0,255 | StrokeWidth 0Shape13=Rectangle 60,(-83.6*#Bar6Value#-6),6,3,3 | Fill Color 255,0,0,255 | StrokeWidth 0Shape14=Rectangle 70,(-83.6*#Bar7Value#-6),6,3,3 | Fill Color 255,0,0,255 | StrokeWidth 0Shape =Rectangle 10,0,6,(-83.6*[MeasureAudio1]-6),3,3 | Fill Color #Color# | StrokeWidth 1 | Stroke Color #Color#Shape2 =Rectangle 20,0,6,(-83.6*[MeasureAudio2]-6),3,3 | Fill Color #Color# | StrokeWidth 1 | Stroke Color #Color#Shape3 =Rectangle 30,0,6,(-83.6*[MeasureAudio3]-6),3,3 | Fill Color #Color# | StrokeWidth 1 | Stroke Color #Color#Shape4 =Rectangle 40,0,6,(-83.6*[MeasureAudio4]-6),3,3 | Fill Color #Color# | StrokeWidth 1 | Stroke Color #Color#Shape5 =Rectangle 50,0,6,(-83.6*[MeasureAudio5]-6),3,3 | Fill Color #Color# | StrokeWidth 1 | Stroke Color #Color#Shape6 =Rectangle 60,0,6,(-83.6*[MeasureAudio6]-6),3,3 | Fill Color #Color# | StrokeWidth 1 | Stroke Color #Color#Shape7 =Rectangle 70,0,6,(-83.6*[MeasureAudio7]-6),3,3 | Fill Color #Color# | StrokeWidth 1 | Stroke Color #Color#
Statistics: Posted by Pickles7853 — Today, 12:49 am — Replies 0 — Views 23