Skip to content

Commit ab9f69a

Browse files
committed
feat: first draft of THR editor component
1 parent 20cf7be commit ab9f69a

File tree

118 files changed

+11633
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+11633
-0
lines changed

app/components/content/Knob.vue

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<script setup lang="ts">
2+
defineProps<{
3+
min: number
4+
max: number
5+
}>()
6+
7+
const value = defineModel<number>({
8+
type: Number,
9+
required: true
10+
})
11+
// const value = ref<number>(props.default)
12+
</script>
13+
14+
<template>
15+
<div class="h-28 flex flex-row">
16+
<USlider
17+
v-model="value"
18+
:min="min"
19+
:max="max"
20+
:step="0.01"
21+
orientation="vertical"
22+
/>
23+
<div class="flex flex-col gap-2 justify-center items-center">
24+
<UBadge
25+
:label="(value * 100).toFixed(0)"
26+
:ui="{ base: 'flex flex-col w-10' }"
27+
size="lg"
28+
variant="soft"
29+
class="bg-accented"
30+
/>
31+
<svg width="110" height="110" viewBox="0 0 90 90" xmlns="http://www.w3.org/2000/svg">
32+
<g :transform="`rotate(+${value * 300} 46 46.64)`">
33+
<circle
34+
cx="46"
35+
cy="46.64"
36+
r="45"
37+
fill="var(--ui-bg-accented)"
38+
/>
39+
<path
40+
id="arm"
41+
d="M 26 12 Q 28 10 31 13 Q 46 23 61 13 Q 64 10 66 12 L 46 46.64 Z"
42+
fill="var(--ui-primary)"
43+
/>
44+
<use href="#arm" transform="rotate(+60 46 46.64)" />
45+
<use href="#arm" transform="rotate(+120 46 46.64)" />
46+
<use href="#arm" transform="rotate(+180 46 46.64)" />
47+
<use href="#arm" transform="rotate(+240 46 46.64)" />
48+
<use href="#arm" transform="rotate(+300 46 46.64)" />
49+
<path
50+
d="M 38 46.64 L 9 46.64"
51+
stroke="var(--ui-bg)"
52+
stroke-width="5"
53+
stroke-linecap="round"
54+
transform="rotate(+300 46 46.64)"
55+
/>
56+
</g>
57+
</svg>
58+
</div>
59+
</div>
60+
</template>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<script setup lang="ts">
2+
import type { z } from 'zod'
3+
4+
type Schema = z.output<typeof schemaPreset>
5+
const parsed = schemaPreset.parse(defaultPreset)
6+
const preset = reactive<Schema>(parsed)
7+
</script>
8+
9+
<template>
10+
<div>
11+
<Knob
12+
v-model="preset.data.tone.THRGroupAmp.Mid"
13+
:default="0.34"
14+
:min="0"
15+
:max="1"
16+
/>
17+
18+
<pre>{{ preset.data.tone.THRGroupAmp }}</pre>
19+
<!-- <pre>{{ preset }}</pre> -->
20+
</div>
21+
</template>

