From beffc3a791a257f34f01f72944bace3e19d0a347 Mon Sep 17 00:00:00 2001 From: mashiros <490328928@qq.com> Date: Sat, 4 Jun 2022 01:37:58 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E5=90=88=E5=B9=B6=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E3=80=90=E6=B8=90=E5=8F=98=E7=BA=BF=E3=80=91=E5=88=B0=E3=80=90?= =?UTF-8?q?=E7=BA=BF=E3=80=91=EF=BC=8C=E3=80=90=E7=BA=BF=E3=80=91=E4=B8=8E?= =?UTF-8?q?=E3=80=90=E6=B3=A2=E6=B5=AA=E3=80=91=E6=96=B0=E5=A2=9E=E6=96=B9?= =?UTF-8?q?=E5=90=91(=E6=B0=B4=E5=B9=B3=E4=B8=8E=E5=9E=82=E7=9B=B4)?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=80=89=E9=A1=B9=20-=20=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E3=80=90=E6=B3=A2=E6=B5=AA=E3=80=91=E3=80=81=E3=80=90=E5=9C=86?= =?UTF-8?q?=E3=80=91=E3=80=81=E3=80=90=E5=AE=9E=E5=BF=83=E5=9C=86=E3=80=91?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B8=90=E5=8F=98=E8=AE=BE=E7=BD=AE=E9=80=89?= =?UTF-8?q?=E9=A1=B9=20-=20=E4=BC=98=E5=8C=96=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E8=B0=83=E8=AF=95=E9=80=BB=E8=BE=91(=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=EF=BC=9A=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=B4=A9?= =?UTF-8?q?=E6=BA=83=E8=87=AA=E5=8A=A8=E6=89=93=E5=BC=80=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=96=87=E4=BB=B6)=20-=20=E4=BC=98=E5=8C=96API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Locales/ja.qm | Bin 5515 -> 6950 bytes Locales/zh.qm | Bin 5229 -> 6536 bytes Locales/zh_TW.qm | Bin 5229 -> 6536 bytes Presets/Circle/preview.png | Bin 4302 -> 3819 bytes Presets/Circle/settings.xml | 2 +- Presets/Gradient_Line/preset.json | 4 - Presets/Gradient_Line/preview.png | Bin 5383 -> 0 bytes Presets/Gradient_Line/settings.xml | 5 - Presets/Line/settings.xml | 2 +- Presets/Solidcircle/preview.png | Bin 6788 -> 5629 bytes Presets/Solidcircle/settings.xml | 2 +- Presets/Waves/settings.xml | 2 +- package.json | 26 +- qml/Common.qml | 2 + qml/Main.qml | 8 +- qml/api/AdvpCanvasTemplate.qml | 21 ++ readme.md | 4 +- styles/Preset_Ordinal_Scale_UI_bottom/Style.qml | 2 +- styles/Preset_circle/Style.qml | 342 ++++++++++++----- styles/Preset_gradient_line/Style.qml | 310 ---------------- styles/Preset_line/Style.qml | 470 ++++++++++++++++++------ styles/Preset_solidcircle/Style.qml | 370 ++++++++++++++----- styles/Preset_waves/Style.qml | 364 ++++++++++++++---- 23 files changed, 1221 insertions(+), 715 deletions(-) delete mode 100644 Presets/Gradient_Line/preset.json delete mode 100644 Presets/Gradient_Line/preview.png delete mode 100644 Presets/Gradient_Line/settings.xml delete mode 100644 styles/Preset_gradient_line/Style.qml diff --git a/Locales/ja.qm b/Locales/ja.qm index 4d94940b797ceebfb79d9c589b27e787ad20cacf..853a861d2506399e18229ae62b0b97f230f89716 100644 GIT binary patch delta 1734 zcma)5eN0tl7=O6jbI<)a_niC11uqjX?M9`8-W5?ZYQ@KbK)$Y_mWmfR7f-;sayejS zdKb&KU~bS6SI(gjHgimytPpHsK@%$}nXR%=C)4<_*22<1AbT#%1NUaGKhEC0&-?s- z&+qv?&uLomK}z$|7b9Z;s8ay;uR*=%5P-n}>O<`Ss{26w$wdI87N`~H0XPPz;!FTj zJW%z!0cb5)`wk+GhbI%qkb{PT;i~}5kFa+327uMtQes!xuC#28)3fmrv7dKgETv_? z-D0d(?aCSiu((ts12#O5w)7_j*jFf>eJ6meiy}DfJBW z@IFEv9_q*YQ&g8~03f=D`sqdn#*^pI=%=ZRWgi3R8#UzIqo`-ChKyUWcDttXrVI7g zXxeY{0J=0y-!$fNZ)(2U|0e{%oT-@{zXA{yt-0>`8;Rf0%NFNErkm@IU?UcKaO-bau$`XhLqiN_wd%Hw zXy`$0%9;1E?J{lORlGCDw4;t;`9wslu2Y}z%qYH$%9kRR1P)~9A^LZH@2wfkdfSlo zCE8+0HMmV#c-9zNjy#4cikL?lQ5DzCY{;=-TlI`b{sUE?V_u&u#rQR5@64xY*LCL1 z0Tyin=4=P@aY@Y0;!fmGH!jWTK-Ck*!J$+D_5H@nFQ7ekLx7DLqX5`!HvUvA${u5L zr6NoyX7@#AV%q|HQWuA9u4jMvEC~y)<|3XQ0Wkl}B~PXy?i=p$zmVA6#%)f(IGxJ9 z)`a=&J}%I665}s(t-(3yd${pIw8ywyKo2J)QK6oEOJ+!So2ts7%}Xp9*nVMSrhLh0 zmrJcSS;syUuob=~n@UQ_M`VJW#?&723z^mio73QDO81FEnWxJ6oZnL}@S;RxkaA0} zR`C%*ddJ<+L~KlaX|KYuB%H(P<|RoGD{7HUPGG$;YQA^1S;^OB2!6gy5`3b(o!yk| z2$e?Osn8Yml1j3UG${}+Q}mQp@rp`$nBDoXJq*}O`bj65Qb6pTo}6?2$QfK?p}ufu zfkedoRRK}Sq=B&+AOb;qiWFt|0PG#o(}39Hf_AAVYy@oZ)7IT?R?VesVe5y#O*euCj^HjjH qcz8RK)~~EQuZW9t<4?!`-?`bt=N881RM^}L6Jr)HLU)=aJMtgg@ABgS delta 545 zcmX9*ZAepL6n=Jh-}i32cX!*JEuG|`){vq#s0?yHLK36}mBfAs8B2qO5EXJ^SVqSF zRAl3=5Q)k@OvMr!6>89jMITboeih|{h9D*gWzE2>BmFv@_nhbJyuDRt)}CL{ARPwS z6TtHk@})jN^+WFK0i>0XALIdT6_|MeP;Bsy+@igss9skfjDlV7CTV{T$y5Na_oKc4 z097kacG>{fY^JkfjW%j2e>Mo{6PD&hV&i_v(^Ns|xD+0!C-zz?H&#OPROUww0a(O2@aC#2>fGR~jkBaiK^7`w>TI>jbgi7VD+5ox}4B zq&%+Hy`dy(RL$JoL|3iX_QniSHnoKKPQ-cb*z|sKFsgMgJfcLuwb$2lN&@Zeb;3KV zv|{`w)n8&r@@@8%>ZJun!-Bq}mCh%}^~=^;3g*^7JPi|F!j%l==(D1(i%S6=4-b;t zVm4|uRWYeoiY`}!D0A-?cig5(c-q7vBP~MSYH`ZjDAFaX#q6?XVfsF2XO?fV{sRXU BmvR6A diff --git a/Locales/zh.qm b/Locales/zh.qm index 751b0f0098f86c1a4500e5d72a0e9b0b813824c2..a766be217c9d739a6c0350f2ab9852064db0fa33 100644 GIT binary patch delta 1540 zcmaJ(zweyy zeCPa;^?H6Fb*I7zK#Tz-ZU*H$0|4r3P!1dckS&1n^D6+135bU-0I;`!s3`{E6+pDS z4M4sG3B&yW`k&yj>}vqZeyBJ<1E9G9+vn#1w4VfR26=)jxGzo3^0Jh#ParlK>^10^ zCi$BsApl`oJ~^&O)Dj%c@v}}sWjF|su#w0uZ3p1C5-oRz0Ki7H(kIa$L3Dpph~Hzx zM-!vi_haIOd>p`#N=(gdMLcKuoj5>Tss9W>6(Vzg%tt>hWNtVCK(~q9dwVVVw~$8` zMF6^;9KMM>&P9IL`#1POV9D9=&uHL1@^||JHk={n+p@5cno3;60W}3wN-N^>>(tu$ zi}?POdi23WEbOFgLq6ocO11y?EjA8Nf#yNPd#KR9Ke6Ef>epcmL_^TZo>~m_IQ_`k z4{&TPJv@WonsfB!&?9yN8dJFT)Y#rhg%=>rGpu3&S***?q0_OXp zSdTL@w`)Gc`VX+FrAM(|IvbjJ96)iAoqihQ(YN|J<23^JUcjY~b)oDkSLUn2J=5G_ zMKPLOYV_5&~5GKpL5<2TM0qV6 z(V7(M02t|z^cfGyA^rYABa3h&Q6=C)5ZxCgX>P%G8IpX)kR7tB< zlAkq7F1DIiil?fzF`i1Yb4KY5TbV&uKir%Z*O@Q&*y|d^SYv5{ZB3^m6jy~StdGt(hPSfgEnV(&BZq=cRL*DI@(Bb@K0&w;`EBx+~^UdUfwMYYUoT1qr$TP zpV;3u7N@gG^qCr+rsd6;%G^kQj!Vkrx`S_QXd8{>7bi(ykyu|8>wVtl7owtMNhPc^ z?=Y+iL$Eaa?wdwb5toKxS%q<|$q;I$sz`IG86vaCvnreI-pEA-__Swe+iTU@_@!3i z72W5WqJp?UTOx| zAmAE-d^ri&_d!l}1C|2hz6rol3l_ZuD5v4=@1eOvs9ZY<$UWFSIz|0bG@U5{)G4&y zIZAOW&UL7Oo=Y@{X+_*_R{t#X)NcXerMuipp9>2 zn*TiQ4zXZ$4B+i7I+q0yVl8SfXCb>+D&HCl z1U{+!Z7rkxipW^}%k>MkP&Ptkr!Dq%g!pk)zJ8Eg+!HpbM7wJ@w|pRaPOOub)jXP; zC*=jlju+&_9(5${R{+u)-cao!ei3+-pPe~O7mV|+`N!nw3x9r7Cnw;qZ_z$K zz-Ra0CZ=CxB>x7NsxO^nRMzyJ5qdsZ)vsB%ld)C$yP*K#8jL1$j6N%AbS@gyejcN1 z-)A>lGj_33H^oD}R;)Mnh^%o!)VNwiox4q_o=Oq+)QeqSQ^b8C;aT!38}a+B{{YWl BnIr%J diff --git a/Locales/zh_TW.qm b/Locales/zh_TW.qm index f43bac11dd6fb8fce1ce6596475a61f5021acbf9..7673028209ddd7fa15dbe13d1a69fb5bff99c4eb 100644 GIT binary patch delta 1540 zcmaJDzzUm4;vfi{ESrBg7?BCId=2+WE%X(-VXLJuC$bt6 z69ZA({Dz`2z@{w3O-zO#8Cy1#8rh7C;*uH3HsXS*IL+qfw!{J6LRwZd`{U*1op;W? z=bn52$a+0Lkh)W00-(kK5;ubK?I8e74Jd~W1IXq<`S}$9)(q5R7Xi3CK-Crl2nwLu z4gt_FLBi-DfZ<2jlzk0AIS3UOW&pG|Vf)-|0Np1+n^B(76x^St;RIRASH}^X4E7uK zY>WJjk`RD6EuS1WAZiVs&GBPo|B0O}B(`$InZX`^$)2>|-_^uD`m(7%;F zydVKEo%HA}Xd)JNs%#@ZS;~pQEdG9{52DK&UF&0gm zwpuK~_c3j7cs;sU%jR{VEB+mJPpKZqI>Fk>U+8)>`^s!R;uGw9_fMm{o$R>*9%BOb zyCYbSH?enXKg9a0xzy4lSTCImO*{#pxWr9w!*~qse%^GA!o3&p>0>=8yULgOs&LN? z|GuIaO)l_f)M+?onE&a^9E|OILAH4kw>luKn=M4$DWTvF78V^sQzqi{knnOh^0_X- z|HT=^^Mszr9@IC5a0ugJ3thO(G6gzRdP^GDG9!KRK@H(Km0{QQx}!|QI*pI6NOJom zFDcU}lOis2I}vU5o(TYp4By)wQ#pQE(+$*Pu3VN-b-dO3xMG<*RFzfgH z8VJX5Wtrskks1EY491e(L*g5iyBrR59c@G$!ZSMgi|NZ^i^naIe!)eCwM-_4QDHss zPwek1tJB#c`OF@td1*7|G8fXH zMGv{As37i|Oe;i-$8*ITk}<4bw%-dJ~Z-$iS8 fEatRoJZb5FQqI>er~Dt4Ii^|}bkfKUok8(0n%<&$ delta 545 zcmXAmYe-XJ7{~uRJMY;!+q-jiYgCd($U&mkLZrw(gcSr9Rz`?q%T{322Z=QbLunA$ zC%4|Lkf@A=wN?X1MiO{gVOJ?X6_QaRiCv(}&<{3yq)!je?e~BF@7rGfy)3?>UTOx| zAmAE-d^ri&_d!l}1C|2hz6rol3l_ZuD5v4=@1eOvs9ZY<$UWFSIz|0bG@U5{)G4&y zIZAOW&UL7Oo=Y@{X+_*_R{t#X)NcXerMuipp9>2 zn*TiQ4zXZ$4B+i7I+q0yVl8SfXCb>+D&HCl z1U{+!Z7rkxipW^}%k>MkP&Ptkr!Dq%g!pk)zJ8Eg+!HpbM7wJ@w|pRaPOOub)jXP; zC*=jlju+&_9(5${R{+u)-cao!ei3+-pPe~O7mV|+`N!nw3x9r7Cnw;qZ_z$K zz-Ra0CZ=CxB>x7NsxO^nRMzyJ5qdsZ)vsB%ld)C$yP*K#8jL1$j6N%AbS@gyejcN1 z-)A>lGj_33H^oD}R;)Mnh^%o!)VNwiox4q_o=Oq+)QeqSQ^b8C;aT!38}a+B{{YWl BnIr%J diff --git a/Presets/Circle/preview.png b/Presets/Circle/preview.png index 9d1a61976c43a0af9d40413c05301ca80d113c8b..34d3b54acc69a1f826c0acbfb8688abdbce90def 100644 GIT binary patch delta 3685 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 DABbZ< delta 4222 zcmV-^5P|RO9nK+;I7JYENkl*aK3O)Cnt}eDwidZfh2zn!)*09_C5dr0w$Lkdmn(l z{BP_X001-*&X}{p+$$Y>CxAW>&X^5zuaq#xS`f~dk54`7Q<-;5q5n={ZE_v_hnrlx zVRj7Y9^s71GWSYNuJ_XoDrEHQ%u{ymp<88=9%`>e)r}b;oG~dT*B`f0R>f&2FC0|e zCfB`uRrB zwQZwg&{sYU`jwS*>OD5>K|i^lHabfBs5X;V-6el-WdPf-|Lr~R)_<&|%s$^f+3S0Y zGZQfk!Wq4&g>hMh-b$`ob*&4#?GM)ZAt@Q{ul=3L>nU)P7Zu5?7uNpc!uvMb2aio% z)n3l{aQB&9yVh0;08E+LD)R^S8r!*c{w$2|PIZQE#H&Av!p zRJg&oxiPx)wr(XoyRC8{@$caK1OUETtD>wb|J17Ep3l%5yHfT4eqmK@?;otH2e4vc zJHq5T_yJ`5v#UI;5BuL{t4G2az#wdowOM~HGa%Mra+&apY{cEc4AFDOS!S!O3K=`y ztf&s>lNS{-dh!<^f}KZgbQes=OB;^?fbR+q Kb&g3$YnJcSo{{Z-bNEpA@2EUqT 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 UM97ixsQ>@~07*qoM6N<$f(+$iH2?qr diff --git a/Presets/Circle/settings.xml b/Presets/Circle/settings.xml index 69253ab..98b0473 100644 --- a/Presets/Circle/settings.xml +++ b/Presets/Circle/settings.xml @@ -1,5 +1,5 @@ "nvg://advp.widget.mashiros.top/advp-style-preset/circle" - {"Main Color":"#ff4500","Line Position":0,"Line Width":1,"Max Range":50,"Data Length":0,"Channel":2,"Reverse":false,"Rotate":false,"Ratate Speed":10,"Angle":0,"Data Settings":{"Auto Normalizing":true,"Amplitude":10,"Unit Style":0}} + {"Gradient Style":0,"Radial Gradient Settings":{"Inside Position Color":"#f44336","Middle Position Color":"#4caf50","Outside Position Color":"#03a9f4","Inside Position":40,"Middle Position":60,"Outside Position":80},"Conical Gradient Settings":{"Start Position Color":"#f44336","Quarter Position Color":"#4caf50","Middle Position Color":"#03a9f4","End Position Color":"#ffeb3b"},"Main Color":"#ff4500","Line Position":0,"Line Width":1,"Max Range":80,"Data Length":0,"Channel":2,"Reverse":false,"Rotate":false,"Ratate Speed":10,"Angle":0,"Data Settings":{"Auto Normalizing":true,"Amplitude":10,"Unit Style":0}} \ No newline at end of file diff --git a/Presets/Gradient_Line/preset.json b/Presets/Gradient_Line/preset.json deleted file mode 100644 index 8d2612c..0000000 --- a/Presets/Gradient_Line/preset.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "source": "nvg://advp.widget.mashiros.top/widget", - "settings": "settings.xml" -} \ No newline at end of file diff --git a/Presets/Gradient_Line/preview.png b/Presets/Gradient_Line/preview.png deleted file mode 100644 index 46191eb654ca7e0152d7de956337baf966545333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5383 zcmc(jXH-+myN5R*9T5}+RLTJbRI2n28hVu=NJkJtCxV0?niNHXfOJAAQi9T(5Q<6% zA<}#AQUZh?z?*aL`Ec%C_xpd=`purTX7---ydU1{yoj}JgxNpcbz40LReKuN* z-SEDBLA6Mofn#s(vjK9GF)L%4@@9cA4MJL;sEZ}uw3L_ol4A8zX}GmJ^mX;e^;q2M zikyDdbOr$W&$VF#|5_9$POFy9eN4s3BYldTA<5RIb_aG9T7QX>{1^ z;>$4kJ^dLT&l|02H~CwH7+SXkUvNf%URIOOw2SZ`@oVEXruDSW4;ieQ__3zsh zS{_~-NC>B3&1LJ`s-=`RtZ1=NKiPXD)DAc;OxW>}+S!keuFlq^9f;p=Ejyvj+|>>! z?}_+*s!`pXYg6!kc$0IWI9%@_;Y8-DM3`9;jk-zPn^vzH zrKi!lEpC3!iLd;B7ylr%>%~cFD-UgnW-7S4R6lFEID1w_Q@7bXe5-k9b+n<6{kYxy zu=!+KpKmy39RH_RpcXmMev=(AQ!AyeqYLg&#VM{0RvKCOU?L+z7Pel%KY8c3K{1Hp z@pKYGQsgZ`Os^G5-)P~S|72Iq({E|NrQJTwfsYG&P8NG3agx)eJP=J!3+u`y<)I+o z8S#bl=e~Xi6)`CRzcnplLtRW%DRcYpJ6Xq;7$?R3XiFD`cc1!h6$ky{OxCWU44B*;^MZA&$8`d`4k7I>-zcyuN6!$H2nX@O1M*2 zgxszRa8vUCyxkgeOE$C01X+^W$Du}`vpaayni_6vQMb}@Y$DJ8xNn0~-CaoL_zV$W z_C}wrc?JNU_M|q$O`VmG?Gg9C8U;;g$Tzy)<;c=?TU5Vu`FpP9^djx+9ICXzGS6if zD&%pV;Q8I9EW|B^?qqo7;S%s+(q^6K_IsItnB)w*(za2@&&`Kt&nSTD{r0L{DNAdA zy|nZxbZbT|xDt=WaZFrS^7gGF0ci4D?99V!x$~H_!p{-$p$Xf70C{ynN-?U@Eoh#_fvOwXm#YQGE9#YdF2<3CWycd`pq8W45%M~gm0nivgdhxW zLxKIlyUC|u!(0Aw6)yk)G*noobg$-_(#ouPC%(7UJT`#yXp3$Ahf?^Ytw1uzdK~_+|I)#3j8H{bT5SHB2#Z&exsZe*-Z?&Z4-{J&0$% z&M$k+)MpjHcS;9H!`Hj>ViMI4+PitqUOkx;UiaAh755`13eHrz%DOrgh{((f!KYlT zu@^?6`Y8_e<@B+CA}%$tY$KT&j=;C?(3sMRh~O1Iu%UE{ns8F|o6uQ7>-tv;4jl{t#9_|m=X)w-NoMhP7Y zO@{%L*RL4pqVu>sOIj9R;ACIo3*P@_|8^x;Ma@afsoS_H^GjowHhXlkRq!V zC4vIw#2hlf-z`Sy0ipIMPoT0mvR~1uxJdW@Is@d*Udd-;wZseudhe2Vj8cq!sK0St zqJp2NnkdTApzvo(u#>`pKm&+y`=5*j6kFM?vvz4fK#OC959|EoDE;p(Q@VPpTpM; zS7|Js=9ek$5(YMp<%Y_&&{o#4TPtNzS#k~hr;YSLOr%v8Hdgr7nRoYvZo$Qiq#L!u zwYBTQC6{~`AV z<{~n{^A9Cgu&Aazjmc zOBU4hx>Kgr-=wl(+4S(lY+S4ygTD#|2fv7fiQOT9`XXwwpJO&UMYhNJY9D$k>03+X z@BHwN=(Gy7+}TSz^JT`B?T*_|E!fnDQ+YH^`ZS5NAj4w?{h26 zTKOF**mEml5S(%XWt<8EeDY8YJ>U5c0uw6!_DC91ktcNs z+HBigqc3a8QRFn#RNO4n2jxKYskj_;Aodz9aNrKt_~?0tIf;w{&EJ_*Z!Xsdl7PGW z6`M!Y*#gl@yL*>Gq(F-5F^y|sORrLk$wyDb;XAAXf5=^cxqd&LQWbbeCb*lX8*l|E zz5L0+XdXtIiXt3vJk{a`t`F$PQeUCYXV{pN=6w+G#d=)i0RU~~Q&+V&0%%5KQ({*+ z6ElQ^l({sN|El!9AnUh7SI?&?)tUqIh`61b!Mry@zMZXU!yr@Wwib)P79jdQ7Ywot zU#l>pg6H|90N>`LU~fMKkpQDJEIZd3L4al;A&dZ`wgqhGOaoB-PYWt*<`G#q**Hx# zQkWUBFi7MabH%+Pz{`Z7N5Vj6{Vr6BJHi z0df?`PQ$+{%Xoxn${!_Azii_KY!s&VBnI021Uls?uH@P>wEaZLU7?|V8oh-(c?Xn> ztIQ7|N=N}pS$D>lQwpQ668ZDF4K(CuD^!_`9+Sj}BduR&k);bmi}3y=A+1PJMsxC{ z=+iRf7|pyquRaWJ%yjoJ<>dfm#ue^@ao8>aX+jO$**O2mKSlr8<}%yMt`@0vUXD-X z{_rO3o&1P58W2fJn2*DZ(gNq7HtiDj>`6nO{~7gutIWVy)HYfKE7Z0kuVv{e{tSp;H&SY~@O0eY44GRHXVhG4wkgXO&Kn20=bZkX?#)J9Z z^~Cq=C#W4MB1kjgZbdsismPyk_7ATqLSL(qU)BYnqcublH7PHLFVs%K$8YxwcUqGE zZ2E;aPFI1fc4Sok&gC@T|I`b+x4)J()@|*NNNhQ1G`8CCi)|dNdOoO7mi!u9k+36U z{79kfdazp>edbq!!4+V(9RGnln-iF=#(&tDjvwM@(}4^oSG@=AID~33xo&dbW0gOK z4P5~=;+IlGsRZ)HX#vHP{3wF9n+q8>4C2aAzf+gvlcs9&vijWRk8VD16;1@M95iv$^g_UP5ownKA2zS&hRWSTiF|8Uwu_5&Yb_v$si9(U02meInd z*Q4M`j_T2-mSssVEi}X{Mz|!vWdI(`DO;c3m|jCXH-w1gmPUs;Xddy1-afK{tMan@ zrQBGQKHTZ#PTIl!#2m4>-kx?a3lVd+UJ}5*^HlrBtYvO+*`QbsGO#59#8VTDjcfWO zrfLV%gRN#)OmpzO*AS%Sn`0#vJvi00{Lx9RtB)T6A#<-$vh{IcmsY>wkleuFLkSem z+Pfw@0*P2%ChgKjuLRiauJn|M@r@y2Zf6Fd!2`)^k6nIZ&T$=xb`=%OhJN}mfY`8} zQ!+MnV?&`4-Aw@o$!>%PF6z3Pu5`_dSjEDRZo1Zg!haR&zMONr%nr(n;KsJxCwM8^ zr7m{n#4R6-CI;iqvUScN-EO_t`@)J{dvFonDzwVoBvT$waA}qbLU@ogws0OfA+yZp zM9@Z74Z<^={*t@6-cT~#Tnv6CLN+e#G^HPOq=NXt@|Ew2Nk;t&&fC2w>Z8q~7}C~t zoDc+qffTyI$W859vfZsVYE(p)lQkqq=XtVS#Aqu2ja{raIjve#U-9==Q`34psY{K+ z)HFqDhGdWfc58>u*>?`tSou;}apbhSt*xbPpFpcVthCYai3>n&yuVv8XDmp5V4ef3 zicG#}p(!cNv9xnphr;!3ZDrr|#JJtb80m^k?*&_K(q>)5R+rVSer}lzV=LlKt*MrL z4*%To>(|1x#oedc4{sNbGevp#Jqysv8ptKNxVYW<)9mc7&q?)r>N|D~mg*AlfeF*G z`(If`n>vdj!FaUOkJI;Up^;fpmccX4ffp$qN5=9BuSP}!ZVY)~&VKKEP0%@bfDI}% z|FB*Od9rq9*gRK{+^*KmCjC0INB3U_2e|K%LR$~Q{?HfO6 z)BTh0-cM>>ys6|?K0y3!Mz)h$0C`do5;aja< z-8z1w^C~+i=B+J{LLcYyF!>7cI_}i<>9ZvHU~n*jeyH6O04OItN~E_k?xiLnD_&-m z3Rq~c_8TQlovHN(mc0#t)!=lNlh+=m4uz1X&9vX_+gZ!;=1qsvf1M>R`=}pYZ+}5X zUAGBM)L5`+nrQAT4!&2-Aeu?dX3qRm%)?Y^@4FQREO-KC&yN?h^Lix#Y1(%AqoxE9 zuhUKI6tER*c#_&=n80Fm#)A%M!8B#4Sc6-T>ZZ1y&ouMw%&+eU2AyNHmmz7$sq0C# zO2hCBiIhVF{1VoPF^MP-JjvAiL0-z@5>zLGb(`6%-=VzeWDW%Of+-0DuZ3!g5xo&y z&y(DU$ORnc55q|SX~!4bt98IGT_#UdiO%|?B9NiTlM{! z)&-G7ck(ZVM4POy{}o05ZK?jpLg^dSRvICL_1<;$ z`aWRy`=P)xtP{$Mo!B`aB%a_p soUZ;$Ny+P0N%U^tivG{FuG^QKGEyv`oVi}WiDnbfRMi8OKDG(_FBD;WJOBUy diff --git a/Presets/Gradient_Line/settings.xml b/Presets/Gradient_Line/settings.xml deleted file mode 100644 index a14c747..0000000 --- a/Presets/Gradient_Line/settings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - "nvg://advp.widget.mashiros.top/advp-style-preset/gradient_line" - {"Gradient Direction":0,"Start Position Color":"#f44336","Middle Position Color":"#4caf50","End Position Color":"#03a9f4","Center Line":true,"Line Position":0,"Data Length":0,"Channel":2,"Rotate Settings":{"Center Enable":false,"Center Angle":10,"Line Enable":false,"Line Angle":10},"Data Settings":{"Auto Normalizing":true,"Amplitude":10,"Unit Style":0}} - \ No newline at end of file diff --git a/Presets/Line/settings.xml b/Presets/Line/settings.xml index 9b4df8e..cfe4c52 100644 --- a/Presets/Line/settings.xml +++ b/Presets/Line/settings.xml @@ -1,5 +1,5 @@ - {"Center Line":true,"Center Color":"#ff4500","Line Color":"#ff4500","Line Position":0,"Data Length":0,"Channel":2,"Rotate Settings":{"Center Enable":false,"Center Angle":10,"Line Enable":false,"Line Angle":10},"Data Settings":{"Auto Normalizing":true,"Amplitude":10,"Unit Style":0}} + {"Enable Gradient":false,"Gradient Direction":0,"Start Position Color":"#f44336","Middle Position Color":"#4caf50","End Position Color":"#03a9f4","Center Line":true,"Center Color":"#ff4500","Center Width":20,"Line Color":"#ff4500","Line Position":0,"Data Length":0,"Channel":2,"Direction":0,"Rotate Settings":{"Center Enable":false,"Center Angle":10,"Line Enable":false,"Line Angle":10,"X Scale":100,"Y Scale":100,"X Offset":0,"Y Offset":0},"Data Settings":{"Auto Normalizing":true,"Amplitude":10,"Unit Style":0}} "nvg://advp.widget.mashiros.top/advp-style-preset/line" \ No newline at end of file diff --git a/Presets/Solidcircle/preview.png b/Presets/Solidcircle/preview.png index e13d40cc61666c595829f18aef129ade344f6649..b2157d9a282a2ea330393853a8290ced518262dd 100644 GIT binary patch literal 5629 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 Mk@3UNIu0@a2a&`3{{R30 literal 6788 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 g-%B+x>pQa6PjOMMVFwSeWhESSu#QT#veo "nvg://advp.widget.mashiros.top/advp-style-preset/solidcircle" - {"Main Color":"#ff4500","Line Position":0,"Line Width":1,"Max Range":50,"Data Length":0,"Channel":2,"Reverse":false,"Rotate":false,"Ratate Speed":10,"Angle":0,"Data Settings":{"Auto Normalizing":true,"Amplitude":10,"Unit Style":0}} + {"Gradient Style":0,"Radial Gradient Settings":{"Inside Position Color":"#f44336","Middle Position Color":"#4caf50","Outside Position Color":"#03a9f4","Inside Position":40,"Middle Position":60,"Outside Position":80},"Conical Gradient Settings":{"Start Position Color":"#f44336","Quarter Position Color":"#4caf50","Middle Position Color":"#03a9f4","End Position Color":"#ffeb3b"},"Main Color":"#ff4500","Line Position":0,"Line Width":1,"Max Range":80,"Data Length":0,"Channel":2,"Reverse":false,"Rotate":false,"Ratate Speed":10,"Angle":0,"Data Settings":{"Auto Normalizing":true,"Amplitude":10,"Unit Style":0}} \ No newline at end of file diff --git a/Presets/Waves/settings.xml b/Presets/Waves/settings.xml index c2bc705..f519fd9 100644 --- a/Presets/Waves/settings.xml +++ b/Presets/Waves/settings.xml @@ -1,5 +1,5 @@ "nvg://advp.widget.mashiros.top/advp-style-preset/waves" - {"Line Width":1,"Line Color":"#ff4500","Data Length":0,"Data Settings":{"Auto Normalizing":true,"Amplitude":10,"Unit Style":0}} + {"Enable Gradient":false,"Gradient Direction":0,"Start Position Color":"#f44336","Middle Position Color":"#4caf50","End Position Color":"#03a9f4","Direction":0,"Line Color":"#ff4500","Line Width":1,"Data Length":0,"Rotate Settings":{"Center Enable":false,"Center Angle":10,"Line Enable":false,"Line Angle":10,"X Scale":100,"Y Scale":100,"X Offset":0,"Y Offset":0},"Data Settings":{"Auto Normalizing":true,"Amplitude":10,"Unit Style":0}} \ No newline at end of file diff --git a/package.json b/package.json index 68a3b65..09ea770 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ -{ +{ "name": "top.mashiros.widget.advp", - "version": "1.3.0", + "version": "1.4.0", "title": { "en": "ADV Plugin", @@ -62,17 +62,6 @@ "entry": "./styles/Preset_line/Style.qml" }, { - "location": "/advp-style-preset/gradient_line", - "catalog": "top.mashiros.advp-style", - "title": { - "en": "Gradient Line", - "zh": "渐变线", - "zh_TW": "漸變線", - "ja": "グラデーションライン" - }, - "entry": "./styles/Preset_gradient_line/Style.qml" - }, - { "location": "/advp-style-preset/waves", "catalog": "top.mashiros.advp-style", "title": { @@ -187,6 +176,17 @@ }, "preview": "Presets/Ordinal_Scale_UI_bottom/preview.png", "entry": "Presets/Ordinal_Scale_UI_bottom/preset.json" + }, + { + "location": "/advp-style-preset/gradient_line", + "catalog": "top.mashiros.advp-style-temp", + "title": { + "en": "Gradient Line", + "zh": "渐变线", + "zh_TW": "漸變線", + "ja": "グラデーションライン" + }, + "entry": "./styles/Preset_line/Style.qml" } ] } diff --git a/qml/Common.qml b/qml/Common.qml index 326c519..09fab2c 100644 --- a/qml/Common.qml +++ b/qml/Common.qml @@ -128,6 +128,8 @@ Item { for (let prop in sourceObj) { if (sourceObj.hasOwnProperty(prop) && sourceObj[prop] !== undefined) { if (typeof sourceObj[prop] === 'object') { + if (targetObj[prop] === undefined) + targetObj[prop] = {}; Object.assign(targetObj[prop], sourceObj[prop]); } else { targetObj[prop] = sourceObj[prop]; diff --git a/qml/Main.qml b/qml/Main.qml index a55db76..810edaa 100644 --- a/qml/Main.qml +++ b/qml/Main.qml @@ -37,12 +37,6 @@ T.Widget { preference = item.preference; defaultValues = item.defaultValues; style = item.style; - if (!widget.settings[widget.settings.current_style]) { - widget.settings[widget.settings.current_style] = defaultValues; - }else if(widget.settings[widget.settings.current_style]["Version"] !== defaultValues["Version"]) { - delete widget.settings[widget.settings.current_style]["Version"]; - widget.settings[widget.settings.current_style] = Common.updateObject(Common.deepClone(defaultValues), widget.settings[widget.settings.current_style]); - } } } @@ -72,7 +66,7 @@ T.Widget { Component.onCompleted: { Common.widgetsNum++; - if ((!widget.settings.current_style) || (Common.stylesURL.indexOf(widget.settings.current_style) === -1)) { + if (!widget.settings.current_style) { widget.settings.current_style = Common.stylesURL[0]; } } diff --git a/qml/api/AdvpCanvasTemplate.qml b/qml/api/AdvpCanvasTemplate.qml index fc70e12..3be503f 100644 --- a/qml/api/AdvpCanvasTemplate.qml +++ b/qml/api/AdvpCanvasTemplate.qml @@ -11,8 +11,20 @@ Canvas { signal audioDataUpdeted(var data) signal configsUpdated() + signal completed() + signal versionUpdated(string old) + readonly property var configs: widget.settings[widget.settings.current_style] ?? defaultValues + function updateObject(target, source) { + return Common.updateObject(Common.deepClone(target), Common.deepClone(source)); + } + + onVersionUpdated: { + delete widget.settings[widget.settings.current_style]["Version"]; + widget.settings[widget.settings.current_style] = updateObject(defaultValues, widget.settings[widget.settings.current_style]); + } + onConfigsChanged: { if (context) { configsUpdated(); @@ -30,4 +42,13 @@ Canvas { target: Common onAudioDataUpdated: audioDataUpdeted(audioData) } + + Component.onCompleted: { + if (!widget.settings[widget.settings.current_style]) { + widget.settings[widget.settings.current_style] = defaultValues; + }else if(widget.settings[widget.settings.current_style]["Version"] !== defaultValues["Version"]) { + versionUpdated(widget.settings[widget.settings.current_style]["Version"]); + } + completed(); + } } diff --git a/readme.md b/readme.md index 1174479..1c05330 100644 --- a/readme.md +++ b/readme.md @@ -12,7 +12,7 @@ ## 特色 * 整合客户端与服务器端的功能,使用更简单 -* 预设6种频谱显示形式,其中每种都可以进一步自定义设置其样式 +* 预设5种频谱显示形式,其中每种都可以进一步自定义设置其样式 * 提供了Style的开发接口,供开发者添加更多的可视化样式 * 导入第三方Style类似其他插件,预计支持steam创意工坊下载 * 服务端崩溃后自启动 @@ -21,7 +21,7 @@ 安装并启用插件后,默认加载第一种预设Style样式。右键点击挂件可调出菜单,在挂件菜单中点击“样式设置...”选项,呼出样式设置窗口。点击其中的样式选项可切换不同的样式风格,若此样式提供可配置项,则在样式选项下方会出现配置项。 -
+
## 服务器设置 diff --git a/styles/Preset_Ordinal_Scale_UI_bottom/Style.qml b/styles/Preset_Ordinal_Scale_UI_bottom/Style.qml index 3e5a9e3..6ace99c 100644 --- a/styles/Preset_Ordinal_Scale_UI_bottom/Style.qml +++ b/styles/Preset_Ordinal_Scale_UI_bottom/Style.qml @@ -110,7 +110,7 @@ AdvpStyleTemplate { requestPaint(); } - Component.onCompleted: { + onCompleted: { for (let i = 0; i < 128; i++) { audioData[i] = 0; } diff --git a/styles/Preset_circle/Style.qml b/styles/Preset_circle/Style.qml index 00ee6e1..fb54291 100644 --- a/styles/Preset_circle/Style.qml +++ b/styles/Preset_circle/Style.qml @@ -1,115 +1,185 @@ import QtQuick 2.12 +import QtGraphicalEffects 1.12 import NERvGear.Preferences 1.0 as P import "../../qml/api" AdvpStyleTemplate { - style: AdvpCanvasTemplate { - readonly property var audioData: new Array(128) - - //configs - readonly property int linePosition: configs["Line Position"] - readonly property real maxRange: configs["Max Range"] / 100 - readonly property int uDataLen: Math.pow(2, configs["Data Length"]) - readonly property int dataLength: 64/uDataLen - readonly property int channel: configs["Channel"] - readonly property bool reverse: configs["Reverse"] - readonly property bool rotateFlag: configs["Rotate"] - readonly property real rSpeed: configs["Ratate Speed"] / 100 - readonly property real angle: configs["Angle"] - readonly property bool autoNormalizing: configs["Data Settings"]["Auto Normalizing"] - readonly property real amplitude: 400/configs["Data Settings"]["Amplitude"] - readonly property int unitStyle: configs["Data Settings"]["Unit Style"] - - readonly property int total: channel*dataLength - - readonly property real dotGap: 360/total - property real offsetAngle: 0 - property var outerPos: [] - property var innerPos: [] - readonly property real degUnit: Math.PI/180 - - readonly property real subRatio: 0.2*maxRange - readonly property real mainRatio: 1-subRatio*2.5 - - readonly property real minLength: Math.min(width, height) - readonly property real ratio:minLength*subRatio - readonly property real halfWidth: width/2 - readonly property real halfHeight: height/2 - readonly property real halfMinLength: minLength/2 - - - onConfigsUpdated: { - context.lineWidth = configs["Line Width"]; - context.strokeStyle = configs["Main Color"]; + style: Rectangle { + id: main + width: widget.width; + height: widget.height; + + property int gradientStyle + + RadialGradient { + id: radialGradient + anchors.fill: parent + visible: gradientStyle===1 + horizontalRadius: Math.min(width, height)/2 + verticalRadius: horizontalRadius + gradient: Gradient { + GradientStop {id: radialGradient_pstart} + GradientStop {id: radialGradient_pmiddle} + GradientStop {id: radialGradient_pend} + } } - function createPoint() { - outerPos.length = 0; - innerPos.length = 0; - let deg, deltaR, r1, r2, _rhmLen; - _rhmLen = mainRatio*halfMinLength; - - for (let j=0; j < channel; j++) { - for (let i=0; i < dataLength; i++) { - deg = degUnit*((i+j*dataLength)*dotGap + offsetAngle); - deltaR = audioData[reverse*(dataLength-i-1)+(!reverse)*(i+j*dataLength)] * ratio; - r1 = _rhmLen+1+deltaR*(linePosition!==2); - r2 = _rhmLen-1-deltaR*(linePosition!==1); - outerPos.push([halfWidth+Math.cos(deg)*r1,halfHeight+Math.sin(deg)*r1]); - innerPos.push([halfWidth+Math.cos(deg)*r2,halfHeight+Math.sin(deg)*r2]); - } + ConicalGradient { + id: conicalGradient + anchors.fill: parent + visible: gradientStyle===2 + angle: -90; + gradient: Gradient { + GradientStop{id: conicalGradient_pstart; position: 0.0} + GradientStop{id: conicalGradient_pquarter; position: 0.25} + GradientStop {id: conicalGradient_phalf; position: 0.5} + GradientStop {id: conicalGradient_p3quarter; position: 0.75} + GradientStop{id: conicalGradient_pend; position: 1.0} } - offsetAngle = rotateFlag ? ((offsetAngle + rSpeed) % 360) : angle; } - onAudioDataUpdeted: { - let normalizing_ratio = autoNormalizing ? data[128] : amplitude; - if (unitStyle) { - //对数化显示 - for(let i=0; i{}) + centerLineFlag = configs["Center Line"]; + center_color = configs["Center Color"]; + center_width = configs["Center Width"]/10; + linePosition = configs["Line Position"]; + vertical_flag = configs["Direction"]; + gradientEnable = configs["Enable Gradient"]; + context.lineWidth = configs["Line Width"]; + main.color = configs["Line Color"]; + _y_dy = configs["Rotate Settings"]["Center Enable"]*Math.tan(configs["Rotate Settings"]["Center Angle"]*Math.PI/180)*(vertical_flag ? height/2 : width/2); + if (gradientEnable) { + gradient_mask.start = Qt.point(0, height*(configs["Gradient Direction"]===2)); + gradient_mask.end = Qt.point(width*(configs["Gradient Direction"]!==1), height*(configs["Gradient Direction"]%2)); + p_start.color = configs["Start Position Color"]; + p_middle.color = configs["Middle Position Color"]; + p_end.color = configs["End Position Color"]; + } + centerLine.requestPaint(); } - if (centerLineFlag) { - context.fillStyle = center_color; - context.fillRect(0, halfHeight-_y_dy, width, 2); + + onAudioDataUpdeted: { + let normalizing_ratio = autoNormalizing ? data[128] : amplitude; + if (unitStyle) { + //对数化显示 + for(let i=l_start; i{}) - context.lineWidth = configs["Line Width"]; - context.strokeStyle = configs["Line Color"]; - } + readonly property int uDataLen: Math.pow(2, configs["Data Length"]); + readonly property int dataLength: 64/uDataLen + readonly property int unitStyle: configs["Data Settings"]["Unit Style"] - onAudioDataUpdeted: { - let normalizing_ratio = autoNormalizing ? data[128]*2 : amplitude; - if (unitStyle) { - //对数化显示 - for(let i=0; i{}) + gradientEnable = configs["Enable Gradient"]; + context.lineWidth = configs["Line Width"]; + main.color = configs["Line Color"]; + if (gradientEnable) { + gradient_mask.start = Qt.point(0, height*(configs["Gradient Direction"]===2)); + gradient_mask.end = Qt.point(width*(configs["Gradient Direction"]!==1), height*(configs["Gradient Direction"]%2)); + p_start.color = configs["Start Position Color"]; + p_middle.color = configs["Middle Position Color"]; + p_end.color = configs["End Position Color"]; } - audioData[i] /= (uDataLen * normalizing_ratio); } - for(let i=dataLength; i