]> git.sesse.net Git - ultimatescore/commitdiff
Some preliminary work on Sound Shark theming.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 17 Feb 2020 19:01:20 +0000 (20:01 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 17 Feb 2020 19:01:20 +0000 (20:01 +0100)
generic/microphone.png [new file with mode: 0644]
generic/microphone.svg [new file with mode: 0644]
nageru/ultimate.lua
nageru/ultimate.mapping
score.html
score.js

diff --git a/generic/microphone.png b/generic/microphone.png
new file mode 100644 (file)
index 0000000..06ca561
Binary files /dev/null and b/generic/microphone.png differ
diff --git a/generic/microphone.svg b/generic/microphone.svg
new file mode 100644 (file)
index 0000000..f5daf57
--- /dev/null
@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   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:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg11445"
+   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+   sodipodi:docname="microphone.svg">
+  <defs
+     id="defs11439">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4636">
+      <stop
+         style="stop-color:#77bbee;stop-opacity:1"
+         offset="0"
+         id="stop4632" />
+      <stop
+         style="stop-color:#88aaff;stop-opacity:0"
+         offset="1"
+         id="stop4634" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient877">
+      <stop
+         style="stop-color:#4444cc;stop-opacity:1"
+         offset="0"
+         id="stop873" />
+      <stop
+         style="stop-color:#3535c2;stop-opacity:1"
+         offset="1"
+         id="stop875" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient758"
+       spreadMethod="pad"
+       gradientTransform="matrix(1041.9775,0,0,-1041.9775,1161.687,5231.604)"
+       gradientUnits="userSpaceOnUse"
+       y2="0"
+       x2="1"
+       y1="0"
+       x1="0">
+      <stop
+         id="stop12314"
+         offset="0"
+         style="stop-opacity:1;stop-color:#ffffff" />
+      <stop
+         id="stop12316"
+         offset="0.10691959"
+         style="stop-opacity:1;stop-color:#ffffff" />
+      <stop
+         id="stop12318"
+         offset="1"
+         style="stop-opacity:1;stop-color:#231f20" />
+    </linearGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath750">
+      <path
+         d="m 1405.364,5194.503 c -50.371,-43.444 -89.981,-61.977 -127.217,-61.319 -26.092,0.466 -51.105,10.931 -75.785,31.831 8.139,-14.917 19.583,-32.813 34.809,-50.074 20.852,-23.635 44.648,-41.487 70.716,-53.059 32.528,-14.439 68.85,-19.132 107.953,-13.948 89.028,11.79 239.813,79.55 283.148,163.123 l 4.079,7.872 6.725,-5.78 c 71.402,-61.345 236.579,-67.907 323.568,-45.6 37.707,9.668 69.318,27.248 93.953,52.243 42.102,42.724 55.918,99.005 60.318,135.999 -15.08,-28.557 -34.359,-47.574 -58.362,-57.734 -50.856,-21.528 -122.323,-5.857 -246.676,54.096 -86.553,41.731 -166.863,32.344 -195.296,-22.832 l -4.082,-7.921 -6.746,5.825 c -46.979,40.567 -124.982,19.292 -189.696,-51.744 -30.269,-33.219 -57.095,-60.005 -81.409,-80.978 m -243.677,35.49 23.29,-27.449 c 31.108,-36.662 61.664,-54.761 93.414,-55.321 50.042,-0.886 109.26,40.302 198.007,137.713 67.27,73.852 149.202,96.884 202.613,58.168 5.161,8.218 11.395,15.426 18.56,21.608 41.537,35.828 114.363,37.093 191.121,0.085 118.703,-57.229 189.016,-73.322 235.105,-53.813 29.241,12.378 50.832,40.572 65.995,86.197 l 11.352,34.163 2.314,-35.926 c 0.069,-1.138 1.71,-28.327 -5.536,-64.815 -6.707,-33.796 -22.67,-82.162 -60.607,-120.664 -26.454,-26.843 -60.256,-45.68 -100.471,-55.988 -47.787,-12.251 -112.849,-15.536 -174.047,-8.786 -66.179,7.296 -120.926,25.65 -155.507,51.966 -22.25,-37.322 -66.189,-74.795 -124.86,-106.275 -54.248,-29.115 -115.838,-50.362 -164.744,-56.837 -94.828,-12.565 -156.408,32.223 -191.371,72.011 -37.596,42.783 -52.732,87.876 -53.357,89.776 z"
+         id="path748"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <linearGradient
+       x1="0"
+       y1="0"
+       x2="1"
+       y2="0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1041.9775,0,0,-1041.9775,1161.687,5231.604)"
+       spreadMethod="pad"
+       id="whatevs-1">
+      <stop
+         style="stop-opacity:1;stop-color:#cccccc"
+         offset="0"
+         id="stop752" />
+      <stop
+         style="stop-opacity:1;stop-color:#ffffff"
+         offset="1"
+         id="stop756" />
+    </linearGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath860">
+      <path
+         d="m 3217.535,2532.398 c -55.906,37.49 -84.611,71.163 -93.965,107.673 -6.549,25.579 -3.046,52.799 10.729,82.485 -12.371,-11.945 -26.763,-27.909 -39.52,-47.399 -17.471,-26.688 -28.504,-54.691 -32.802,-83.237 -5.36,-35.609 -0.191,-72.302 15.359,-109.072 35.383,-83.707 141.955,-212.642 235.125,-232.507 l 8.774,-1.868 -3.831,-8.107 c -40.703,-86.133 -2.786,-249.053 42.315,-327.944 19.55,-34.202 45.182,-60.327 76.181,-77.656 52.982,-29.619 111.602,-28 148.877,-22.365 -31.907,7.053 -55.635,20.762 -71.988,41.45 -34.647,43.85 -38.533,117.783 -13.401,255.199 17.496,95.648 -13.207,171.491 -74.673,184.432 l -8.82,1.86 3.871,8.139 c 26.98,56.725 -14.709,127.125 -101.381,171.208 -40.533,20.621 -73.864,39.614 -100.85,57.709 m -30.752,247.276 -20.535,-30.088 c -27.429,-40.19 -36.884,-74.856 -28.914,-105.984 12.565,-49.067 68.637,-95.794 187.491,-156.253 90.105,-45.826 134.56,-119.584 111.116,-182.084 9.405,-2.829 18.11,-6.984 26.063,-12.314 46.1,-30.909 66.872,-101.636 51.359,-186.457 -23.988,-131.175 -20.83,-204.099 10.57,-243.836 19.92,-25.204 53.224,-38.706 101.809,-41.26 l 36.38,-1.911 -34.434,-11.894 c -1.091,-0.379 -27.18,-9.273 -64.726,-11.99 -34.773,-2.531 -86.248,0.073 -133.992,26.764 -33.289,18.601 -60.736,46.533 -81.582,83.003 -24.781,43.339 -45.44,105.943 -55.277,167.464 -10.629,66.533 -7.41,124.876 8.992,165.672 -42.39,11.701 -90.738,44.514 -137.196,93.316 -42.964,45.119 -80.217,99.509 -99.656,145.493 -37.7,89.151 -10.517,161.257 18.918,206.044 31.658,48.161 71.595,75.026 73.28,76.151 z"
+         id="path858"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <linearGradient
+       x1="0"
+       y1="0"
+       x2="1"
+       y2="0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(616.29688,0,0,-616.29688,3045.8252,2287.2598)"
+       spreadMethod="pad"
+       id="linearGradient868">
+      <stop
+         style="stop-opacity:1;stop-color:#ffffff"
+         offset="0"
+         id="stop862" />
+      <stop
+         style="stop-opacity:1;stop-color:#ffffff"
+         offset="0.10691959"
+         id="stop864" />
+      <stop
+         style="stop-opacity:1;stop-color:#231f20"
+         offset="1"
+         id="stop866" />
+    </linearGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath836">
+      <path
+         d="m 3287.719,2298.145 c -59.434,-102.862 -115.35,-157.371 -178.537,-178.134 -44.267,-14.548 -92.606,-11.588 -146.502,9.167 22.492,-20.371 52.302,-43.835 88.116,-64.003 49.051,-27.612 99.663,-43.747 150.431,-47.953 63.332,-5.243 127.341,8.172 190.252,39.886 143.218,72.167 357.711,275.011 381.711,441.402 l 2.26,15.669 14.73,-5.792 c 156.455,-61.525 438.868,24.431 572.474,113.136 57.917,38.451 100.897,86.663 127.765,143.287 45.914,96.784 36.16,199.816 21.852,264.786 -8.662,-57.009 -30.003,-100.412 -64.513,-131.645 -73.131,-66.17 -202.866,-81.714 -447.792,-53.649 -170.478,19.541 -300.407,-43.45 -315.954,-153.208 l -2.232,-15.757 -14.795,5.861 c -103.059,40.827 -222.109,-40.871 -289.527,-198.68 -31.534,-73.801 -61.053,-134.725 -89.739,-184.373 m -431.794,-83.271 55.395,-32.62 c 73.995,-43.561 136.159,-56.13 190.032,-38.429 84.915,27.904 160.591,132.138 253.05,348.544 70.081,164.064 194.728,251.027 307.542,217.106 3.876,16.887 10.158,32.706 18.611,47.332 49.005,84.824 171.089,129.73 322.27,112.406 233.803,-26.795 361.834,-12.641 428.108,47.326 42.046,38.045 61.898,98.28 60.668,184.132 l -0.921,64.283 25.005,-59.233 c 0.788,-1.879 19.521,-46.767 28.734,-112.562 8.542,-60.93 10.025,-151.872 -31.356,-239.096 -28.832,-60.802 -74.777,-112.418 -136.544,-153.422 -73.391,-48.735 -181.194,-92.495 -288.363,-117.053 -115.904,-26.552 -219.014,-27.759 -292.783,-3.682 -15.61,-76.019 -67.7,-165.02 -148.157,-252.569 -74.39,-80.964 -165.777,-152.97 -244.458,-192.617 -152.537,-76.88 -282.702,-37.516 -365.037,9.053 -88.526,50.066 -140.539,117.226 -142.714,120.061 z"
+         id="path834"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <linearGradient
+       x1="0"
+       y1="0"
+       x2="1"
+       y2="0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(15.113491,0,0,15.113491,18.956779,65.296269)"
+       spreadMethod="pad"
+       id="linearGradient844">
+      <stop
+         style="stop-opacity:1;stop-color:#ffffff"
+         offset="0"
+         id="stop838" />
+      <stop
+         style="stop-opacity:1;stop-color:#ffffff"
+         offset="0.10691959"
+         id="stop840" />
+      <stop
+         style="stop-opacity:1;stop-color:#231f20"
+         offset="1"
+         id="stop842" />
+    </linearGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1992">
+      <path
+         d="m 3311.591,5872.595 c -82.332,17.698 -131.288,43.547 -159.056,81.656 -19.451,26.7 -27.979,59.953 -25.715,100.834 -8.851,-19.611 -18.186,-44.832 -23.99,-73.387 -7.947,-39.1 -7.809,-76.762 0.406,-111.922 10.258,-43.87 33.247,-84.133 68.338,-119.667 79.877,-80.906 263.431,-181.44 380.912,-161.392 l 11.063,1.89 -0.701,-11.206 c -7.436,-118.943 112.048,-290.754 200.99,-361.568 38.553,-30.704 80.441,-49.203 124.49,-54.996 75.289,-9.895 142.674,19.121 183.391,42.925 -40.35,-6.577 -74.274,-1.626 -102.86,14.855 -60.566,34.923 -99.307,119.057 -133.706,290.409 -23.942,119.266 -94.735,193.201 -172.166,179.791 l -11.115,-1.925 0.732,11.256 c 5.101,78.417 -75.94,140.943 -197.081,152.06 -56.659,5.205 -104.189,11.846 -143.932,20.387 m -150.209,273.174 -9.936,-44.477 c -13.274,-59.407 -8.221,-104.083 15.453,-136.572 37.312,-51.21 124.118,-79.564 290.246,-94.813 125.942,-11.551 211.755,-76.704 213.439,-160.199 12.238,1.06 24.277,0.268 35.99,-2.249 67.891,-14.588 124.771,-87.169 146.004,-192.938 32.84,-163.568 70.271,-246.86 125.156,-278.51 34.829,-20.079 79.784,-20.356 137.433,-0.831 l 43.169,14.619 -34.514,-29.765 c -1.097,-0.94 -27.299,-23.36 -69.677,-43.899 -39.251,-19.03 -100.281,-39.834 -168.131,-30.92 -47.303,6.223 -92.131,25.974 -133.249,58.713 -48.855,38.906 -101.847,102.103 -141.753,169.055 -43.16,72.403 -66.426,141.703 -66.252,196.714 -54.678,-6.022 -126.065,9.736 -202.651,44.952 -70.82,32.556 -139.297,78.527 -183.178,122.975 -85.089,86.166 -86.874,182.55 -73.389,248.234 14.5,70.629 48.48,120.346 49.921,122.426 z"
+         id="path1990"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <linearGradient
+       x1="0"
+       y1="0"
+       x2="1"
+       y2="0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1079.04,0,0,-1079.04,3079.2959,5644.4287)"
+       spreadMethod="pad"
+       id="linearGradient2000">
+      <stop
+         style="stop-opacity:1;stop-color:#ffffff"
+         offset="0"
+         id="stop1994" />
+      <stop
+         style="stop-opacity:1;stop-color:#ffffff"
+         offset="0.10691959"
+         id="stop1996" />
+      <stop
+         style="stop-opacity:1;stop-color:#231f20"
+         offset="1"
+         id="stop1998" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient877"
+       id="linearGradient12839"
+       x1="24.9897"
+       y1="43.494854"
+       x2="112.07853"
+       y2="49.820049"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.16299088,0,0,1.3685556,14.862771,-7.7508786)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4636"
+       id="linearGradient12893-6"
+       x1="17.733486"
+       y1="48.622395"
+       x2="23.333635"
+       y2="48.622395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.17190227,0,0,0.92976866,47.010857,-71.524171)" />
+    <linearGradient
+       x1="0"
+       y1="0"
+       x2="1"
+       y2="0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(15.113491,0,0,15.113491,33.469117,51.24567)"
+       spreadMethod="pad"
+       id="linearGradient844-6">
+      <stop
+         style="stop-opacity:1;stop-color:#ffffff"
+         offset="0"
+         id="stop838-2" />
+      <stop
+         style="stop-opacity:1;stop-color:#ffffff"
+         offset="0.10691959"
+         id="stop840-6" />
+      <stop
+         style="stop-opacity:1;stop-color:#231f20"
+         offset="1"
+         id="stop842-1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4636"
+       id="linearGradient12893-6-3"
+       x1="17.733486"
+       y1="48.622395"
+       x2="23.333635"
+       y2="48.622395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.17190227,0,0,0.92976866,-70.160276,-71.487637)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4636"
+       id="linearGradient12893-6-3-3"
+       x1="17.733486"
+       y1="48.622395"
+       x2="23.333635"
+       y2="48.622395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.17190227,0,0,0.92976866,-37.808859,13.376583)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4636"
+       id="linearGradient12893-6-3-3-9"
+       x1="17.733486"
+       y1="48.622395"
+       x2="23.333635"
+       y2="48.622395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.17190227,0,0,0.92976866,14.707713,13.333098)" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.979899"
+     inkscape:cx="67.349733"
+     inkscape:cy="897.41627"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="976"
+     inkscape:window-x="0"
+     inkscape:window-y="29"
+     inkscape:window-maximized="1"
+     showguides="true"
+     inkscape:guide-bbox="true" />
+  <metadata
+     id="metadata11442">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="opacity:1;fill:#00ffff;fill-opacity:1;stroke:#9e9e9e;stroke-width:0.025;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect11477"
+       width="146.65475"
+       height="61.988094"
+       x="3.0238097"
+       y="23.723215" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient12839);fill-opacity:1;stroke:#9e9e9e;stroke-width:0.01180736;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect11473"
+       width="17"
+       height="17"
+       x="17.758286"
+       y="50.06245"
+       inkscape:export-xdpi="254"
+       inkscape:export-ydpi="254" />
+    <image
+       y="50.061432"
+       x="17.758286"
+       id="image3806"
+       xlink:href="data:image/png;base64,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 "
+       preserveAspectRatio="none"
+       height="17.001022"
+       width="17.036533"
+       inkscape:export-xdpi="254"
+       inkscape:export-ydpi="254" />
+    <g
+       id="g966"
+       transform="matrix(0.02991036,0,0,-0.02991036,-31.177093,124.43682)"
+       style="opacity:0.056">
+      <g
+         id="g964">
+        <path
+           inkscape:connector-curvature="0"
+           id="path962"
+           style="fill:url(#linearGradient868);stroke:none"
+           d="m 3186.783,2779.674 -20.535,-30.088 c -27.429,-40.19 -36.884,-74.856 -28.914,-105.984 12.565,-49.067 68.637,-95.794 187.491,-156.253 90.105,-45.826 134.56,-119.584 111.116,-182.084 9.405,-2.829 18.11,-6.984 26.063,-12.314 46.1,-30.909 66.872,-101.636 51.359,-186.457 -23.988,-131.175 -20.83,-204.099 10.57,-243.836 19.92,-25.204 53.224,-38.706 101.809,-41.26 l 36.38,-1.911 -34.434,-11.894 c -1.091,-0.379 -27.18,-9.273 -64.726,-11.99 -34.773,-2.531 -86.248,0.073 -133.992,26.764 -33.289,18.601 -60.736,46.533 -81.582,83.003 -24.781,43.339 -45.44,105.943 -55.277,167.464 -10.629,66.533 -7.41,124.876 8.992,165.672 -42.39,11.701 -90.738,44.514 -137.196,93.316 -42.964,45.119 -80.217,99.509 -99.656,145.493 -37.7,89.151 -10.517,161.257 18.918,206.044 31.658,48.161 71.595,75.026 73.28,76.151 z"
+           sodipodi:nodetypes="ccccccccccccccccccccc" />
+      </g>
+    </g>
+    <path
+       style="opacity:1;fill:#00ffff;fill-opacity:1;stroke:#9e9e9e;stroke-width:0.025;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 5.2496761,-11.981177 V 50.006764 H 151.90481 v -61.987941 z"
+       id="rect11477-3-7"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient12893-6);fill-opacity:1.0;stroke:none;stroke-width:0.00999467;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect12885-1"
+       width="0.95838076"
+       height="16.956518"
+       x="50.061432"
+       y="-34.794819"
+       transform="rotate(90)" />
+    <path
+       style="opacity:1;fill:#00ffff;fill-opacity:1;stroke:#9e9e9e;stroke-width:0.025;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       d="M -55.286876,67.096058 V 129.08398 H 91.368264 V 67.096058 Z"
+       id="rect11477-3-7-3"
+       inkscape:connector-curvature="0" />
+    <path
+       style="opacity:1;fill:#00ffff;fill-opacity:1;stroke:#9e9e9e;stroke-width:0.025;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 34.77892,41.432819 V 103.42074 H 181.4339 V 41.432819 Z"
+       id="rect11477-3-7-3-6"
+       inkscape:connector-curvature="0"
+       inkscape:export-xdpi="254"
+       inkscape:export-ydpi="254" />
+    <path
+       style="opacity:1;fill:#00ffff;fill-opacity:1;stroke:#9e9e9e;stroke-width:0.025;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       d="M -128.91957,36.555135 V 98.54308 H 17.7355 V 36.555135 Z"
+       id="rect11477-3-7-0"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient12893-6-3);fill-opacity:1;stroke:none;stroke-width:0.00999467;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect12885-1-5"
+       width="0.95838076"
+       height="16.956518"
+       x="-67.109703"
+       y="-34.758286"
+       transform="matrix(0,-1,-1,0,0,0)" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient12893-6-3-3);fill-opacity:1;stroke:none;stroke-width:0.00999467;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect12885-1-5-2"
+       width="0.95838076"
+       height="16.956518"
+       x="-34.758286"
+       y="50.105934"
+       transform="scale(-1,1)" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient12893-6-3-3-9);fill-opacity:1;stroke:none;stroke-width:0.00999467;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect12885-1-5-2-7"
+       width="0.95838076"
+       height="16.956518"
+       x="17.758286"
+       y="50.06245" />
+    <path
+       inkscape:connector-curvature="0"
+       d="m 26.317879,61.265711 c 1.486719,0 2.691911,-1.205192 2.691911,-2.691911 v -4.486518 c 0,-1.486719 -1.205192,-2.69191 -2.691911,-2.69191 -1.486719,0 -2.691911,1.205191 -2.691911,2.69191 V 58.5738 c 0,1.486719 1.205192,2.691911 2.691911,2.691911 z m 4.486518,-4.486519 h -0.448652 c -0.247881,0 -0.448651,0.200774 -0.448651,0.448652 V 58.5738 c 0,2.097446 -1.808348,3.780451 -3.947856,3.571829 -1.864709,-0.181986 -3.230573,-1.85826 -3.230573,-3.731661 v -1.186124 c 0,-0.247878 -0.200771,-0.448652 -0.448652,-0.448652 h -0.448651 c -0.247879,0 -0.448652,0.200774 -0.448652,0.448652 v 1.126117 c 0,2.513571 1.793766,4.754304 4.262191,5.094721 v 0.95759 H 24.07462 c -0.24788,0 -0.448652,0.200772 -0.448652,0.448651 v 0.448652 c 0,0.24788 0.200772,0.448653 0.448652,0.448653 h 4.486517 c 0.247881,0 0.448653,-0.200773 0.448653,-0.448653 v -0.448652 c 0,-0.247879 -0.200772,-0.448651 -0.448653,-0.448651 h -1.57028 v -0.946936 c 2.403371,-0.329758 4.262192,-2.392716 4.262192,-4.885536 v -1.345956 c 0,-0.247878 -0.200774,-0.448652 -0.448652,-0.448652 z"
+       id="path3815"
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+</svg>
index 0c2fe3210a4d0410718bf98857341734c0b0e968..4fff536b3973037e5979aa91b28f34c90431800e 100644 (file)
@@ -61,6 +61,7 @@ local iptv_video = VideoInput.new(futatabi_server, Nageru.VIDEO_FORMAT_YCBCR)
 iptv_video:change_rate(10.0)
 
 local static_image = ImageInput.new(cef_path .. "/nageru/dsn-bg.png")
