New Feature: Song list!
Also build fix, and lots of other fixes.
|
@ -0,0 +1,287 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Creator: CorelDRAW X5 -->
|
||||
|
||||
<svg
|
||||
xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
style="clip-rule:evenodd;fill-rule:evenodd;image-rendering:optimizeQuality;shape-rendering:geometricPrecision;text-rendering:geometricPrecision"
|
||||
xml:space="preserve"
|
||||
viewBox="0 0 4000 4000"
|
||||
version="1.1"
|
||||
id="svg837"
|
||||
sodipodi:docname="duetnoteslyrics.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
||||
width="4000"
|
||||
height="4000"><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1377"
|
||||
id="namedview839"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.096743465"
|
||||
inkscape:cx="-5533.2293"
|
||||
inkscape:cy="5250.1841"
|
||||
inkscape:window-x="2552"
|
||||
inkscape:window-y="1072"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg837"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<defs
|
||||
id="defs830">
|
||||
<style
|
||||
type="text/css"
|
||||
id="style828">
|
||||
.fil0 {fill:black}
|
||||
</style>
|
||||
</defs>
|
||||
<g
|
||||
id="Layer_x0020_1"
|
||||
transform="translate(383.07114,136.99379)">
|
||||
<path
|
||||
class="fil0"
|
||||
d="M 1714,2044 C 1714,1454 1330,976 857,976 384,976 0,1454 0,2044 c 0,92 384,167 857,167 473,0 857,-75 857,-167 z M 857,0 c 258,0 467,209 467,467 0,258 -209,467 -467,467 C 599,934 390,725 390,467 390,209 599,0 857,0 Z"
|
||||
id="path832"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000" />
|
||||
</g>
|
||||
<metadata
|
||||
id="metadata835"><rdf:RDF><cc:Work><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><cc:license
|
||||
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" /><dc:publisher><cc:Agent
|
||||
rdf:about="http://openclipart.org/"><dc:title>Openclipart</dc:title></cc:Agent></dc:publisher><dc:title></dc:title></cc:Work><cc:License
|
||||
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/"><cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF></metadata><g
|
||||
transform="matrix(10.176514,0,0,10.176514,-2647.2254,1460.5477)"
|
||||
inkscape:label="Layer 1"
|
||||
id="layer1"><g
|
||||
id="g3941"><g
|
||||
id="g3675"><path
|
||||
d="m 291.68135,174.49459 c 31.703,-22.41099 64.34217,-65.17177 96.89565,-52.84759 14.74318,5.58151 5.33002,37.08446 20,42.857 19.34757,7.61314 47.39366,-2.33559 72.22462,-15.44699"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px"
|
||||
sodipodi:nodetypes="cssc"
|
||||
id="path2816"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="m 291.78301,184.15651 c 31.67476,-22.42629 63.91307,-64.6155 96.43699,-52.30251 14.74318,5.58151 5.33002,37.08446 20,42.857 19.70452,7.7536 48.43146,-2.70865 73.59558,-16.1758"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px"
|
||||
sodipodi:nodetypes="cssc"
|
||||
id="path2816-9"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="m 291.71813,194.70229 c 32.01462,-22.22966 64.33613,-65.29299 97.21587,-52.84529 14.74318,5.58151 5.33002,37.08446 20,42.857 19.7367,7.76626 48.52532,-2.74288 73.71885,-16.24181"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px"
|
||||
sodipodi:nodetypes="cssc"
|
||||
id="path2816-7"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="m 291.0798,206.78971 c 31.98988,-22.2449 64.28637,-65.2306 97.1402,-52.79271 14.74318,5.58151 5.33002,37.08446 20,42.857 20.18416,7.94234 49.83536,-3.22879 75.42671,-17.16438"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px"
|
||||
sodipodi:nodetypes="cssc"
|
||||
id="path2816-5"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="m 291.14,217.19 c 31.53799,-22.49773 63.98524,-64.02179 96.366,-51.763 14.74318,5.58151 5.33002,37.08446 20,42.857 20.60023,8.10606 51.04942,-3.94792 76.9916,-18.28"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px"
|
||||
sodipodi:nodetypes="cssc"
|
||||
id="path2816-54"
|
||||
inkscape:connector-curvature="0" /></g><g
|
||||
transform="matrix(0.96741,-0.25321,0.25321,0.96741,-19.363,15.795)"
|
||||
id="g3733"><ellipse
|
||||
transform="matrix(0.80217,0.27436,0.24665,-0.89229,191.08,342.3)"
|
||||
style="color:#000000;fill:#000000"
|
||||
id="path2874-4"
|
||||
cx="150.35715"
|
||||
cy="197.36218"
|
||||
rx="8.9285717"
|
||||
ry="5.7142859" /><path
|
||||
d="m 354.12,204.69 -14.028,41.671 c 17.229,-6.2125 14.629,-7.4468 14.543,-18.641 7.7854,15.797 -1.695,16.744 -14.702,18.775"
|
||||
style="fill:#000000;stroke:#000000;stroke-width:1.39999998;stroke-linecap:round;stroke-linejoin:round"
|
||||
sodipodi:nodetypes="cccc"
|
||||
id="path3684-88"
|
||||
inkscape:connector-curvature="0" /></g><g
|
||||
transform="translate(195.16,-91.314)"
|
||||
id="g3823"><ellipse
|
||||
transform="matrix(0.78619,0,0,0.83335,127.4,129.94)"
|
||||
style="color:#000000;fill:#000000"
|
||||
id="path2874-8"
|
||||
cx="150.35715"
|
||||
cy="197.36218"
|
||||
rx="8.9285717"
|
||||
ry="5.7142859" /><ellipse
|
||||
transform="matrix(0.78619,0,0,0.83335,147.61,122.89)"
|
||||
style="color:#000000;fill:#000000"
|
||||
id="path2874-8-2"
|
||||
cx="150.35715"
|
||||
cy="197.36218"
|
||||
rx="8.9285717"
|
||||
ry="5.7142859" /><path
|
||||
d="m 251.77,294.21 -2.1351,-35.293 20.827,-5.2223 -20.212,6.5279 19.619,-5.0358 2.1233,31.715"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.70000005"
|
||||
sodipodi:nodetypes="cccccc"
|
||||
id="path3800"
|
||||
inkscape:connector-curvature="0" /></g><g
|
||||
transform="matrix(-0.84355,0,0,-0.88405,541.16,423.06)"
|
||||
id="g3823-1"><ellipse
|
||||
transform="matrix(0.78619,0,0,0.83335,127.4,129.94)"
|
||||
style="color:#000000;fill:#000000"
|
||||
id="path2874-8-1"
|
||||
cx="150.35715"
|
||||
cy="197.36218"
|
||||
rx="8.9285717"
|
||||
ry="5.7142859" /><ellipse
|
||||
transform="matrix(0.78619,0,0,0.83335,147.61,122.89)"
|
||||
style="color:#000000;fill:#000000"
|
||||
id="path2874-8-2-0"
|
||||
cx="150.35715"
|
||||
cy="197.36218"
|
||||
rx="8.9285717"
|
||||
ry="5.7142859" /><path
|
||||
d="m 251.62,294.51 -1.9852,-35.593 20.675,-5.2223 -20.059,6.5279 19.619,-5.0358 2.2498,32.151"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.96860003"
|
||||
sodipodi:nodetypes="cccccc"
|
||||
id="path3800-3"
|
||||
inkscape:connector-curvature="0" /></g><path
|
||||
d="M 291.10277,217.59952 291.8709,174.067"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px"
|
||||
id="path3881"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" /><path
|
||||
d="m 481.00968,148.65141 3.48792,41.67857"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px"
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path3917"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="m 345.57,136.85 c 4.9886,4.568 4.0714,9.4869 4.4538,10.103 l 7.8975,3.895 c -11.357,-2.5808 -8.029,9.8877 1.3513,12.421 -9.5726,-10.73 -5.6408,-8.0368 0.86038,-12.08 -6.5385,-5.5984 -2.3748,-9.3138 -4.4455,-10.429 l -10.118,-3.9094 h 5e-5 z"
|
||||
style="fill:#000000"
|
||||
sodipodi:nodetypes="cccccccc"
|
||||
id="path3931"
|
||||
inkscape:connector-curvature="0" /><g
|
||||
transform="translate(54.61,-59.086)"
|
||||
id="g3937"><path
|
||||
d="m 367.64,233.4 c -4.9555,2.4597 -7.9704,-2.1826 -9.3032,-2.8985 -1.294,-0.69507 -3.2452,1.4315 -3.3192,2.8985 -0.0667,1.3213 0.98646,3.2708 2.431,3.366 6.3801,-0.69042 10.35,-2.6032 17.204,-8.789 l -17.484,38.054"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px"
|
||||
sodipodi:nodetypes="cssccc"
|
||||
id="path3933"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="m 356.9,236.17 c -0.73798,-0.4419 -1.3609,-1.4449 -1.4732,-2.3721 -0.16636,-1.3734 1.5082,-3.3844 2.5887,-3.1088 0.12842,0.0327 0.74267,0.49725 1.365,1.0322 1.9995,1.7188 3.2228,2.4456 4.6869,2.7848 l 0.80015,0.18539 -0.92276,0.3236 c -1.3319,0.46708 -3.1146,0.90153 -4.6608,1.1358 -1.6636,0.25211 -1.9904,0.25473 -2.384,0.019 z"
|
||||
style="color:#000000;fill:#000000"
|
||||
id="path3935"
|
||||
inkscape:connector-curvature="0" /></g></g></g><g
|
||||
id="g1016"
|
||||
transform="translate(83.309279,33.627631)"><switch
|
||||
transform="matrix(9.1058381,0,0,9.1058381,1994.57,2186.6803)"
|
||||
id="switch953">
|
||||
<foreignObject
|
||||
y="0"
|
||||
x="0"
|
||||
height="1"
|
||||
width="1"
|
||||
requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
|
||||
|
||||
</foreignObject>
|
||||
<g
|
||||
i:extraneous="self"
|
||||
id="g951">
|
||||
<g
|
||||
style="clip-rule:evenodd;fill-rule:evenodd"
|
||||
id="g949">
|
||||
<path
|
||||
style="fill:#ffffff"
|
||||
inkscape:connector-curvature="0"
|
||||
d="M 166.38,132.42 56.85,148.6 H 56.7 v 0.2 C 49.067,159 45.266,170.617 45.3,183.651 v 0.3 c 0.034,1.6 0.067,3.233 0.1,4.899 C 39.9,148.25 34.417,107.651 28.95,67.05 27.717,51.783 31.483,38.367 40.25,26.8 v 0.05 l 114.05,-16.8 17.3,121.65 -4.199,0.55 c -0.014,-0.068 -0.047,-0.135 -0.101,-0.2 -0.091,-0.112 -0.208,-0.179 -0.35,-0.2 -0.13,-0.018 -0.247,0.016 -0.351,0.101 -0.112,0.091 -0.179,0.208 -0.199,0.35 0,0.04 -0.01,0.08 -0.02,0.12 z M 40.25,26.85 56.7,148.6 Z"
|
||||
id="path927" />
|
||||
<linearGradient
|
||||
id="SVGID_1_"
|
||||
y2="139.28"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="-603.57001"
|
||||
gradientTransform="matrix(-0.1058,-0.9944,0.9919,-0.1289,-100.9,-468.66)"
|
||||
y1="139.28"
|
||||
x1="-663.60999">
|
||||
<stop
|
||||
style="stop-color:#FFFFFF"
|
||||
offset="0"
|
||||
id="stop929" />
|
||||
<stop
|
||||
style="stop-color:#000000"
|
||||
offset="1"
|
||||
id="stop931" />
|
||||
</linearGradient>
|
||||
<path
|
||||
style="fill:url(#SVGID_1_)"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 158.12,164.15 c -0.033,-0.115 -0.074,-0.232 -0.125,-0.351 l 0.025,0.025 c -0.061,-0.155 -0.094,-0.264 -0.101,-0.325 0.073,-0.026 0.206,-0.026 0.4,0 l -0.2,0.65 z m 1.23,-4.35 -0.6,2.15 -0.15,0.55 c -0.034,0.004 -0.068,0.004 -0.1,0 -0.672,-0.07 -1.113,0.047 -1.325,0.35 -0.31,0.264 -0.343,0.706 -0.1,1.325 l 0.024,0.025 c 0.273,0.674 0.24,1.391 -0.1,2.149 -0.062,0.125 -0.07,0.25 -0.025,0.375 0.054,0.128 0.146,0.22 0.275,0.275 0.018,0.008 0.033,0.017 0.05,0.025 l -0.2,0.675 -111.81,16.25 v -0.3 c -0.033,-13.03 3.767,-24.65 11.4,-34.85 l 0.1,0.3 -0.1,-0.3 c 0.066,-0.066 0.117,-0.134 0.15,-0.2 l 109.52,-16.175 c -0.154,1.298 -0.18,2.007 -0.075,2.125 h -0.024 c -0.359,-0.112 -0.877,0.188 -1.551,0.9 v 0.024 c -0.574,0.639 -0.783,1.438 -0.625,2.4 0.129,0.795 0.196,1.32 0.2,1.575 0.001,0.137 0.052,0.253 0.15,0.35 0.097,0.099 0.213,0.149 0.35,0.15 0.05,-0.001 0.099,-0.009 0.15,-0.025 l -0.101,0.375 -0.024,-0.024 c -0.108,-0.092 -0.233,-0.134 -0.375,-0.125 -0.132,0.011 -0.24,0.068 -0.325,0.175 -0.092,0.108 -0.134,0.233 -0.125,0.375 0.02,0.375 -0.089,0.884 -0.325,1.524 -0.267,0.75 -0.501,1.517 -0.7,2.301 -0.177,0.703 -0.469,1.261 -0.875,1.675 l -0.024,0.024 c -0.548,0.625 -0.739,1.334 -0.575,2.125 l 0.025,0.025 c 0.138,0.586 0.088,1.262 -0.15,2.025 -0.218,0.732 -0.359,1.149 -0.425,1.25 -0.112,0.082 -0.179,0.189 -0.2,0.324 -0.018,0.139 0.016,0.264 0.1,0.375 0.082,0.113 0.19,0.18 0.325,0.2 0.081,0.011 0.156,0.003 0.226,-0.024 l -0.11,0.38 c -0.081,-0.09 -0.182,-0.141 -0.3,-0.15 -0.141,-0.009 -0.266,0.033 -0.375,0.125 -0.105,0.084 -0.164,0.192 -0.175,0.325 -0.066,0.806 -0.1,1.239 -0.101,1.3 -0.509,-0.021 -0.859,0.571 -1.05,1.775 v 0.024 c -0.104,0.897 -0.104,1.88 0,2.95 v 0.025 c 0.03,0.17 0.05,0.35 0.06,0.52 z m 5.9,-20.98 c -0.03,-0.291 -0.08,-0.657 -0.15,-1.101 -0.107,-0.638 0.018,-1.171 0.375,-1.6 v 0.025 c 0.331,-0.359 0.548,-0.559 0.65,-0.601 l -0.05,-0.024 c 0.038,0.012 0.071,0.02 0.1,0.024 l -0.93,3.28 z m -2.7,9.66 c -0.021,-0.12 -0.046,-0.236 -0.075,-0.35 l 0.025,0.025 c -0.1,-0.464 0,-0.881 0.3,-1.25 l 0.025,-0.025 c 0.089,-0.09 0.172,-0.181 0.25,-0.275 l -0.52,1.88 z m -2.25,8 c -0.003,-0.023 -0.003,-0.049 0,-0.074 0.079,-0.537 0.13,-0.838 0.15,-0.9 0.043,0.002 0.085,0.002 0.125,0 l -0.28,0.97 z"
|
||||
id="path934" />
|
||||
<linearGradient
|
||||
id="SVGID_2_"
|
||||
y2="88.695"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="-572.71002"
|
||||
gradientTransform="matrix(-0.1133,-0.9936,0.9908,-0.1379,-103.08,-470.12)"
|
||||
y1="88.695"
|
||||
x1="-675.34003">
|
||||
<stop
|
||||
style="stop-color:#FFFFFF"
|
||||
offset="0"
|
||||
id="stop936" />
|
||||
<stop
|
||||
style="stop-color:#000000"
|
||||
offset="1"
|
||||
id="stop938" />
|
||||
</linearGradient>
|
||||
<path
|
||||
style="fill:url(#SVGID_2_)"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 56.85,148.6 c -0.033,0.066 -0.083,0.134 -0.15,0.2 v -0.2 z"
|
||||
id="path941" />
|
||||
<polygon
|
||||
style="fill:#ffffcc"
|
||||
points="45.45,189.4 45.4,189.3 45.45,189.3 "
|
||||
id="polygon943" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 166.38,132.42 c 0.012,-0.04 0.02,-0.082 0.025,-0.125 0.021,-0.142 0.087,-0.259 0.199,-0.35 0.104,-0.085 0.221,-0.118 0.351,-0.101 0.142,0.021 0.259,0.088 0.35,0.2 0.054,0.065 0.087,0.132 0.101,0.2 0.006,0.052 0.006,0.102 0,0.15 -0.264,2.129 -0.672,3.18 -1.226,3.149 -0.028,-0.005 -0.062,-0.013 -0.1,-0.024 l 0.05,0.024 c -0.103,0.042 -0.319,0.241 -0.65,0.601 v -0.025 c -0.357,0.429 -0.482,0.962 -0.375,1.6 0.07,0.443 0.12,0.81 0.15,1.101 0.035,0.279 0.053,0.487 0.05,0.625 -0.001,0.137 -0.051,0.253 -0.149,0.35 -0.063,0.063 -0.129,0.105 -0.2,0.125 -0.052,0.017 -0.101,0.024 -0.15,0.025 -0.137,-0.001 -0.253,-0.052 -0.35,-0.15 -0.099,-0.097 -0.149,-0.213 -0.15,-0.35 -0.004,-0.255 -0.071,-0.78 -0.2,-1.575 -0.158,-0.963 0.051,-1.762 0.625,-2.4 v -0.024 c 0.674,-0.713 1.191,-1.013 1.551,-0.9 h 0.024 c -0.09,-0.11 -0.07,-0.82 0.09,-2.12 z m -5.08,20.48 0.025,0.024 c 0.092,0.11 0.134,0.235 0.125,0.375 -0.126,1.368 -0.417,2.103 -0.875,2.2 -0.04,0.002 -0.082,0.002 -0.125,0 -0.021,0.063 -0.071,0.363 -0.15,0.9 -0.003,0.025 -0.003,0.051 0,0.074 -0.093,0.812 -0.093,1.695 0,2.65 0.138,1.08 0.171,2.037 0.101,2.875 -0.063,0.955 -0.538,1.463 -1.426,1.525 -0.178,0.006 -0.369,-0.002 -0.574,-0.025 -0.029,-0.004 -0.055,-0.004 -0.075,0 -0.194,-0.026 -0.327,-0.026 -0.4,0 0.007,0.062 0.04,0.17 0.101,0.325 l -0.02,-0.02 c 0.051,0.118 0.092,0.235 0.125,0.351 0.252,0.825 0.177,1.691 -0.225,2.6 -0.057,0.129 -0.147,0.221 -0.275,0.275 -0.108,0.038 -0.217,0.038 -0.325,0 -0.017,-0.009 -0.032,-0.018 -0.05,-0.025 -0.13,-0.056 -0.222,-0.147 -0.275,-0.275 -0.045,-0.125 -0.036,-0.25 0.025,-0.375 0.34,-0.759 0.373,-1.476 0.1,-2.149 l -0.024,-0.025 c -0.243,-0.619 -0.21,-1.062 0.1,-1.325 0.212,-0.303 0.653,-0.42 1.325,-0.35 0.031,0.004 0.065,0.004 0.1,0 0.08,0.01 0.155,0.01 0.226,0 0.339,-0.045 0.53,-0.244 0.575,-0.6 0.051,-0.627 0.034,-1.326 -0.051,-2.101 -0.01,-0.173 -0.026,-0.348 -0.05,-0.524 v -0.025 c -0.104,-1.07 -0.104,-2.053 0,-2.95 v -0.024 c 0.19,-1.204 0.541,-1.796 1.05,-1.775 0.001,-0.061 0.034,-0.494 0.101,-1.3 0.011,-0.133 0.069,-0.241 0.175,-0.325 0.109,-0.092 0.234,-0.134 0.375,-0.125 0.12,0 0.22,0.05 0.3,0.14 z m 1.78,-6.3 c -0.078,0.095 -0.161,0.186 -0.25,0.275 l -0.03,0.02 c -0.3,0.369 -0.399,0.786 -0.3,1.25 l -0.025,-0.025 c 0.029,0.113 0.055,0.229 0.075,0.35 0.101,0.66 0.026,1.402 -0.225,2.226 -0.316,1.068 -0.575,1.651 -0.775,1.75 -0.046,0.034 -0.097,0.06 -0.149,0.075 -0.069,0.027 -0.145,0.035 -0.226,0.024 -0.135,-0.021 -0.243,-0.087 -0.325,-0.2 -0.084,-0.111 -0.117,-0.236 -0.1,-0.375 0.021,-0.135 0.088,-0.242 0.2,-0.324 0.065,-0.101 0.207,-0.518 0.425,-1.25 0.238,-0.764 0.288,-1.439 0.15,-2.025 l -0.025,-0.025 c -0.164,-0.791 0.027,-1.5 0.575,-2.125 l 0.024,-0.024 c 0.406,-0.414 0.698,-0.972 0.875,-1.675 0.199,-0.784 0.434,-1.551 0.7,-2.301 0.236,-0.641 0.345,-1.149 0.325,-1.524 -0.009,-0.142 0.033,-0.267 0.125,-0.375 0.085,-0.106 0.193,-0.164 0.325,-0.175 0.142,-0.009 0.267,0.033 0.375,0.125 l 0.024,0.024 c 0.09,0.077 0.141,0.178 0.15,0.3 0.047,0.492 -0.078,1.15 -0.375,1.976 -0.266,0.717 -0.5,1.45 -0.7,2.2 -0.18,0.75 -0.46,1.35 -0.84,1.84 z"
|
||||
id="path945" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3"
|
||||
inkscape:connector-curvature="0"
|
||||
d="M 45.4,188.85 C 39.9,148.25 34.417,107.651 28.95,67.05 27.717,51.783 31.483,38.367 40.25,26.8 v 0.05 l 114.05,-16.8 17.3,121.65 -4.199,0.55 m -8.42,31.27 1.275,9.024 -114.06,16.81 -0.75,-0.05 v 0.101 l -0.05,-0.1 v -0.45 m 11.45,-40.25 h -0.15 v 0.2 c 0.067,-0.07 0.117,-0.13 0.15,-0.2 l 109.52,-16.175 m -109.67,16.38 0.1,0.3 m -11.5,34.85 c 0.034,1.6 0.067,3.233 0.1,4.899 m 0,0.45 h 0.05 m -0.15,-5.35 v -0.3 c -0.033,-13.03 3.767,-24.65 11.4,-34.85 m 102.05,13.15 0.075,0.55 m -1.52,4.52 -0.2,0.675 -111.8,16.25 m -5.05,-157.1 16.45,121.75"
|
||||
stroke-miterlimit="3"
|
||||
id="path947" />
|
||||
</g>
|
||||
</g>
|
||||
</switch><text
|
||||
transform="rotate(-8.925618)"
|
||||
id="text979"
|
||||
y="3407.6045"
|
||||
x="1980.4675"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:73.24398041px;line-height:1.25;font-family:MuOnline;-inkscape-font-specification:MuOnline;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.74664927"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:263.67831421px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold Italic';stroke-width:2.74664927"
|
||||
y="3407.6045"
|
||||
x="1980.4675"
|
||||
id="tspan977"
|
||||
sodipodi:role="line">LYRICS</tspan></text>
|
||||
</g><g
|
||||
style="clip-rule:evenodd;fill-rule:evenodd;image-rendering:optimizeQuality;shape-rendering:geometricPrecision;text-rendering:geometricPrecision"
|
||||
id="Layer_x0020_1-1"
|
||||
transform="translate(1758.7802,146.81254)"><path
|
||||
inkscape:connector-curvature="0"
|
||||
class="fil0"
|
||||
d="M 1714,2044 C 1714,1454 1330,976 857,976 384,976 0,1454 0,2044 c 0,92 384,167 857,167 473,0 857,-75 857,-167 z M 857,0 c 258,0 467,209 467,467 0,258 -209,467 -467,467 C 599,934 390,725 390,467 390,209 599,0 857,0 Z"
|
||||
id="path832-1"
|
||||
style="fill:#000000" /></g></svg>
|
After Width: | Height: | Size: 18 KiB |
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Creator: CorelDRAW X5 -->
|
||||
<svg xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ns1="http://sozi.baierouge.fr" xmlns:cc="http://web.resource.org/cc/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" style="fill-rule:evenodd;text-rendering:geometricPrecision;image-rendering:optimizeQuality;clip-rule:evenodd;shape-rendering:geometricPrecision" xml:space="preserve" viewBox="0 0 1714 2211">
|
||||
<defs>
|
||||
<style type="text/css">
|
||||
.fil0 {fill:black}
|
||||
</style>
|
||||
</defs>
|
||||
<g id="Layer_x0020_1">
|
||||
<path class="fil0" d="m1714 2044c0-590-384-1068-857-1068s-857 478-857 1068c0 92 384 167 857 167s857-75 857-167zm-857-2044c258 0 467 209 467 467s-209 467-467 467-467-209-467-467 209-467 467-467z"/>
|
||||
</g>
|
||||
<metadata><rdf:RDF><cc:Work><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><cc:license rdf:resource="http://creativecommons.org/licenses/publicdomain/"/><dc:publisher><cc:Agent rdf:about="http://openclipart.org/"><dc:title>Openclipart</dc:title></cc:Agent></dc:publisher></cc:Work><cc:License rdf:about="http://creativecommons.org/licenses/publicdomain/"><cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/><cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/><cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/></cc:License></rdf:RDF></metadata></svg>
|
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 912 B |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 760 B |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 1.4 KiB |
|
@ -31,7 +31,9 @@ steps:
|
|||
commands:
|
||||
- mkdir -p tmp
|
||||
- cd tmp
|
||||
- wget https://github.com/ytdl-org/youtube-dl/releases/download/2020.09.14/youtube-dl.exe
|
||||
# riaa getting greedy again : original url : https://github.com/ytdl-org/youtube-dl/releases/download/2020.09.14/youtube-dl.exe
|
||||
# google took advantage too and broke the 09.14 release, so yeah... arms race now.
|
||||
- wget -o youtube-dl.exe https://nextcloud.martyn.berlin/s/t59bd4GBaiiqKqb/download
|
||||
|
||||
- name: build_godot_windows
|
||||
image: barichello/godot-ci:3.2.3
|
||||
|
|
|
@ -36,6 +36,7 @@ func convertFile(sourceFileName string, destinationFilename string) error {
|
|||
|
||||
os.Remove(destinationFilename)
|
||||
DurationRe := regexp.MustCompile(`DURATION *: ([0-9]+):([0-9]+):([0-9]+)\.([0-9]+)`)
|
||||
OtherDurationRe := regexp.MustCompile(`Duration: ([0-9]+):([0-9]+):([0-9]+)\.([0-9]+)`)
|
||||
FrameRe := regexp.MustCompile(`frame= ?([0-9]+) `)
|
||||
FPSValue := 0.0
|
||||
finalFramesValue := 0.0
|
||||
|
@ -62,20 +63,27 @@ func convertFile(sourceFileName string, destinationFilename string) error {
|
|||
if len(fpses) > 0 {
|
||||
fmt.Printf("FPS' is %v\n", fpses)
|
||||
FPSValue, _ = strconv.ParseFloat(fpses[0][1], 64)
|
||||
fmt.Printf("\nSet fps to %0.2f\n", FPSValue)
|
||||
if lastDurationSeconds != 0 {
|
||||
finalFramesValue = lastDurationSeconds * FPSValue
|
||||
}
|
||||
}
|
||||
durations := DurationRe.FindAllStringSubmatch(line, 1)
|
||||
if len(durations) < 1 {
|
||||
durations = OtherDurationRe.FindAllStringSubmatch(line, 1)
|
||||
}
|
||||
if len(durations) > 0 {
|
||||
fmt.Printf("Durations is %v\n", durations)
|
||||
// we have an fps, we can work out max frames!
|
||||
hrs, _ := strconv.ParseFloat(durations[0][1], 64)
|
||||
mins, _ := strconv.ParseFloat(durations[0][2], 64)
|
||||
secs, _ := strconv.ParseFloat(durations[0][3], 64)
|
||||
aaand, _ := strconv.ParseFloat("0."+durations[0][4], 64)
|
||||
lastDurationSeconds = (hrs * 60 * 60) + (mins * 60) + secs + aaand
|
||||
if FPSValue != 0.0 {
|
||||
// we have an fps, we can work out max frames!
|
||||
hrs, _ := strconv.ParseFloat(durations[0][1], 64)
|
||||
mins, _ := strconv.ParseFloat(durations[0][2], 64)
|
||||
secs, _ := strconv.ParseFloat(durations[0][3], 64)
|
||||
aaand, _ := strconv.ParseFloat("0."+durations[0][4], 64)
|
||||
lastDurationSeconds = (hrs * 60 * 60) + (mins * 60) + secs + aaand
|
||||
finalFramesValue = lastDurationSeconds * FPSValue
|
||||
fmt.Printf("%0f:%0f:%0f%0.4f * %0.2f = %0.2f seconds = %0.2f frames\n", hrs, mins, secs, aaand, FPSValue, lastDurationSeconds, finalFramesValue)
|
||||
}
|
||||
fmt.Printf("%0f:%0f:%0f%0.4f * %0.2f = %0.2f seconds = %0.2f frames\n", hrs, mins, secs, aaand, FPSValue, lastDurationSeconds, finalFramesValue)
|
||||
}
|
||||
currentFrames := FrameRe.FindAllStringSubmatch(line, 1)
|
||||
if len(currentFrames) > 0 {
|
||||
|
@ -170,6 +178,10 @@ func downloadFile(sourceURL string, outputFile string, statusChannel chan float6
|
|||
fmt.Printf(" > Failed with error: %v\n", err)
|
||||
return err
|
||||
}
|
||||
if lastFilename == "" {
|
||||
// we probably didn't get a merge into a single file, so it probably just streamed to the output without an extension
|
||||
lastFilename = "test"
|
||||
}
|
||||
return convertFile(lastFilename, "converted.webm")
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
extends Control
|
||||
|
||||
const SongElement = preload("res://Components/SongListItem.tscn")
|
||||
|
||||
# Declare member variables here. Examples:
|
||||
# var a = 2
|
||||
# var b = "text"
|
||||
var songlist = "https://pastebin.pl/view/raw/40dfc4fc"
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
$HTTPRequest.request(songlist)
|
||||
print(songlist)
|
||||
# var ItemListContent = ["We shall go this way","We shall go that way","which way shall we go?","I think we're lost"]
|
||||
# for ItemID in range(4):
|
||||
# $ItemList.add_item(ItemListContent[ItemID],null,true)
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
#func _process(delta):
|
||||
# pass
|
||||
|
||||
|
||||
func _on_HTTPRequest_request_completed(result, response_code, headers, body):
|
||||
var json = JSON.parse(body.get_string_from_utf8())
|
||||
if json.result != null:
|
||||
#print(json.result)
|
||||
for song in json.result:
|
||||
var thesongelement = SongElement.instance()
|
||||
thesongelement.setObject(song)
|
||||
$ScrollContainer/GridContainer.add_child(thesongelement)
|
|
@ -0,0 +1,27 @@
|
|||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://Components/SongList.gd" type="Script" id=1]
|
||||
|
||||
[node name="Control" type="Control"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
script = ExtResource( 1 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="HTTPRequest" type="HTTPRequest" parent="."]
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="."]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
scroll_horizontal_enabled = false
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="ScrollContainer"]
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
[connection signal="request_completed" from="HTTPRequest" to="." method="_on_HTTPRequest_request_completed"]
|
|
@ -0,0 +1,74 @@
|
|||
extends HBoxContainer
|
||||
|
||||
|
||||
# Declare member variables here. Examples:
|
||||
# var a = 2
|
||||
# var b = "text"
|
||||
|
||||
var duet = true
|
||||
var lyrics = true
|
||||
var score = true
|
||||
var jsonObject = {}
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
func setSongName(songname):
|
||||
$SongName.text = songname
|
||||
|
||||
func setSongArtists(songtitle):
|
||||
$SongArtists.text = songtitle
|
||||
|
||||
func setDuet(hasDuetMarked):
|
||||
if hasDuetMarked:
|
||||
duet = true
|
||||
else:
|
||||
duet = false
|
||||
setIcon()
|
||||
|
||||
func setLyrics(hasLyrics):
|
||||
if hasLyrics:
|
||||
lyrics = true
|
||||
else:
|
||||
lyrics = false
|
||||
setIcon()
|
||||
|
||||
func setScore(hasScore):
|
||||
if hasScore:
|
||||
score = true
|
||||
else:
|
||||
score = false
|
||||
setIcon()
|
||||
|
||||
func setIcon():
|
||||
var filename = ""
|
||||
if duet:
|
||||
filename += "duet"
|
||||
else:
|
||||
filename += "solo"
|
||||
if score:
|
||||
filename += "notes"
|
||||
if lyrics:
|
||||
filename += "lyrics"
|
||||
filename += "50"
|
||||
$SongIcon.texture_normal = load("UI/src/"+filename+".png")
|
||||
|
||||
func setObject(fullObject):
|
||||
jsonObject = fullObject
|
||||
setDuet(fullObject.duetmarks)
|
||||
setLyrics(fullObject.lyrics)
|
||||
setScore(fullObject.score)
|
||||
setSongName(fullObject.title)
|
||||
var artists = PoolStringArray(fullObject.artists).join(", ")
|
||||
setSongArtists(artists)
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
#func _process(delta):
|
||||
# pass
|
||||
|
||||
|
||||
func _on_SongIcon_pressed():
|
||||
Globals.setSongObject(jsonObject)
|
||||
get_tree().change_scene("res://download_video.tscn")
|
|
@ -0,0 +1,41 @@
|
|||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://Components/SongListItem.gd" type="Script" id=1]
|
||||
[ext_resource path="res://UI/src/duetnoteslyrics50.png" type="Texture" id=2]
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer"]
|
||||
margin_right = 883.0
|
||||
margin_bottom = 50.0
|
||||
script = ExtResource( 1 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="SongIcon" type="TextureButton" parent="."]
|
||||
margin_right = 75.0
|
||||
margin_bottom = 50.0
|
||||
rect_min_size = Vector2( 75, 0 )
|
||||
texture_normal = ExtResource( 2 )
|
||||
|
||||
[node name="SongName" type="ToolButton" parent="."]
|
||||
margin_left = 79.0
|
||||
margin_right = 479.0
|
||||
margin_bottom = 50.0
|
||||
rect_min_size = Vector2( 400, 0 )
|
||||
text = "Don't Give Up"
|
||||
clip_text = true
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="SongArtists" type="ToolButton" parent="."]
|
||||
margin_left = 483.0
|
||||
margin_right = 883.0
|
||||
margin_bottom = 50.0
|
||||
rect_min_size = Vector2( 400, 0 )
|
||||
text = "Peter Gabriel & Kate Bush"
|
||||
clip_text = true
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
[connection signal="pressed" from="SongIcon" to="." method="_on_SongIcon_pressed"]
|
|
@ -10,6 +10,7 @@ var config = ConfigFile.new()
|
|||
# var a = 2
|
||||
# var b = "text"
|
||||
var providers = { "mastodon" : []}
|
||||
var songObject = {}
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
|
@ -67,3 +68,8 @@ func saveConfig():
|
|||
config.set_value("providers","mastodon",providers.mastodon)
|
||||
config.save("user://settings.cfg")
|
||||
|
||||
func setSongObject(theObject):
|
||||
songObject = theObject
|
||||
|
||||
func getSongObject():
|
||||
return songObject
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
extends Control
|
||||
|
||||
|
||||
# Declare member variables here. Examples:
|
||||
# var a = 2
|
||||
# var b = "text"
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
#func _process(delta):
|
||||
# pass
|
||||
|
||||
|
||||
func _on_Quit_pressed():
|
||||
get_tree().change_scene("res://main_menu.tscn")
|
|
@ -0,0 +1,110 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://SongListScene.gd" type="Script" id=1]
|
||||
[ext_resource path="res://Components/SongList.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://UI/src/duetnoteslyrics50.png" type="Texture" id=3]
|
||||
|
||||
[node name="Control" type="Control"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
rect_pivot_offset = Vector2( -491.278, 0 )
|
||||
script = ExtResource( 1 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
margin_left = 5.0
|
||||
margin_top = 5.0
|
||||
margin_right = -5.0
|
||||
margin_bottom = -5.0
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
|
||||
margin_right = 1014.0
|
||||
margin_bottom = 590.0
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
|
||||
margin_right = 1014.0
|
||||
margin_bottom = 20.0
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer2"]
|
||||
margin_right = 990.0
|
||||
margin_bottom = 20.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer"]
|
||||
margin_right = 990.0
|
||||
margin_bottom = 15.0
|
||||
size_flags_horizontal = 3
|
||||
bbcode_enabled = true
|
||||
bbcode_text = "[center]SONG LIST[/center]"
|
||||
text = "SONG LIST"
|
||||
fit_content_height = true
|
||||
scroll_active = false
|
||||
|
||||
[node name="Quit" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer2"]
|
||||
margin_left = 994.0
|
||||
margin_right = 1014.0
|
||||
margin_bottom = 20.0
|
||||
text = "X"
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="MarginContainer/VBoxContainer"]
|
||||
margin_top = 24.0
|
||||
margin_right = 1014.0
|
||||
margin_bottom = 146.0
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="RichTextLabel2" type="RichTextLabel" parent="MarginContainer/VBoxContainer/GridContainer"]
|
||||
margin_right = 1014.0
|
||||
margin_bottom = 60.0
|
||||
size_flags_horizontal = 3
|
||||
text = "This is a community-created list of backing tracks and karaoke songs published on YouTube, Vimeo, Peertube instances and elsewhere. They are not hosted by ASingCrow, and no responsibility is taken for the original uploader having permission to upload them.
|
||||
|
||||
Click a song below to sing along, unlike other apps, you don't select solo/duet etc. until you are ready to publish."
|
||||
fit_content_height = true
|
||||
scroll_active = false
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/GridContainer"]
|
||||
margin_top = 64.0
|
||||
margin_right = 1014.0
|
||||
margin_bottom = 122.0
|
||||
|
||||
[node name="ToolButton" type="ToolButton" parent="MarginContainer/VBoxContainer/GridContainer/HBoxContainer"]
|
||||
margin_right = 75.0
|
||||
margin_bottom = 58.0
|
||||
rect_min_size = Vector2( 75, 0 )
|
||||
icon = ExtResource( 3 )
|
||||
|
||||
[node name="ToolButton2" type="ToolButton" parent="MarginContainer/VBoxContainer/GridContainer/HBoxContainer"]
|
||||
margin_left = 79.0
|
||||
margin_right = 479.0
|
||||
margin_bottom = 58.0
|
||||
rect_min_size = Vector2( 400, 0 )
|
||||
text = "Song Title"
|
||||
|
||||
[node name="ToolButton3" type="ToolButton" parent="MarginContainer/VBoxContainer/GridContainer/HBoxContainer"]
|
||||
margin_left = 483.0
|
||||
margin_right = 883.0
|
||||
margin_bottom = 58.0
|
||||
rect_min_size = Vector2( 400, 0 )
|
||||
text = "Artist(s)"
|
||||
|
||||
[node name="Control" parent="MarginContainer/VBoxContainer" instance=ExtResource( 2 )]
|
||||
anchor_right = 0.0
|
||||
anchor_bottom = 0.0
|
||||
margin_top = 150.0
|
||||
margin_right = 1014.0
|
||||
margin_bottom = 590.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/HBoxContainer2/Quit" to="." method="_on_Quit_pressed"]
|
After Width: | Height: | Size: 912 B |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/duet50.png-edb0ff2589be90d0d59864f9eeefba6f.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/src/duet50.png"
|
||||
dest_files=[ "res://.import/duet50.png-edb0ff2589be90d0d59864f9eeefba6f.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/duetlyrics50.png-68ed5f957cd7c1d2d4b6c65b4bf06f74.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/src/duetlyrics50.png"
|
||||
dest_files=[ "res://.import/duetlyrics50.png-68ed5f957cd7c1d2d4b6c65b4bf06f74.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/duetnoteslyrics50.png-49610dc0883ac4fec0b8c358e4abc946.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/src/duetnoteslyrics50.png"
|
||||
dest_files=[ "res://.import/duetnoteslyrics50.png-49610dc0883ac4fec0b8c358e4abc946.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 760 B |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/solo50.png-4ed64106d61e2725fa73f6ea7d1f241c.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/src/solo50.png"
|
||||
dest_files=[ "res://.import/solo50.png-4ed64106d61e2725fa73f6ea7d1f241c.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 1.1 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/sololyrics50.png-0f0e2a4e271f57f4cc90cbc611d417a7.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/src/sololyrics50.png"
|
||||
dest_files=[ "res://.import/sololyrics50.png-0f0e2a4e271f57f4cc90cbc611d417a7.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/solonoteslyrics50.png-7469c211001b33b9236e6735d4ca441a.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/src/solonoteslyrics50.png"
|
||||
dest_files=[ "res://.import/solonoteslyrics50.png-7469c211001b33b9236e6735d4ca441a.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
|
@ -6,9 +6,17 @@ extends Control
|
|||
# var b = "text"
|
||||
|
||||
var lastcheck = 0
|
||||
var songObject = {}
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
songObject = Globals.getSongObject()
|
||||
if ("url" in songObject) and (songObject.url != null) and (songObject.url != ""):
|
||||
$HBoxContainer/TextEdit.text = songObject.url
|
||||
$HBoxContainer.visible = false
|
||||
_on_Button_pressed()
|
||||
else:
|
||||
$HBoxContainer.visible = true
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
|
@ -42,7 +50,7 @@ func _on_Control_ready():
|
|||
|
||||
|
||||
func _on_HTTPRequest_request_completed(result, response_code, headers, body):
|
||||
#print(result)
|
||||
print(result)
|
||||
#print(response_code)
|
||||
#print(headers)
|
||||
#print(body.get_string_from_utf8())
|
||||
|
@ -51,7 +59,10 @@ func _on_HTTPRequest_request_completed(result, response_code, headers, body):
|
|||
$VBoxContainer2/DownloadProgress.value = json.result["percentage"]
|
||||
if json.result["percentage"] == 100:
|
||||
#Globals.video_duration = json.result["duration_seconds"]
|
||||
get_tree().change_scene("res://justplayer.tscn")
|
||||
if $HBoxContainer.visible:
|
||||
get_tree().change_scene("res://justplayer.tscn")
|
||||
else:
|
||||
get_tree().change_scene("res://PlayVideoRecordAudio.tscn")
|
||||
#print(json.result)
|
||||
#print(json.result["percentage"])
|
||||
#pass
|
||||
|
|
|
@ -33,3 +33,7 @@ func _on_DownloadPlayVid2_pressed():
|
|||
|
||||
func _on_Settings_pressed():
|
||||
get_tree().change_scene("res://GlobalSettings.tscn")
|
||||
|
||||
|
||||
func _on_Songlist_pressed():
|
||||
get_tree().change_scene("res://SongListScene.tscn")
|
||||
|
|
|
@ -57,7 +57,7 @@ script = ExtResource( 1 )
|
|||
[node name="GridContainer" type="GridContainer" parent="MarginContainer/VBoxContainer"]
|
||||
margin_top = 24.0
|
||||
margin_right = 1014.0
|
||||
margin_bottom = 135.0
|
||||
margin_bottom = 159.0
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
@ -97,8 +97,15 @@ margin_top = 91.0
|
|||
margin_right = 1014.0
|
||||
margin_bottom = 111.0
|
||||
text = "Settings"
|
||||
|
||||
[node name="Songlist" type="Button" parent="MarginContainer/VBoxContainer/GridContainer"]
|
||||
margin_top = 115.0
|
||||
margin_right = 1014.0
|
||||
margin_bottom = 135.0
|
||||
text = "Song list!"
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/HBoxContainer2/Quit" to="MarginContainer/VBoxContainer/HBoxContainer2/Quit" method="_on_Quit_pressed"]
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/GridContainer/DownloadPlayVid" to="." method="_on_Button_pressed"]
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/GridContainer/DownloadPlayVid2" to="." method="_on_DownloadPlayVid2_pressed"]
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/GridContainer/MicTest" to="." method="_on_MicTest_pressed"]
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/GridContainer/Settings" to="." method="_on_Settings_pressed"]
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/GridContainer/Songlist" to="." method="_on_Songlist_pressed"]
|
||||
|
|