app/utils/amps_acoustic.models

Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
[
2+
{
3+
"symbolicID" : "THR10_Aco_Condenser1LE",
4+
"id" : 0,
5+
"category" : 1,
6+
"name" : "Condensor",
7+
"shortname" : "Condensor",
8+
"params" : [
9+
{
10+
"default" : 0.5,
11+
"max" : 1,
12+
"min" : 0,
13+
"name" : "Blend",
14+
"persist" : 100,
15+
"symbolicID" : "Drive",
16+
"valueType" : 1
17+
},
18+
{
19+
"default" : 0.5,
20+
"max" : 1,
21+
"min" : 0,
22+
"name" : "Bass",
23+
"persist" : 102,
24+
"symbolicID" : "Bass",
25+
"valueType" : 1
26+
},
27+
{
28+
"default" : 0.5,
29+
"max" : 1,
30+
"min" : 0,
31+
"name" : "Middle",
32+
"persist" : 103,
33+
"symbolicID" : "Mid",
34+
"valueType" : 1
35+
},
36+
{
37+
"default" : 0.5,
38+
"max" : 1,
39+
"min" : 0,
40+
"name" : "Treble",
41+
"persist" : 104,
42+
"symbolicID" : "Treble",
43+
"valueType" : 1
44+
}
45+
]
46+
},
47+
{
48+
"symbolicID" : "THR10_Aco_Dynamic1LE",
49+
"id" : 0,
50+
"category" : 1,
51+
"name" : "Dynamic",
52+
"shortname" : "Dynamic",
53+
"params" : [
54+
{
55+
"default" : 0.5,
56+
"max" : 1,
57+
"min" : 0,
58+
"name" : "Blend",
59+
"persist" : 100,
60+
"symbolicID" : "Drive",
61+
"valueType" : 1
62+
},
63+
{
64+
"default" : 0.5,
65+
"max" : 1,
66+
"min" : 0,
67+
"name" : "Bass",
68+
"persist" : 102,
69+
"symbolicID" : "Bass",
70+
"valueType" : 1
71+
},
72+
{
73+
"default" : 0.5,
74+
"max" : 1,
75+
"min" : 0,
76+
"name" : "Middle",
77+
"persist" : 103,
78+
"symbolicID" : "Mid",
79+
"valueType" : 1
80+
},
81+
{
82+
"default" : 0.5,
83+
"max" : 1,
84+
"min" : 0,
85+
"name" : "Treble",
86+
"persist" : 104,
87+
"symbolicID" : "Treble",
88+
"valueType" : 1
89+
}
90+
]
91+
},
92+
{
93+
"symbolicID" : "THR10_Aco_Tube1LE",
94+
"id" : 0,
95+
"category" : 1,
96+
"name" : "Tube",
97+
"shortname" : "Tube",
98+
"params" : [
99+
{
100+
"default" : 0.5,
101+
"max" : 1,
102+
"min" : 0,
103+
"name" : "Blend",
104+
"persist" : 100,
105+
"symbolicID" : "Drive",
106+
"valueType" : 1
107+
},
108+
{
109+
"default" : 0.5,
110+
"max" : 1,
111+
"min" : 0,
112+
"name" : "Bass",
113+
"persist" : 102,
114+
"symbolicID" : "Bass",
115+
"valueType" : 1
116+
},
117+
{
118+
"default" : 0.5,
119+
"max" : 1,
120+
"min" : 0,
121+
"name" : "Middle",
122+
"persist" : 103,
123+
"symbolicID" : "Mid",
124+
"valueType" : 1
125+
},
126+
{
127+
"default" : 0.5,
128+
"max" : 1,
129+
"min" : 0,
130+
"name" : "Treble",
131+
"persist" : 104,
132+
"symbolicID" : "Treble",
133+
"valueType" : 1
134+
}
135+
]
136+
},
137+
{
138+
"symbolicID" : "THR10_Aco_Nylon1LE",
139+
"id" : 0,
140+
"category" : 1,
141+
"name" : "Nylon Str.",
142+
"shortname" : "Nylon Str.",
143+
"params" : [
144+
{
145+
"default" : 0.5,
146+
"max" : 1,
147+
"min" : 0,
148+
"name" : "Blend",
149+
"persist" : 100,
150+
"symbolicID" : "Drive",
151+
"valueType" : 1
152+
},
153+
{
154+
"default" : 0.5,
155+
"max" : 1,
156+
"min" : 0,
157+
"name" : "Bass",
158+
"persist" : 102,
159+
"symbolicID" : "Bass",
160+
"valueType" : 1
161+
},
162+
{
163+
"default" : 0.5,
164+
"max" : 1,
165+
"min" : 0,
166+
"name" : "Middle",
167+
"persist" : 103,
168+
"symbolicID" : "Mid",
169+
"valueType" : 1
170+
},
171+
{
172+
"default" : 0.5,
173+
"max" : 1,
174+
"min" : 0,
175+
"name" : "Treble",
176+
"persist" : 104,
177+
"symbolicID" : "Treble",
178+
"valueType" : 1
179+
}
180+
]
181+
},
182+
{
183+
"symbolicID" : "THR10_Flat_A",
184+
"id" : 0,
185+
"category" : 1,
186+
"name" : "Flat",
187+
"shortname" : "Flat",
188+
"params" : [
189+
{
190+
"default" : 0.5,
191+
"max" : 1,
192+
"min" : 0,
193+
"name" : "Gain",
194+
"persist" : 100,
195+
"symbolicID" : "Drive",
196+
"valueType" : 1
197+
},
198+
{
199+
"default" : 0.5,
200+
"max" : 1,
201+
"min" : 0,
202+
"name" : "Bass",
203+
"persist" : 102,
204+
"symbolicID" : "Bass",
205+
"valueType" : 1
206+
},
207+
{
208+
"default" : 0.5,
209+
"max" : 1,
210+
"min" : 0,
211+
"name" : "Middle",
212+
"persist" : 103,
213+
"symbolicID" : "Mid",
214+
"valueType" : 1
215+
},
216+
{
217+
"default" : 0.5,
218+
"max" : 1,
219+
"min" : 0,
220+
"name" : "Treble",
221+
"persist" : 104,
222+
"symbolicID" : "Treble",
223+
"valueType" : 1
224+
}
225+
]
226+
}
227+
]

0 commit comments

Comments
 (0)