+local first_frame = true
 
 function reload_cef()
        cef_input:reload()
@@ -689,6 +690,25 @@ function fetch_input_resolution(signals, signal_num)
        return res
 end
 
+function update_volume()
+       if Nageru.get_num_audio_buses() < 3 or
+          Nageru.get_audio_bus_name(2) ~= 'Sound Shark' then
+               -- We haven't loaded the right audio mapping.
+               return
+       end
+
+       if first_frame then
+               Nageru.set_audio_bus_fader_level_db(2, -math.huge)
+               first_frame = false
+       end
+
+       local volume_db = Nageru.get_audio_bus_fader_level_db(2)
+       if Nageru.get_audio_bus_mute(2) or volume_db < -100.0 then
+               volume_db = -100.0
+       end
+       cef_input:execute_javascript_async("set_sound_shark_volume_db(" .. volume_db .. ")")
+end
+
 local last_rate = 0.0
 
 -- API ENTRY POINT
@@ -708,6 +728,10 @@ local last_rate = 0.0
 -- want to set (through set_int() etc.). The parameters will be snapshot
 -- at return time and used during rendering.
 function get_scene(num, t, width, height, signals)
+       if num == 0 then
+               update_volume()
+       end
+
        local input_resolution = {}
        for signal_num=0,(NUM_CAMERAS-1) do
                input_resolution[signal_num] = fetch_input_resolution(signals, signal_num)
