-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
121 lines (96 loc) · 4.39 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>Audio Visualizer</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="An audio visualizer.">
<link rel="stylesheet" href="styles/fonts.css">
<link rel="stylesheet" href="styles/base.css">
<link rel="stylesheet" href="styles/main.css">
<link rel="stylesheet" href="styles/sidebar/sidebar.css">
<link rel="stylesheet" href="styles/sidebar/chevron.css">
<link rel="stylesheet" href="styles/sidebar/inputs.css">
<link rel="stylesheet" href="styles/sidebar/uploadButton.css">
<link rel="stylesheet" href="styles/modals/modals.css">
<link rel="stylesheet" href="styles/modals/cacheModal.css">
<link rel="stylesheet" href="styles/modals/inputModal.css">
<link rel="stylesheet" href="styles/modals/renderProgress.css">
<link rel="stylesheet" href="styles/bottombar/bottombar.css">
<link rel="stylesheet" href="styles/bottombar/seekbar.css">
<script src="js/main.js" type="module"></script>
</head>
<body>
<!-- accessibility: better-ish... not perfect but I have no experience with accessibility -->
<div id="modals">
<div id="cache-modal" class="hide" role="form" aria-labelledby="cache-header" aria-describedby="cache-text">
<p id="cache-header">File data cached</p>
<p id="cache-text">It looks like this file has been processed before.<br>Do you want to use the cached data?</p>
<div id="cache-buttons">
<button id="cache-yes">Yes</button>
<button id="cache-no">No</button>
</div>
</div>
<div id="render-modal" class="hide" role="dialog" aria-labelledby="render-label">
<p id="render-label">Rendering...</p>
<div id="render-bar-container">
<div id="render-bar-progress"></div>
</div>
</div>
<div id="input-modal" class="hide" role="dialog" aria-labelledby="input-label">
<div id="input-dimmer"></div>
<div id="input-grid">
<p id="input-label">Enter <span id="input-label-type"></span>...</p>
<div id="input-container">
<input id="input-input" autocomplete="off">
<span id="input-underline"></span>
<!-- TODO: make input-input adjust based on width of its content; see https://stackoverflow.com/questions/3392493/adjust-width-of-input-field-to-its-input -->
</div>
<div id="input-unit-container">
<span id="input-unit">%</span>
</div>
<p id="input-error"> </p>
</div>
</div>
</div>
<div id="sidebar" class="show">
<i id="sidebar-chevron"></i>
<button id="upload-button" tabindex="0">Upload</button>
<input id="file-input" type="file" accept="audio/*">
<div id="frequency-container">
<!-- data-label="a bar factor (2<sup style='font-size: 1.5rem'>n</sup>)" -->
<div id="frequency-input" data-type="number" data-range="4,14" data-for="bar-factor" data-label="a bar factor (2^n)">
<!-- TODO: make these spans buttons -->
<p class="sidebar-input">Bar factor: 2^<span>9</span></p>
</div>
<p id="frequency-computed" class="sidebar-error">(512)</p>
</div>
<div id="animation-container">
<p class="sidebar-header">Background Animation</p>
<div class="bg-input" data-type="number" data-range="0,100" data-unit="%" data-for="ramp" data-label="a ramp-up value">
<p class="sidebar-input">Ramp up time: <span>10%</span></p>
</div>
<div class="bg-input" data-type="number" data-range="0,100" data-unit="%" data-for="sustain" data-label="a sustain duration">
<p class="sidebar-input">Sustain time: <span>5%</span></p>
</div>
<div class="bg-input" data-type="number" data-range="0,100" data-unit="%" data-for="fade" data-label="a fade-out time">
<p class="sidebar-input">Fade out time: <span>35%</span></p>
</div>
<div class="bg-input" data-type="number" data-range="0,100" data-unit="%" data-for="lightness" data-label="the maximum lightness">
<p class="sidebar-input">Maximum lightness: <span>20%</span></p>
</div>
</div>
<!-- TODO: add a checkbox somewhere for "always used cached data where available" -->
</div>
<canvas id="canvas"></canvas>
<div id="bottombar">
<div id="seekbar-status-bar">
<!-- icons, current time, etc. or time on either side of seekbar? -->
</div>
<div id="seekbar-bar" style="--value: 0%;">
<div id="seekbar-progress"></div>
<div id="seekbar-grabber" draggable="true"></div>
</div>
</div>
</body>
</html>