Created a knob with leds
![](https://i.imgur.com/oIqmmz0.png)
upon resize it partially goes ovoid
![](https://i.imgur.com/J4xU5WN.png)
Is there a way to prevent this ?
https://imgur.com/a/2sQHhfv
I used skingeometric for some things in the past
but this time skingeometric don't do anything
what is strange is round part of slider is correct when circle one is not
and circle leds are not either
![](https://i.imgur.com/oIqmmz0.png)
upon resize it partially goes ovoid
![](https://i.imgur.com/J4xU5WN.png)
Is there a way to prevent this ?
https://imgur.com/a/2sQHhfv
I used skingeometric for some things in the past
but this time skingeometric don't do anything
what is strange is round part of slider is correct when circle one is not
and circle leds are not either
Inviato Wed 11 Nov 20 @ 4:14 am
Do you mind to share your XML code ?
Inviato Wed 11 Nov 20 @ 1:35 pm
Header of test skin: (image not used but image is needed)
------------------------------
<skin name="Round Slider Vumeters" version="850" width="500" height="280" image="none" nbdecks="2">
<copyright> (c)2020 -</copyright>
The set of leds :
--------------------------
<define class="round_Vumeter_Circle_11" type="vumeter" orientation="round" direction="circ" placeholders="*width,*height,text,coloron=green,coloroff=vb_vumeteroff,hilightcolor=red">
<size width="[WIDTH]" height="[HEIGHT]"/>
<led x="+38*[WIDTH]/169" y="+144*[HEIGHT]/169" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+12*[WIDTH]/169" y="+118*[HEIGHT]/169" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+0" y="+12*[HEIGHT]/26" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+12*[WIDTH]/169" y="+62*[HEIGHT]/260" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+38*[WIDTH]/169" y="+23*[HEIGHT]/260" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+12*[WIDTH]/26" y="+0" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+118*[WIDTH]/169" y="+23*[HEIGHT]/260" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+144*[WIDTH]/169" y="+62*[HEIGHT]/260" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+12*[WIDTH]/13" y="+12*[HEIGHT]/26" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+144*[WIDTH]/169" y="+118*[HEIGHT]/169" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+118*[WIDTH]/169" y="+144*[HEIGHT]/169" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
</define>
The double knob :
---------------------------
<define class="knobkr" placeholders="*width,*height,*color1=#4f4f4f,*color2=#1f1f1f,*fillcolor=deckcolor,fadercolor=#aaaaaa,textcolor=#a1a1a1,*action,*labelaction,*rightclick,*dblclick,*disabled=false,*bigradius=54,*smallradius=3,*text">
<slider orientation="round" clickthrough="true" x="+0" y="+0" width="[WIDTH]" height="[HEIGHT]" action="[ACTION]" disabled="[DISABLED]" skingeometric="true">
<off width="2*[WIDTH]/3" height="2*[HEIGHT]/3" shape="circle" color="[COLOR1]" color2="[COLOR2]" gradient="vertical" border="#1f1f1f" border_size="1" radius="2" skingeometric="true"/>
<fader color="[FADERCOLOR]" width="2" height="4*[HEIGHT]/11" radius="[SMALLRADIUS]" anglemin="-150" anglemax="150"/>
<fill width="[WIDTH]" height="[HEIGHT]" radius="[BIGRADIUS]" color="[FILLCOLOR]" backcolor="#5f5f5f"/>
<mousecircle/>
</slider>
<slider orientation="circle" relative="no" x="+0" y="+0" width="[WIDTH]" height="[HEIGHT]" action="[ACTION]" rightclick="[RIGHTCLICK]" dblclick="[DBLCLICK]" disabled="[DISABLED]" skingeometric="true">
<circle direction="cw" anglemin="-150" anglemax="150" skingeometric="true"/>
<mousecircle/>
</slider>
<button x="+[WIDTH]/4" y="+9*[HEIGHT]/10" width="[WIDTH]/2" height="[HEIGHT]/10" action="[LABELACTION]" disabled="[DISABLED]">
<text text="[TEXT]" fontsize="[HEIGHT]/10" weight="bold" color="[TEXTCOLOR]" align="center"/>
<textselected text="[TEXT]" fontsize="[HEIGHT]/10" weight="bold" color="[FILLCOLOR]" align="center"/>
</button>
</define>
The combination of both :
-----------------------------------------
<define class="round_SliderVuMeter"
placeholders="*width,*height,*fillcolor=deckcolor,*color1=#4f4f4f,*color2=#1f1f1f,*fadercolor=#aaaaaa,textcolor=#a1a1a1,*action,*rightclick,*dblclick,*labelaction,*frommiddle=false,*disabled=false,*bigradius=54,*smallradius=3,*source,text,coloron=green,coloroff=vb_vumeteroff,hilightcolor=red,outer=false">
<visual source="[SOURCE]" class="round_Vumeter_Circle_11" width="[WIDTH]" height="[HEIGHT]"/>
<panel class="knobkr" x="+[WIDTH]/7" y="+[HEIGHT]/7" width="5*[WIDTH]/7" height="5*[HEIGHT]/7" disabled="[DISABLED]"
action="[ACTION]" dblclick="[DBLCLICK]" rightclick="[RIGHTCLICK]"
color1="[COLOR1]" color2="[COLOR2]" fillcolor="[FILLCOLOR]" fadercolor="[FADERCOLOR]"
coloron="[COLORON]" coloroff="[COLOROFF]" hilightcolor="[HILIGHTCOLOR]" textcolor="[TEXTCOLOR]"
bigradius="[BIGRADIUS]" smallradius="[SMALLRADIUS]"
text="[TEXT]" labelaction=""
frommiddle="[FROMMIDDLE]" visibility="not [OUTER]"/>
<panel class="knobkr" width="[WIDTH]" height="[HEIGHT]" disabled="[DISABLED]"
action="[ACTION]" dblclick="[DBLCLICK]" rightclick="[RIGHTCLICK]"
color1="[COLOR1]" color2="[COLOR2]" fillcolor="[FILLCOLOR]" fadercolor="[FADERCOLOR]"
coloron="[COLORON]" coloroff="[COLOROFF]" hilightcolor="[HILIGHTCOLOR]" textcolor="[TEXTCOLOR]"
bigradius="[BIGRADIUS]" smallradius="[SMALLRADIUS]"
text="[TEXT]" labelaction=""
frommiddle="[FROMMIDDLE]" visibility="[OUTER]"/>
<visual source="[SOURCE]" class="round_Vumeter_Circle_11" width="[WIDTH]" height="[HEIGHT]"/>
</define>
The test :
---------------
<panel class="round_SliderVuMeter" x="+50-27" y="50-27+5" width="140" height="140" source="get_level" action="volume" text="Volume" bigradius="42"/>
<panel class="round_SliderVuMeter" x="+350-27" y="50-27+5" width="140" height="140" source="get_level" action="volume" text="Volume" outer="true"/>
button to get out of the testskin:
<button x="150" y="200" width="100" height="25" action="settings">
<off color="blue"/>
<on color="green"/>
<text text="Settings" align="center"/>
</button>
</skin>
------------------------------
<skin name="Round Slider Vumeters" version="850" width="500" height="280" image="none" nbdecks="2">
<copyright> (c)2020 -</copyright>
The set of leds :
--------------------------
<define class="round_Vumeter_Circle_11" type="vumeter" orientation="round" direction="circ" placeholders="*width,*height,text,coloron=green,coloroff=vb_vumeteroff,hilightcolor=red">
<size width="[WIDTH]" height="[HEIGHT]"/>
<led x="+38*[WIDTH]/169" y="+144*[HEIGHT]/169" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+12*[WIDTH]/169" y="+118*[HEIGHT]/169" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+0" y="+12*[HEIGHT]/26" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+12*[WIDTH]/169" y="+62*[HEIGHT]/260" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+38*[WIDTH]/169" y="+23*[HEIGHT]/260" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+12*[WIDTH]/26" y="+0" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+118*[WIDTH]/169" y="+23*[HEIGHT]/260" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+144*[WIDTH]/169" y="+62*[HEIGHT]/260" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+12*[WIDTH]/13" y="+12*[HEIGHT]/26" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+144*[WIDTH]/169" y="+118*[HEIGHT]/169" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
<led x="+118*[WIDTH]/169" y="+144*[HEIGHT]/169" width="[WIDTH]/13" height="[HEIGHT]/13"><off shape="circle" color="[COLOROFF]" border="black" border_size="1" radius="1"/><on shape="circle" color="[COLORON]" border="black" border_size="1" radius="1"/></led>
</define>
The double knob :
---------------------------
<define class="knobkr" placeholders="*width,*height,*color1=#4f4f4f,*color2=#1f1f1f,*fillcolor=deckcolor,fadercolor=#aaaaaa,textcolor=#a1a1a1,*action,*labelaction,*rightclick,*dblclick,*disabled=false,*bigradius=54,*smallradius=3,*text">
<slider orientation="round" clickthrough="true" x="+0" y="+0" width="[WIDTH]" height="[HEIGHT]" action="[ACTION]" disabled="[DISABLED]" skingeometric="true">
<off width="2*[WIDTH]/3" height="2*[HEIGHT]/3" shape="circle" color="[COLOR1]" color2="[COLOR2]" gradient="vertical" border="#1f1f1f" border_size="1" radius="2" skingeometric="true"/>
<fader color="[FADERCOLOR]" width="2" height="4*[HEIGHT]/11" radius="[SMALLRADIUS]" anglemin="-150" anglemax="150"/>
<fill width="[WIDTH]" height="[HEIGHT]" radius="[BIGRADIUS]" color="[FILLCOLOR]" backcolor="#5f5f5f"/>
<mousecircle/>
</slider>
<slider orientation="circle" relative="no" x="+0" y="+0" width="[WIDTH]" height="[HEIGHT]" action="[ACTION]" rightclick="[RIGHTCLICK]" dblclick="[DBLCLICK]" disabled="[DISABLED]" skingeometric="true">
<circle direction="cw" anglemin="-150" anglemax="150" skingeometric="true"/>
<mousecircle/>
</slider>
<button x="+[WIDTH]/4" y="+9*[HEIGHT]/10" width="[WIDTH]/2" height="[HEIGHT]/10" action="[LABELACTION]" disabled="[DISABLED]">
<text text="[TEXT]" fontsize="[HEIGHT]/10" weight="bold" color="[TEXTCOLOR]" align="center"/>
<textselected text="[TEXT]" fontsize="[HEIGHT]/10" weight="bold" color="[FILLCOLOR]" align="center"/>
</button>
</define>
The combination of both :
-----------------------------------------
<define class="round_SliderVuMeter"
placeholders="*width,*height,*fillcolor=deckcolor,*color1=#4f4f4f,*color2=#1f1f1f,*fadercolor=#aaaaaa,textcolor=#a1a1a1,*action,*rightclick,*dblclick,*labelaction,*frommiddle=false,*disabled=false,*bigradius=54,*smallradius=3,*source,text,coloron=green,coloroff=vb_vumeteroff,hilightcolor=red,outer=false">
<visual source="[SOURCE]" class="round_Vumeter_Circle_11" width="[WIDTH]" height="[HEIGHT]"/>
<panel class="knobkr" x="+[WIDTH]/7" y="+[HEIGHT]/7" width="5*[WIDTH]/7" height="5*[HEIGHT]/7" disabled="[DISABLED]"
action="[ACTION]" dblclick="[DBLCLICK]" rightclick="[RIGHTCLICK]"
color1="[COLOR1]" color2="[COLOR2]" fillcolor="[FILLCOLOR]" fadercolor="[FADERCOLOR]"
coloron="[COLORON]" coloroff="[COLOROFF]" hilightcolor="[HILIGHTCOLOR]" textcolor="[TEXTCOLOR]"
bigradius="[BIGRADIUS]" smallradius="[SMALLRADIUS]"
text="[TEXT]" labelaction=""
frommiddle="[FROMMIDDLE]" visibility="not [OUTER]"/>
<panel class="knobkr" width="[WIDTH]" height="[HEIGHT]" disabled="[DISABLED]"
action="[ACTION]" dblclick="[DBLCLICK]" rightclick="[RIGHTCLICK]"
color1="[COLOR1]" color2="[COLOR2]" fillcolor="[FILLCOLOR]" fadercolor="[FADERCOLOR]"
coloron="[COLORON]" coloroff="[COLOROFF]" hilightcolor="[HILIGHTCOLOR]" textcolor="[TEXTCOLOR]"
bigradius="[BIGRADIUS]" smallradius="[SMALLRADIUS]"
text="[TEXT]" labelaction=""
frommiddle="[FROMMIDDLE]" visibility="[OUTER]"/>
<visual source="[SOURCE]" class="round_Vumeter_Circle_11" width="[WIDTH]" height="[HEIGHT]"/>
</define>
The test :
---------------
<panel class="round_SliderVuMeter" x="+50-27" y="50-27+5" width="140" height="140" source="get_level" action="volume" text="Volume" bigradius="42"/>
<panel class="round_SliderVuMeter" x="+350-27" y="50-27+5" width="140" height="140" source="get_level" action="volume" text="Volume" outer="true"/>
button to get out of the testskin:
<button x="150" y="200" width="100" height="25" action="settings">
<off color="blue"/>
<on color="green"/>
<text text="Settings" align="center"/>
</button>
</skin>
Inviato Wed 11 Nov 20 @ 3:28 pm
The <vumeter/> element was never finished and it's buggy. That's why it's not officially supported, nor used, nor documented.
It does work with limitations. Maybe at some point development team will finish it / fix it's bugs.
Until then I would suggest you just to use some visuals on/off type elements instead.
If you combine them on a panel, they should resize properly.
PS: Just out of curiosity, where did you find the <vumeter/> element ?
Edit: Nevermind, I found where you get the info from. It's our mistake... :P <vumeter/> should not have been published as a working skin element.
Anyway, I will ask for a fix.
It does work with limitations. Maybe at some point development team will finish it / fix it's bugs.
Until then I would suggest you just to use some visuals on/off type elements instead.
If you combine them on a panel, they should resize properly.
PS: Just out of curiosity, where did you find the <vumeter/> element ?
Edit: Nevermind, I found where you get the info from. It's our mistake... :P <vumeter/> should not have been published as a working skin element.
Anyway, I will ask for a fix.
Inviato Wed 11 Nov 20 @ 4:11 pm
<vumeter/> was exposed as a new addition in this thread:
https://www.virtualdj.com/forums/230926/VirtualDJ_Skins/VirtualDJ_2020_-_Additions_in_Skin_Engine.html
and some skin use it silently (Controller 2020 by DennYo, vb_8decks ...)
It is powerfull and allows some cool additions "easily" and without any pixmap
not first thread talkind about it ^^
Thanks
https://www.virtualdj.com/forums/230926/VirtualDJ_Skins/VirtualDJ_2020_-_Additions_in_Skin_Engine.html
and some skin use it silently (Controller 2020 by DennYo, vb_8decks ...)
It is powerfull and allows some cool additions "easily" and without any pixmap
not first thread talkind about it ^^
Thanks
Inviato Thu 12 Nov 20 @ 6:17 am
Yes, it is powerful. But as I said it was buggy and it's info should not have been released in public. That was our own mistake.
Anyway, we'll take a look at fixing this.
Anyway, we'll take a look at fixing this.
Inviato Thu 12 Nov 20 @ 8:28 am