index 98c55850af71feff4398dba2749d584c51c9ce5f..b13b88fe8c8828f325fea3fd20d79e47aad27e72 100644 (file)
@@ -6,7 +6,9 @@ device {
   alsa_info: "USB Audio"
   num_channels: 18
   address: "hw:1,0"
-  extra_delay_ms: 0
+}
+device {
+  type: SILENCE
 }
 bus {
   name: "Ambience mic"
@@ -20,3 +22,9 @@ bus {
   source_channel_left: 2
   source_channel_right: 2
 }
+bus {
+  name: "Sound Shark"
+  device_index: 1
+  source_channel_left: -1
+  source_channel_right: -1
+}
index c4cdc5a3b2c14edd01218322574a5c97f5826827..c55523cb8e4c72f35e0e59072c9fb18fffe0a842 100644 (file)
         <a href="javascript:stopcarousel();showcarousel()">show carousel</a>
         <a href="javascript:stopcarousel();hidetable()">table out</a>
       </p>
+      <p>
+        <a href="javascript:set_sound_shark_volume_db(-100.0)">sound shark off</a>
+        <a href="javascript:set_sound_shark_volume_db(0.0)">sound shark on</a>
+      </p>
     </div>
 
 <script src="jsrsasign-all-min.js" type="text/javascript"></script>
index 394bb558043a7efd1beeda406824ee6e799e86aa..1d30924c2a444e2c9a49db503f94b88f284d8f3b 100644 (file)
--- a/score.js
+++ b/score.js
@@ -188,6 +188,27 @@ function hidelowerthird()
        lowerthird_visible = false;
 }
 
+function set_sound_shark_volume_db(volume_db)
+{
+       let img = document.getElementById('lowerthird-img');
+       let should_enable = (volume_db > -40.0);
+       let currently_enabled = (img.style.display === 'inline' && img.src.match(/microphone\.png$/));
+
+       if (should_enable === currently_enabled) {
+               return;
+       }
+
+       if (should_enable) {
+               img.style.display = 'inline';
+               img.src = 'generic/microphone.png';
+               document.getElementById('lowerthird-picture').className = 'lowerthird-picture lowerthird-picture-animate-in';
+               document.getElementById('lowerthird-picture-content').className = 'lowerthird-picture-content lowerthird-picture-content-animate-in';
+       } else {
+               document.getElementById('lowerthird-picture').className = 'lowerthird-picture lowerthird-picture-animate-out';
+               document.getElementById('lowerthird-picture-content').className = 'lowerthird-picture-content lowerthird-picture-content-animate-out';
+       }
+}
+
 function time_elapsed_raw(num)
 {
        let elapsed = (Date.now() - clocks[num].origin) * 1e-3;