PC Music Generator - a Virtual Modular Synthesizer
at main 128 lines 3.9 kB view raw
1<!DOCTYPE html> 2<html> 3<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4 5<!-- Disable zooming: --> 6<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 7 8<head> 9 <title>PCMG Editor</title> 10 11 <!-- config for our rust wasm binary. go to https://trunkrs.dev/assets/#rust for more customization --> 12 <link data-trunk rel="rust" data-wasm-opt="2" data-type="main" /> 13 14 15 <!-- this is the base url relative to which other urls will be constructed. trunk will insert this from the public-url option --> 16 <base data-trunk-public-url /> 17 18 <link data-trunk rel="icon" href="../assets/favicon.ico"> 19 20 21 <link data-trunk rel="copy-file" href="../assets/manifest.json" /> 22 <link data-trunk rel="copy-file" href="../assets/icon-1024.png" /> 23 <link data-trunk rel="copy-file" href="../assets/icon-256.png" /> 24 <link data-trunk rel="copy-file" href="../assets/icon_ios_touch_192.png" /> 25 <link data-trunk rel="copy-file" href="../assets/maskable_icon_x512.png" /> 26 27 28 <link rel="manifest" href="manifest.json"> 29 <link rel="apple-touch-icon" href="icon_ios_touch_192.png"> 30 <meta name="theme-color" media="(prefers-color-scheme: light)" content="white"> 31 <meta name="theme-color" media="(prefers-color-scheme: dark)" content="#404040"> 32 33 <style> 34 html { 35 /* Remove touch delay: */ 36 touch-action: manipulation; 37 } 38 39 body { 40 /* Light mode background color for what is not covered by the egui canvas, 41 or where the egui canvas is translucent. */ 42 background: #909090; 43 } 44 45 @media (prefers-color-scheme: dark) { 46 body { 47 /* Dark mode background color for what is not covered by the egui canvas, 48 or where the egui canvas is translucent. */ 49 background: #404040; 50 } 51 } 52 53 /* Allow canvas to fill entire web page: */ 54 html, 55 body { 56 overflow: hidden; 57 margin: 0 !important; 58 padding: 0 !important; 59 height: 100%; 60 width: 100%; 61 } 62 63 /* Position canvas in center-top: */ 64 canvas { 65 margin-right: auto; 66 margin-left: auto; 67 display: block; 68 position: absolute; 69 top: 0%; 70 left: 50%; 71 transform: translate(-50%, 0%); 72 } 73 74 .centered { 75 margin-right: auto; 76 margin-left: auto; 77 display: block; 78 position: absolute; 79 top: 50%; 80 left: 50%; 81 transform: translate(-50%, -50%); 82 color: #f0f0f0; 83 font-size: 24px; 84 font-family: Ubuntu-Light, Helvetica, sans-serif; 85 text-align: center; 86 } 87 88 /* ---------------------------------------------- */ 89 /* Loading animation from https://loading.io/css/ */ 90 .lds-dual-ring { 91 display: inline-block; 92 width: 24px; 93 height: 24px; 94 } 95 96 .lds-dual-ring:after { 97 content: " "; 98 display: block; 99 width: 24px; 100 height: 24px; 101 margin: 0px; 102 border-radius: 50%; 103 border: 3px solid #fff; 104 border-color: #fff transparent #fff transparent; 105 animation: lds-dual-ring 1.2s linear infinite; 106 } 107 108 @keyframes lds-dual-ring { 109 0% { 110 transform: rotate(0deg); 111 } 112 113 100% { 114 transform: rotate(360deg); 115 } 116 } 117 </style> 118</head> 119 120<body> 121 <!-- The WASM code will resize the canvas dynamically --> 122 <!-- the id is hardcoded in main.rs . so, make sure both match. --> 123 <canvas id="egui-canvas"></canvas> 124</body> 125 126</html> 127 128<!-- Powered by egui: https://github.com/emilk/egui/ -->