audio-mixer-ui 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -65
- package/dist/audio-mixer-ui.js +627 -531
- package/dist/audio-mixer-ui.umd.cjs +1 -1
- package/dist/style.css +1 -1
- package/package.json +4 -3
package/dist/audio-mixer-ui.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
import { defineStore as
|
|
3
|
-
var
|
|
1
|
+
import { ref as E, watch as D, unref as O, onScopeDispose as Ue, readonly as Se, mergeModels as fe, useCssVars as G, computed as M, useTemplateRef as Z, useModel as j, createElementBlock as S, openBlock as y, normalizeClass as R, createElementVNode as c, createCommentVNode as se, Fragment as le, renderList as ge, normalizeStyle as qe, renderSlot as re, toDisplayString as F, onUnmounted as he, watchEffect as ke, onMounted as be, createVNode as V, withCtx as H, createTextVNode as ye, withDirectives as Re, withKeys as He, vModelText as Le, withModifiers as Te, createBlock as Me } from "vue";
|
|
2
|
+
import { defineStore as _e } from "pinia";
|
|
3
|
+
var Oe = function() {
|
|
4
4
|
if (typeof Map < "u")
|
|
5
5
|
return Map;
|
|
6
6
|
function e(t, a) {
|
|
7
7
|
var n = -1;
|
|
8
|
-
return t.some(function(s,
|
|
9
|
-
return s[0] === a ? (n =
|
|
8
|
+
return t.some(function(s, l) {
|
|
9
|
+
return s[0] === a ? (n = l, !0) : !1;
|
|
10
10
|
}), n;
|
|
11
11
|
}
|
|
12
12
|
return (
|
|
@@ -39,47 +39,47 @@ var Ie = function() {
|
|
|
39
39
|
this.__entries__.splice(0);
|
|
40
40
|
}, t.prototype.forEach = function(a, n) {
|
|
41
41
|
n === void 0 && (n = null);
|
|
42
|
-
for (var s = 0,
|
|
43
|
-
var
|
|
44
|
-
a.call(n,
|
|
42
|
+
for (var s = 0, l = this.__entries__; s < l.length; s++) {
|
|
43
|
+
var r = l[s];
|
|
44
|
+
a.call(n, r[1], r[0]);
|
|
45
45
|
}
|
|
46
46
|
}, t;
|
|
47
47
|
}()
|
|
48
48
|
);
|
|
49
|
-
}(),
|
|
49
|
+
}(), pe = typeof window < "u" && typeof document < "u" && window.document === document, ue = function() {
|
|
50
50
|
return typeof global < "u" && global.Math === Math ? global : typeof self < "u" && self.Math === Math ? self : typeof window < "u" && window.Math === Math ? window : Function("return this")();
|
|
51
|
-
}(),
|
|
52
|
-
return typeof requestAnimationFrame == "function" ? requestAnimationFrame.bind(
|
|
51
|
+
}(), We = function() {
|
|
52
|
+
return typeof requestAnimationFrame == "function" ? requestAnimationFrame.bind(ue) : function(e) {
|
|
53
53
|
return setTimeout(function() {
|
|
54
54
|
return e(Date.now());
|
|
55
55
|
}, 1e3 / 60);
|
|
56
56
|
};
|
|
57
|
-
}(),
|
|
58
|
-
function
|
|
57
|
+
}(), Ze = 2;
|
|
58
|
+
function je(e, t) {
|
|
59
59
|
var a = !1, n = !1, s = 0;
|
|
60
|
-
function i() {
|
|
61
|
-
a && (a = !1, e()), n && h();
|
|
62
|
-
}
|
|
63
60
|
function l() {
|
|
64
|
-
|
|
61
|
+
a && (a = !1, e()), n && m();
|
|
62
|
+
}
|
|
63
|
+
function r() {
|
|
64
|
+
We(l);
|
|
65
65
|
}
|
|
66
|
-
function
|
|
66
|
+
function m() {
|
|
67
67
|
var u = Date.now();
|
|
68
68
|
if (a) {
|
|
69
|
-
if (u - s <
|
|
69
|
+
if (u - s < Ze)
|
|
70
70
|
return;
|
|
71
71
|
n = !0;
|
|
72
72
|
} else
|
|
73
|
-
a = !0, n = !1, setTimeout(
|
|
73
|
+
a = !0, n = !1, setTimeout(r, t);
|
|
74
74
|
s = u;
|
|
75
75
|
}
|
|
76
|
-
return
|
|
76
|
+
return m;
|
|
77
77
|
}
|
|
78
|
-
var
|
|
78
|
+
var Ge = 20, Ke = ["top", "right", "bottom", "left", "width", "height", "size", "weight"], Ye = typeof MutationObserver < "u", Qe = (
|
|
79
79
|
/** @class */
|
|
80
80
|
function() {
|
|
81
81
|
function e() {
|
|
82
|
-
this.connected_ = !1, this.mutationEventsAdded_ = !1, this.mutationsObserver_ = null, this.observers_ = [], this.onTransitionEnd_ = this.onTransitionEnd_.bind(this), this.refresh =
|
|
82
|
+
this.connected_ = !1, this.mutationEventsAdded_ = !1, this.mutationsObserver_ = null, this.observers_ = [], this.onTransitionEnd_ = this.onTransitionEnd_.bind(this), this.refresh = je(this.refresh.bind(this), Ge);
|
|
83
83
|
}
|
|
84
84
|
return e.prototype.addObserver = function(t) {
|
|
85
85
|
~this.observers_.indexOf(t) || this.observers_.push(t), this.connected_ || this.connect_();
|
|
@@ -97,24 +97,24 @@ var Ze = 20, Ke = ["top", "right", "bottom", "left", "width", "height", "size",
|
|
|
97
97
|
return a.broadcastActive();
|
|
98
98
|
}), t.length > 0;
|
|
99
99
|
}, e.prototype.connect_ = function() {
|
|
100
|
-
!
|
|
100
|
+
!pe || this.connected_ || (document.addEventListener("transitionend", this.onTransitionEnd_), window.addEventListener("resize", this.refresh), Ye ? (this.mutationsObserver_ = new MutationObserver(this.refresh), this.mutationsObserver_.observe(document, {
|
|
101
101
|
attributes: !0,
|
|
102
102
|
childList: !0,
|
|
103
103
|
characterData: !0,
|
|
104
104
|
subtree: !0
|
|
105
105
|
})) : (document.addEventListener("DOMSubtreeModified", this.refresh), this.mutationEventsAdded_ = !0), this.connected_ = !0);
|
|
106
106
|
}, e.prototype.disconnect_ = function() {
|
|
107
|
-
!
|
|
107
|
+
!pe || !this.connected_ || (document.removeEventListener("transitionend", this.onTransitionEnd_), window.removeEventListener("resize", this.refresh), this.mutationsObserver_ && this.mutationsObserver_.disconnect(), this.mutationEventsAdded_ && document.removeEventListener("DOMSubtreeModified", this.refresh), this.mutationsObserver_ = null, this.mutationEventsAdded_ = !1, this.connected_ = !1);
|
|
108
108
|
}, e.prototype.onTransitionEnd_ = function(t) {
|
|
109
|
-
var a = t.propertyName, n = a === void 0 ? "" : a, s = Ke.some(function(
|
|
110
|
-
return !!~n.indexOf(
|
|
109
|
+
var a = t.propertyName, n = a === void 0 ? "" : a, s = Ke.some(function(l) {
|
|
110
|
+
return !!~n.indexOf(l);
|
|
111
111
|
});
|
|
112
112
|
s && this.refresh();
|
|
113
113
|
}, e.getInstance = function() {
|
|
114
114
|
return this.instance_ || (this.instance_ = new e()), this.instance_;
|
|
115
115
|
}, e.instance_ = null, e;
|
|
116
116
|
}()
|
|
117
|
-
),
|
|
117
|
+
), Ie = function(e, t) {
|
|
118
118
|
for (var a = 0, n = Object.keys(t); a < n.length; a++) {
|
|
119
119
|
var s = n[a];
|
|
120
120
|
Object.defineProperty(e, s, {
|
|
@@ -125,59 +125,59 @@ var Ze = 20, Ke = ["top", "right", "bottom", "left", "width", "height", "size",
|
|
|
125
125
|
});
|
|
126
126
|
}
|
|
127
127
|
return e;
|
|
128
|
-
},
|
|
128
|
+
}, J = function(e) {
|
|
129
129
|
var t = e && e.ownerDocument && e.ownerDocument.defaultView;
|
|
130
|
-
return t ||
|
|
131
|
-
}, Ae =
|
|
132
|
-
function
|
|
130
|
+
return t || ue;
|
|
131
|
+
}, Ae = me(0, 0, 0, 0);
|
|
132
|
+
function ce(e) {
|
|
133
133
|
return parseFloat(e) || 0;
|
|
134
134
|
}
|
|
135
|
-
function
|
|
135
|
+
function Ce(e) {
|
|
136
136
|
for (var t = [], a = 1; a < arguments.length; a++)
|
|
137
137
|
t[a - 1] = arguments[a];
|
|
138
138
|
return t.reduce(function(n, s) {
|
|
139
|
-
var
|
|
140
|
-
return n +
|
|
139
|
+
var l = e["border-" + s + "-width"];
|
|
140
|
+
return n + ce(l);
|
|
141
141
|
}, 0);
|
|
142
142
|
}
|
|
143
143
|
function Xe(e) {
|
|
144
144
|
for (var t = ["top", "right", "bottom", "left"], a = {}, n = 0, s = t; n < s.length; n++) {
|
|
145
|
-
var
|
|
146
|
-
a[
|
|
145
|
+
var l = s[n], r = e["padding-" + l];
|
|
146
|
+
a[l] = ce(r);
|
|
147
147
|
}
|
|
148
148
|
return a;
|
|
149
149
|
}
|
|
150
150
|
function Je(e) {
|
|
151
151
|
var t = e.getBBox();
|
|
152
|
-
return
|
|
152
|
+
return me(0, 0, t.width, t.height);
|
|
153
153
|
}
|
|
154
154
|
function et(e) {
|
|
155
155
|
var t = e.clientWidth, a = e.clientHeight;
|
|
156
156
|
if (!t && !a)
|
|
157
157
|
return Ae;
|
|
158
|
-
var n =
|
|
159
|
-
if (n.boxSizing === "border-box" && (Math.round(
|
|
160
|
-
var
|
|
161
|
-
Math.abs(
|
|
158
|
+
var n = J(e).getComputedStyle(e), s = Xe(n), l = s.left + s.right, r = s.top + s.bottom, m = ce(n.width), u = ce(n.height);
|
|
159
|
+
if (n.boxSizing === "border-box" && (Math.round(m + l) !== t && (m -= Ce(n, "left", "right") + l), Math.round(u + r) !== a && (u -= Ce(n, "top", "bottom") + r)), !at(e)) {
|
|
160
|
+
var i = Math.round(m + l) - t, d = Math.round(u + r) - a;
|
|
161
|
+
Math.abs(i) !== 1 && (m -= i), Math.abs(d) !== 1 && (u -= d);
|
|
162
162
|
}
|
|
163
|
-
return
|
|
163
|
+
return me(s.left, s.top, m, u);
|
|
164
164
|
}
|
|
165
165
|
var tt = /* @__PURE__ */ function() {
|
|
166
166
|
return typeof SVGGraphicsElement < "u" ? function(e) {
|
|
167
|
-
return e instanceof
|
|
167
|
+
return e instanceof J(e).SVGGraphicsElement;
|
|
168
168
|
} : function(e) {
|
|
169
|
-
return e instanceof
|
|
169
|
+
return e instanceof J(e).SVGElement && typeof e.getBBox == "function";
|
|
170
170
|
};
|
|
171
171
|
}();
|
|
172
172
|
function at(e) {
|
|
173
|
-
return e ===
|
|
173
|
+
return e === J(e).document.documentElement;
|
|
174
174
|
}
|
|
175
175
|
function nt(e) {
|
|
176
|
-
return
|
|
176
|
+
return pe ? tt(e) ? Je(e) : et(e) : Ae;
|
|
177
177
|
}
|
|
178
178
|
function st(e) {
|
|
179
|
-
var t = e.x, a = e.y, n = e.width, s = e.height,
|
|
180
|
-
return
|
|
179
|
+
var t = e.x, a = e.y, n = e.width, s = e.height, l = typeof DOMRectReadOnly < "u" ? DOMRectReadOnly : Object, r = Object.create(l.prototype);
|
|
180
|
+
return Ie(r, {
|
|
181
181
|
x: t,
|
|
182
182
|
y: a,
|
|
183
183
|
width: n,
|
|
@@ -186,16 +186,16 @@ function st(e) {
|
|
|
186
186
|
right: t + n,
|
|
187
187
|
bottom: s + a,
|
|
188
188
|
left: t
|
|
189
|
-
}),
|
|
189
|
+
}), r;
|
|
190
190
|
}
|
|
191
|
-
function
|
|
191
|
+
function me(e, t, a, n) {
|
|
192
192
|
return { x: e, y: t, width: a, height: n };
|
|
193
193
|
}
|
|
194
194
|
var rt = (
|
|
195
195
|
/** @class */
|
|
196
196
|
function() {
|
|
197
197
|
function e(t) {
|
|
198
|
-
this.broadcastWidth = 0, this.broadcastHeight = 0, this.contentRect_ =
|
|
198
|
+
this.broadcastWidth = 0, this.broadcastHeight = 0, this.contentRect_ = me(0, 0, 0, 0), this.target = t;
|
|
199
199
|
}
|
|
200
200
|
return e.prototype.isActive = function() {
|
|
201
201
|
var t = nt(this.target);
|
|
@@ -210,7 +210,7 @@ var rt = (
|
|
|
210
210
|
/* @__PURE__ */ function() {
|
|
211
211
|
function e(t, a) {
|
|
212
212
|
var n = st(a);
|
|
213
|
-
|
|
213
|
+
Ie(this, { target: t, contentRect: n });
|
|
214
214
|
}
|
|
215
215
|
return e;
|
|
216
216
|
}()
|
|
@@ -218,7 +218,7 @@ var rt = (
|
|
|
218
218
|
/** @class */
|
|
219
219
|
function() {
|
|
220
220
|
function e(t, a, n) {
|
|
221
|
-
if (this.activeObservations_ = [], this.observations_ = new
|
|
221
|
+
if (this.activeObservations_ = [], this.observations_ = new Oe(), typeof t != "function")
|
|
222
222
|
throw new TypeError("The callback provided as parameter 1 is not a function.");
|
|
223
223
|
this.callback_ = t, this.controller_ = a, this.callbackCtx_ = n;
|
|
224
224
|
}
|
|
@@ -226,7 +226,7 @@ var rt = (
|
|
|
226
226
|
if (!arguments.length)
|
|
227
227
|
throw new TypeError("1 argument required, but only 0 present.");
|
|
228
228
|
if (!(typeof Element > "u" || !(Element instanceof Object))) {
|
|
229
|
-
if (!(t instanceof
|
|
229
|
+
if (!(t instanceof J(t).Element))
|
|
230
230
|
throw new TypeError('parameter 1 is not of type "Element".');
|
|
231
231
|
var a = this.observations_;
|
|
232
232
|
a.has(t) || (a.set(t, new rt(t)), this.controller_.addObserver(this), this.controller_.refresh());
|
|
@@ -235,7 +235,7 @@ var rt = (
|
|
|
235
235
|
if (!arguments.length)
|
|
236
236
|
throw new TypeError("1 argument required, but only 0 present.");
|
|
237
237
|
if (!(typeof Element > "u" || !(Element instanceof Object))) {
|
|
238
|
-
if (!(t instanceof
|
|
238
|
+
if (!(t instanceof J(t).Element))
|
|
239
239
|
throw new TypeError('parameter 1 is not of type "Element".');
|
|
240
240
|
var a = this.observations_;
|
|
241
241
|
a.has(t) && (a.delete(t), a.size || this.controller_.removeObserver(this));
|
|
@@ -260,7 +260,7 @@ var rt = (
|
|
|
260
260
|
return this.activeObservations_.length > 0;
|
|
261
261
|
}, e;
|
|
262
262
|
}()
|
|
263
|
-
),
|
|
263
|
+
), Ne = typeof WeakMap < "u" ? /* @__PURE__ */ new WeakMap() : new Oe(), $e = (
|
|
264
264
|
/** @class */
|
|
265
265
|
/* @__PURE__ */ function() {
|
|
266
266
|
function e(t) {
|
|
@@ -269,7 +269,7 @@ var rt = (
|
|
|
269
269
|
if (!arguments.length)
|
|
270
270
|
throw new TypeError("1 argument required, but only 0 present.");
|
|
271
271
|
var a = Qe.getInstance(), n = new ot(t, a, this);
|
|
272
|
-
|
|
272
|
+
Ne.set(this, n);
|
|
273
273
|
}
|
|
274
274
|
return e;
|
|
275
275
|
}()
|
|
@@ -279,36 +279,36 @@ var rt = (
|
|
|
279
279
|
"unobserve",
|
|
280
280
|
"disconnect"
|
|
281
281
|
].forEach(function(e) {
|
|
282
|
-
|
|
282
|
+
$e.prototype[e] = function() {
|
|
283
283
|
var t;
|
|
284
|
-
return (t =
|
|
284
|
+
return (t = Ne.get(this))[e].apply(t, arguments);
|
|
285
285
|
};
|
|
286
286
|
});
|
|
287
287
|
var lt = function() {
|
|
288
|
-
return typeof
|
|
288
|
+
return typeof ue.ResizeObserver < "u" ? ue.ResizeObserver : $e;
|
|
289
289
|
}();
|
|
290
|
-
function
|
|
291
|
-
const t =
|
|
290
|
+
function K(e) {
|
|
291
|
+
const t = E(0), a = E(0);
|
|
292
292
|
let n = null;
|
|
293
293
|
const s = () => {
|
|
294
294
|
n && (n.disconnect(), n = null);
|
|
295
295
|
};
|
|
296
|
-
return D(() =>
|
|
296
|
+
return D(() => O(e), () => {
|
|
297
297
|
s();
|
|
298
|
-
const
|
|
299
|
-
if (!
|
|
298
|
+
const r = O(e);
|
|
299
|
+
if (!r) return;
|
|
300
300
|
n = new lt((u) => {
|
|
301
|
-
const
|
|
302
|
-
|
|
303
|
-
}), n.observe(
|
|
304
|
-
const
|
|
305
|
-
t.value =
|
|
306
|
-
}, { immediate: !0 }),
|
|
301
|
+
const i = u[0];
|
|
302
|
+
i && (t.value = i.contentRect.width, a.value = i.contentRect.height);
|
|
303
|
+
}), n.observe(r);
|
|
304
|
+
const m = r.getBoundingClientRect();
|
|
305
|
+
t.value = m.width, a.value = m.height;
|
|
306
|
+
}, { immediate: !0 }), Ue(s), {
|
|
307
307
|
width: Se(t),
|
|
308
308
|
height: Se(a)
|
|
309
309
|
};
|
|
310
310
|
}
|
|
311
|
-
const
|
|
311
|
+
const U = (e, t) => {
|
|
312
312
|
const a = e.__vccOpts || e;
|
|
313
313
|
for (const [n, s] of t)
|
|
314
314
|
a[n] = s;
|
|
@@ -318,7 +318,7 @@ const L = (e, t) => {
|
|
|
318
318
|
class: "level"
|
|
319
319
|
}, ct = {
|
|
320
320
|
__name: "AudioSlider",
|
|
321
|
-
props: /* @__PURE__ */
|
|
321
|
+
props: /* @__PURE__ */ fe({
|
|
322
322
|
min: { type: Number, default: 0 },
|
|
323
323
|
max: { type: Number, default: 1 },
|
|
324
324
|
step: { type: Number, default: 0.01 },
|
|
@@ -333,71 +333,71 @@ const L = (e, t) => {
|
|
|
333
333
|
}),
|
|
334
334
|
emits: ["update:value"],
|
|
335
335
|
setup(e) {
|
|
336
|
-
|
|
337
|
-
"3d436468":
|
|
338
|
-
"345b6e65":
|
|
339
|
-
"3327b972":
|
|
340
|
-
"5ae48cf2":
|
|
341
|
-
"01a7bd27":
|
|
336
|
+
G((f) => ({
|
|
337
|
+
"3d436468": _.value,
|
|
338
|
+
"345b6e65": C.value,
|
|
339
|
+
"3327b972": N.value,
|
|
340
|
+
"5ae48cf2": B.value,
|
|
341
|
+
"01a7bd27": L.value
|
|
342
342
|
}));
|
|
343
|
-
const t = e, a =
|
|
344
|
-
if (!a.value) return
|
|
345
|
-
const
|
|
346
|
-
let
|
|
347
|
-
if (
|
|
348
|
-
const
|
|
349
|
-
|
|
343
|
+
const t = e, a = Z("root"), { width: n, height: s } = K(a), l = M(() => Math.min(n.value, s.value)), r = M(() => Math.max(n.value, s.value)), m = M(() => n.value > s.value), u = M(() => m.value ? "h-slide" : "v-slide"), i = j(e, "value"), d = M(() => l.value * 0.8), v = M(() => l.value * t.thumbLength * 0.8), C = M(() => (m.value ? v : d).value + "px"), _ = M(() => (m.value ? d : v).value + "px"), B = M(() => l.value * 0.1 + "px"), L = M(() => (r.value - v.value) * (i.value - t.min) / (t.max - t.min) + "px"), N = M(() => m.value ? "90deg" : "0deg"), x = E(!1), g = E(0), w = (f) => {
|
|
344
|
+
if (!a.value) return i.value;
|
|
345
|
+
const A = a.value.getBoundingClientRect(), p = f.touches ? f.touches[0].clientX : f.clientX, b = f.touches ? f.touches[0].clientY : f.clientY;
|
|
346
|
+
let T;
|
|
347
|
+
if (m.value) {
|
|
348
|
+
const q = p - A.left - d.value / 2, W = A.width - d.value;
|
|
349
|
+
T = Math.max(0, Math.min(1, q / W));
|
|
350
350
|
} else {
|
|
351
|
-
const
|
|
352
|
-
|
|
351
|
+
const q = A.bottom - b - d.value / 2, W = A.height - d.value;
|
|
352
|
+
T = Math.max(0, Math.min(1, q / W));
|
|
353
353
|
}
|
|
354
|
-
const
|
|
355
|
-
return t.step > 0 ? Math.round(
|
|
356
|
-
},
|
|
357
|
-
|
|
358
|
-
},
|
|
359
|
-
|
|
360
|
-
},
|
|
361
|
-
if (
|
|
362
|
-
if (
|
|
354
|
+
const $ = t.min + T * (t.max - t.min);
|
|
355
|
+
return t.step > 0 ? Math.round($ / t.step) * t.step : $;
|
|
356
|
+
}, k = (f) => {
|
|
357
|
+
f.preventDefault(), x.value = !0, g.value = i.value, i.value = w(f), a.value && a.value.setPointerCapture && a.value.setPointerCapture(f.pointerId), document.addEventListener("mousemove", I), document.addEventListener("mouseup", Y);
|
|
358
|
+
}, I = (f) => {
|
|
359
|
+
x.value && (f.preventDefault(), i.value = w(f));
|
|
360
|
+
}, Y = (f) => {
|
|
361
|
+
if (x.value) {
|
|
362
|
+
if (f.preventDefault(), x.value = !1, a.value && a.value.releasePointerCapture)
|
|
363
363
|
try {
|
|
364
|
-
a.value.releasePointerCapture(
|
|
364
|
+
a.value.releasePointerCapture(f.pointerId);
|
|
365
365
|
} catch {
|
|
366
366
|
}
|
|
367
|
-
document.removeEventListener("mousemove",
|
|
367
|
+
document.removeEventListener("mousemove", I), document.removeEventListener("mouseup", Y);
|
|
368
368
|
}
|
|
369
|
-
},
|
|
370
|
-
|
|
371
|
-
},
|
|
372
|
-
|
|
373
|
-
},
|
|
374
|
-
|
|
375
|
-
},
|
|
376
|
-
return (
|
|
377
|
-
class:
|
|
369
|
+
}, te = (f) => {
|
|
370
|
+
f.preventDefault(), f.touches.length === 1 && (x.value = !0, g.value = i.value, i.value = w(f), document.addEventListener("touchmove", Q, { passive: !1 }), document.addEventListener("touchend", z), document.addEventListener("touchcancel", z));
|
|
371
|
+
}, Q = (f) => {
|
|
372
|
+
x.value && (f.preventDefault(), f.touches.length === 1 && (i.value = w(f)));
|
|
373
|
+
}, z = (f) => {
|
|
374
|
+
x.value && (f.preventDefault(), x.value = !1, document.removeEventListener("touchmove", Q), document.removeEventListener("touchend", z), document.removeEventListener("touchcancel", z));
|
|
375
|
+
}, ae = (f) => Math.min(1, Math.max(0, t.level * 10 - f + 1));
|
|
376
|
+
return (f, A) => (y(), S("div", {
|
|
377
|
+
class: R(u.value),
|
|
378
378
|
ref_key: "root",
|
|
379
379
|
ref: a,
|
|
380
|
-
onMousedown:
|
|
381
|
-
onTouchstart:
|
|
380
|
+
onMousedown: k,
|
|
381
|
+
onTouchstart: te,
|
|
382
382
|
style: { userSelect: "none", touchAction: "none" }
|
|
383
383
|
}, [
|
|
384
|
-
|
|
385
|
-
e.showLevel ? (y(),
|
|
386
|
-
(y(),
|
|
387
|
-
class:
|
|
384
|
+
A[0] || (A[0] = c("div", { class: "track" }, null, -1)),
|
|
385
|
+
e.showLevel ? (y(), S("div", ut, [
|
|
386
|
+
(y(), S(le, null, ge(10, (p) => c("div", {
|
|
387
|
+
class: R(["led", "led" + p])
|
|
388
388
|
}, [
|
|
389
|
-
|
|
389
|
+
c("div", {
|
|
390
390
|
class: "on",
|
|
391
|
-
style:
|
|
391
|
+
style: qe({ opacity: ae(p) })
|
|
392
392
|
}, null, 4)
|
|
393
393
|
], 2)), 64))
|
|
394
|
-
])) :
|
|
395
|
-
|
|
396
|
-
class:
|
|
394
|
+
])) : se("", !0),
|
|
395
|
+
c("div", {
|
|
396
|
+
class: R(["thumb", { dragging: x.value, [e.colour]: !0, [e.style]: !0 }])
|
|
397
397
|
}, null, 2)
|
|
398
398
|
], 34));
|
|
399
399
|
}
|
|
400
|
-
},
|
|
400
|
+
}, de = /* @__PURE__ */ U(ct, [["__scopeId", "data-v-1580ed15"]]), dt = {
|
|
401
401
|
__name: "TitleText",
|
|
402
402
|
props: {
|
|
403
403
|
align: {
|
|
@@ -406,23 +406,23 @@ const L = (e, t) => {
|
|
|
406
406
|
}
|
|
407
407
|
},
|
|
408
408
|
setup(e) {
|
|
409
|
-
|
|
410
|
-
"5fddb56d":
|
|
409
|
+
G((m) => ({
|
|
410
|
+
"5fddb56d": r.value
|
|
411
411
|
}));
|
|
412
|
-
const t =
|
|
413
|
-
return (
|
|
412
|
+
const t = Z("el"), { width: a, height: n } = K(t), s = M(() => Math.min(a.value, n.value)), l = M(() => a.value > n.value ? "h-text" : "v-text"), r = M(() => s.value * 3 / 4 + "px");
|
|
413
|
+
return (m, u) => (y(), S("div", {
|
|
414
414
|
ref_key: "el",
|
|
415
415
|
ref: t,
|
|
416
416
|
class: "outer"
|
|
417
417
|
}, [
|
|
418
|
-
|
|
419
|
-
class:
|
|
418
|
+
c("div", {
|
|
419
|
+
class: R({ [l.value]: !0, [e.align]: !0 })
|
|
420
420
|
}, [
|
|
421
|
-
|
|
421
|
+
re(m.$slots, "default", {}, void 0, !0)
|
|
422
422
|
], 2)
|
|
423
423
|
], 512));
|
|
424
424
|
}
|
|
425
|
-
}, De = /* @__PURE__ */
|
|
425
|
+
}, De = /* @__PURE__ */ U(dt, [["__scopeId", "data-v-3ce29e77"]]), ht = {
|
|
426
426
|
__name: "TriState",
|
|
427
427
|
props: {
|
|
428
428
|
mute: { default: !1 },
|
|
@@ -432,37 +432,37 @@ const L = (e, t) => {
|
|
|
432
432
|
},
|
|
433
433
|
emits: ["update:mute", "update:solo"],
|
|
434
434
|
setup(e) {
|
|
435
|
-
const t =
|
|
436
|
-
function
|
|
435
|
+
const t = j(e, "mute"), a = j(e, "solo"), n = Z("outer"), { width: s, height: l } = K(n), r = M(() => s.value > l.value * 1.9);
|
|
436
|
+
function m() {
|
|
437
437
|
t.value = !t.value, a.value = !1;
|
|
438
438
|
}
|
|
439
439
|
function u() {
|
|
440
440
|
a.value = !a.value, t.value = !1;
|
|
441
441
|
}
|
|
442
|
-
return (
|
|
442
|
+
return (i, d) => (y(), S("div", {
|
|
443
443
|
class: "outer",
|
|
444
444
|
ref_key: "outer",
|
|
445
445
|
ref: n
|
|
446
446
|
}, [
|
|
447
|
-
|
|
448
|
-
class:
|
|
447
|
+
c("div", {
|
|
448
|
+
class: R(["solo", { on: a.value }]),
|
|
449
449
|
onClick: u
|
|
450
450
|
}, null, 2),
|
|
451
|
-
|
|
451
|
+
c("div", {
|
|
452
452
|
class: "s-label",
|
|
453
453
|
onClick: u
|
|
454
|
-
},
|
|
455
|
-
|
|
456
|
-
class:
|
|
457
|
-
onClick:
|
|
454
|
+
}, F(r.value ? "SOLO" : "S"), 1),
|
|
455
|
+
c("div", {
|
|
456
|
+
class: R(["mute", { on: t.value }]),
|
|
457
|
+
onClick: m
|
|
458
458
|
}, null, 2),
|
|
459
|
-
|
|
459
|
+
c("div", {
|
|
460
460
|
class: "m-label",
|
|
461
|
-
onClick:
|
|
462
|
-
},
|
|
461
|
+
onClick: m
|
|
462
|
+
}, F(r.value ? "MUTE" : "M"), 1)
|
|
463
463
|
], 512));
|
|
464
464
|
}
|
|
465
|
-
}, mt = /* @__PURE__ */
|
|
465
|
+
}, mt = /* @__PURE__ */ U(ht, [["__scopeId", "data-v-143eade0"]]), ve = {
|
|
466
466
|
// Enable development UI features (animations, random data, etc.)
|
|
467
467
|
enabled: !1,
|
|
468
468
|
// Specific feature flags
|
|
@@ -474,7 +474,7 @@ const L = (e, t) => {
|
|
|
474
474
|
// Enable other debug/dev features as needed
|
|
475
475
|
debugMode: !1
|
|
476
476
|
}
|
|
477
|
-
},
|
|
477
|
+
}, aa = () => ve.enabled, ze = (e) => ve.enabled && ve.features[e], ee = _e("audioState", {
|
|
478
478
|
state: () => ({
|
|
479
479
|
// Playback state
|
|
480
480
|
isPlaying: !1,
|
|
@@ -548,7 +548,7 @@ const L = (e, t) => {
|
|
|
548
548
|
});
|
|
549
549
|
}
|
|
550
550
|
}
|
|
551
|
-
}),
|
|
551
|
+
}), ie = _e("musicData", {
|
|
552
552
|
state: () => ({
|
|
553
553
|
// Musical structure
|
|
554
554
|
beats: [],
|
|
@@ -565,10 +565,12 @@ const L = (e, t) => {
|
|
|
565
565
|
getters: {
|
|
566
566
|
// Get time for a specific bar and repeat
|
|
567
567
|
getTimeFromBar: (e) => (t, a = 0) => {
|
|
568
|
-
|
|
568
|
+
let n = e.beats.find(
|
|
569
569
|
(s) => s.bar === t && s.beat === 1 && s.repeat === a
|
|
570
570
|
);
|
|
571
|
-
return n
|
|
571
|
+
return n || (n = e.beats.find(
|
|
572
|
+
(s) => s.bar === t && s.beat === 1
|
|
573
|
+
)), n ? n.time : null;
|
|
572
574
|
},
|
|
573
575
|
// Get bar info from time
|
|
574
576
|
getBarFromTime: (e) => (t) => {
|
|
@@ -599,7 +601,14 @@ const L = (e, t) => {
|
|
|
599
601
|
}), Array.from(t).sort((a, n) => a - n);
|
|
600
602
|
},
|
|
601
603
|
// Check if a bar has repeats
|
|
602
|
-
hasRepeats: (e) => (t) => e.beats.some((a) => a.bar === t && a.repeat > 0)
|
|
604
|
+
hasRepeats: (e) => (t) => e.beats.some((a) => a.bar === t && a.repeat > 0),
|
|
605
|
+
// Get the number of repeats for a specific bar
|
|
606
|
+
getRepeatCountForBar: (e) => (t) => {
|
|
607
|
+
const a = /* @__PURE__ */ new Set();
|
|
608
|
+
return e.beats.forEach((n) => {
|
|
609
|
+
n.bar === t && a.add(n.repeat);
|
|
610
|
+
}), a.size;
|
|
611
|
+
}
|
|
603
612
|
},
|
|
604
613
|
actions: {
|
|
605
614
|
// Load musical data
|
|
@@ -630,7 +639,7 @@ const L = (e, t) => {
|
|
|
630
639
|
return this.beats.some((a) => a.bar === e && a.repeat === t);
|
|
631
640
|
}
|
|
632
641
|
}
|
|
633
|
-
}), pt =
|
|
642
|
+
}), pt = _e("playbackState", {
|
|
634
643
|
state: () => ({
|
|
635
644
|
// Transport state
|
|
636
645
|
transportState: "stopped",
|
|
@@ -894,7 +903,7 @@ class ft {
|
|
|
894
903
|
let n = this.beats.find(
|
|
895
904
|
(s) => s.bar === t && s.beat === 1 && s.repeat === a
|
|
896
905
|
);
|
|
897
|
-
return
|
|
906
|
+
return n || (n = this.beats.find(
|
|
898
907
|
(s) => s.bar === t && s.beat === 1
|
|
899
908
|
)), n ? n.time : null;
|
|
900
909
|
}
|
|
@@ -902,120 +911,124 @@ class ft {
|
|
|
902
911
|
this.stop(), this.eventBus.all.clear(), this.parts.clear();
|
|
903
912
|
}
|
|
904
913
|
}
|
|
905
|
-
const
|
|
906
|
-
function
|
|
907
|
-
const e =
|
|
914
|
+
const h = new ft();
|
|
915
|
+
function oe() {
|
|
916
|
+
const e = ee(), t = ie(), a = pt(), n = ({ currentTime: o }) => {
|
|
908
917
|
e.setCurrentTime(o);
|
|
909
918
|
}, s = ({ isPlaying: o }) => {
|
|
910
919
|
e.setPlaybackState(o), a.setTransportState(o ? "playing" : "stopped");
|
|
911
|
-
},
|
|
920
|
+
}, l = (o) => {
|
|
912
921
|
o && (e.setCurrentBar(o.bar, o.beat, o.repeat), a.updateLastBarPosition(o.bar));
|
|
913
|
-
},
|
|
922
|
+
}, r = ({ speed: o }) => {
|
|
914
923
|
e.setPlaybackSpeed(o);
|
|
915
|
-
},
|
|
924
|
+
}, m = ({ volume: o }) => {
|
|
916
925
|
e.setMasterVolume(o);
|
|
917
|
-
}, u = ({ partName: o, volume:
|
|
918
|
-
e.setPartVolume(o,
|
|
919
|
-
},
|
|
920
|
-
e.setPartMuted(o,
|
|
921
|
-
},
|
|
926
|
+
}, u = ({ partName: o, volume: P }) => {
|
|
927
|
+
e.setPartVolume(o, P);
|
|
928
|
+
}, i = ({ partName: o, muted: P }) => {
|
|
929
|
+
e.setPartMuted(o, P);
|
|
930
|
+
}, d = ({ bars: o }) => {
|
|
922
931
|
e.setLeadInActive(!0, o);
|
|
923
|
-
},
|
|
932
|
+
}, v = () => {
|
|
924
933
|
e.setLeadInActive(!1);
|
|
925
|
-
},
|
|
934
|
+
}, C = () => {
|
|
926
935
|
e.setStartingNotesActive(!0);
|
|
927
|
-
},
|
|
936
|
+
}, _ = () => {
|
|
928
937
|
e.setStartingNotesActive(!1);
|
|
929
|
-
},
|
|
938
|
+
}, B = ({ mark: o }) => {
|
|
930
939
|
a.updateLastPracticeMarkUsed(o);
|
|
931
|
-
},
|
|
940
|
+
}, L = ({ parts: o }) => {
|
|
932
941
|
e.initializeParts(o);
|
|
933
|
-
},
|
|
942
|
+
}, N = ({ finalTime: o }) => {
|
|
934
943
|
e.setPlaybackState(!1), a.setTransportState("stopped"), console.log(`Song ended at time: ${o}`);
|
|
935
|
-
},
|
|
936
|
-
|
|
937
|
-
},
|
|
938
|
-
|
|
939
|
-
},
|
|
944
|
+
}, x = () => {
|
|
945
|
+
h.on("timeChanged", n), h.on("playbackStateChanged", s), h.on("barChanged", l), h.on("speedChanged", r), h.on("masterVolumeChanged", m), h.on("partVolumeChanged", u), h.on("partMutedChanged", i), h.on("leadInStarted", d), h.on("leadInCompleted", v), h.on("startingNotesStarted", C), h.on("startingNotesCompleted", _), h.on("practiceMarkChanged", B), h.on("initialized", L), h.on("songEnded", N);
|
|
946
|
+
}, g = () => {
|
|
947
|
+
h.off("timeChanged", n), h.off("playbackStateChanged", s), h.off("barChanged", l), h.off("speedChanged", r), h.off("masterVolumeChanged", m), h.off("partVolumeChanged", u), h.off("partMutedChanged", i), h.off("leadInStarted", d), h.off("leadInCompleted", v), h.off("startingNotesStarted", C), h.off("startingNotesCompleted", _), h.off("practiceMarkChanged", B), h.off("initialized", L), h.off("songEnded", N);
|
|
948
|
+
}, w = () => {
|
|
940
949
|
ke(() => {
|
|
941
950
|
const o = e.masterVolume;
|
|
942
|
-
|
|
951
|
+
h.getMasterVolume() !== o && h.setMasterVolume(o);
|
|
943
952
|
}), ke(() => {
|
|
944
953
|
const o = e.playbackSpeed;
|
|
945
|
-
|
|
954
|
+
h.getPlaybackSpeed() !== o && h.setPlaybackSpeed(o);
|
|
946
955
|
});
|
|
947
|
-
},
|
|
948
|
-
t.loadMusicData(o),
|
|
956
|
+
}, k = (o) => {
|
|
957
|
+
if (t.loadMusicData(o), h.initialize({
|
|
949
958
|
beats: o.beats,
|
|
950
959
|
practiceMarks: o.marks || o.practiceMarks,
|
|
951
960
|
parts: o.parts
|
|
952
|
-
}),
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
},
|
|
958
|
-
|
|
959
|
-
},
|
|
960
|
-
|
|
961
|
-
},
|
|
962
|
-
|
|
961
|
+
}), o.beats && o.beats.length > 0) {
|
|
962
|
+
const P = o.beats[0];
|
|
963
|
+
e.setCurrentBar(P.bar, P.beat, P.repeat), h.setTime(P.time);
|
|
964
|
+
}
|
|
965
|
+
x(), w();
|
|
966
|
+
}, I = () => {
|
|
967
|
+
h.play();
|
|
968
|
+
}, Y = () => {
|
|
969
|
+
h.stop();
|
|
970
|
+
}, te = () => {
|
|
971
|
+
h.pause();
|
|
972
|
+
}, Q = (o) => {
|
|
973
|
+
h.setTime(o);
|
|
974
|
+
}, z = (o, P = 0) => {
|
|
975
|
+
h.setBar(o, P);
|
|
976
|
+
}, ae = (o) => {
|
|
977
|
+
h.goToPracticeMark(o);
|
|
978
|
+
}, f = (o) => {
|
|
979
|
+
h.setPlaybackSpeed(o);
|
|
963
980
|
}, A = (o) => {
|
|
964
|
-
|
|
965
|
-
},
|
|
966
|
-
|
|
967
|
-
},
|
|
968
|
-
|
|
969
|
-
},
|
|
970
|
-
|
|
971
|
-
},
|
|
972
|
-
|
|
973
|
-
},
|
|
974
|
-
|
|
975
|
-
},
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
E && a.leadInEnabled ? (V(o, te), Z(a.leadInBars)) : (V(o, te), $());
|
|
979
|
-
}, ee = (o, E = !0) => {
|
|
980
|
-
const te = t.getBarForMark(o);
|
|
981
|
-
te && K(te, E);
|
|
981
|
+
h.setMasterVolume(o);
|
|
982
|
+
}, p = (o, P) => {
|
|
983
|
+
h.setPartVolume(o, P);
|
|
984
|
+
}, b = (o, P) => {
|
|
985
|
+
h.setPartMuted(o, P);
|
|
986
|
+
}, T = (o = 1) => {
|
|
987
|
+
h.playLeadIn(o);
|
|
988
|
+
}, $ = () => {
|
|
989
|
+
h.playStartingNotes();
|
|
990
|
+
}, q = (o, P = !0, ne = 0) => {
|
|
991
|
+
P && a.leadInEnabled ? (z(o, ne), T(a.leadInBars)) : (z(o, ne), I());
|
|
992
|
+
}, W = (o, P = !0) => {
|
|
993
|
+
const ne = t.getBarForMark(o);
|
|
994
|
+
ne && q(ne, P);
|
|
982
995
|
};
|
|
983
|
-
return
|
|
984
|
-
|
|
996
|
+
return he(() => {
|
|
997
|
+
g();
|
|
985
998
|
}), {
|
|
986
999
|
// Initialization
|
|
987
|
-
initialize:
|
|
1000
|
+
initialize: k,
|
|
988
1001
|
// Transport controls
|
|
989
|
-
play:
|
|
990
|
-
stop:
|
|
991
|
-
pause:
|
|
1002
|
+
play: I,
|
|
1003
|
+
stop: Y,
|
|
1004
|
+
pause: te,
|
|
992
1005
|
// Time controls
|
|
993
|
-
setTime:
|
|
994
|
-
setBar:
|
|
1006
|
+
setTime: Q,
|
|
1007
|
+
setBar: z,
|
|
995
1008
|
// Navigation
|
|
996
|
-
goToPracticeMark:
|
|
997
|
-
setPlaybackSpeed:
|
|
1009
|
+
goToPracticeMark: ae,
|
|
1010
|
+
setPlaybackSpeed: f,
|
|
998
1011
|
// Volume controls
|
|
999
|
-
setMasterVolume:
|
|
1000
|
-
setPartVolume:
|
|
1001
|
-
setPartMuted:
|
|
1012
|
+
setMasterVolume: A,
|
|
1013
|
+
setPartVolume: p,
|
|
1014
|
+
setPartMuted: b,
|
|
1002
1015
|
// Special features
|
|
1003
|
-
playLeadIn:
|
|
1004
|
-
playStartingNotes:
|
|
1016
|
+
playLeadIn: T,
|
|
1017
|
+
playStartingNotes: $,
|
|
1005
1018
|
// Complex operations
|
|
1006
|
-
playFromBar:
|
|
1007
|
-
playFromMark:
|
|
1019
|
+
playFromBar: q,
|
|
1020
|
+
playFromMark: W,
|
|
1008
1021
|
// Access to stores for components
|
|
1009
1022
|
audioState: e,
|
|
1010
1023
|
musicData: t,
|
|
1011
1024
|
playbackState: a,
|
|
1012
1025
|
// Direct access to engine for advanced use
|
|
1013
|
-
audioEngine:
|
|
1026
|
+
audioEngine: h
|
|
1014
1027
|
};
|
|
1015
1028
|
}
|
|
1016
|
-
const
|
|
1029
|
+
const gt = {
|
|
1017
1030
|
__name: "PartControl",
|
|
1018
|
-
props: /* @__PURE__ */
|
|
1031
|
+
props: /* @__PURE__ */ fe({
|
|
1019
1032
|
name: {
|
|
1020
1033
|
type: String,
|
|
1021
1034
|
required: !0
|
|
@@ -1035,170 +1048,200 @@ const bt = {
|
|
|
1035
1048
|
}),
|
|
1036
1049
|
emits: ["update:volume", "update:mute", "update:solo"],
|
|
1037
1050
|
setup(e) {
|
|
1038
|
-
|
|
1039
|
-
"34cdae44":
|
|
1051
|
+
G((_) => ({
|
|
1052
|
+
"34cdae44": i.value
|
|
1040
1053
|
}));
|
|
1041
1054
|
const t = e;
|
|
1042
|
-
|
|
1043
|
-
const a =
|
|
1044
|
-
D(n, (
|
|
1045
|
-
a.setPartVolume(t.name,
|
|
1046
|
-
}), D(s, (
|
|
1047
|
-
a.setPartMuted(t.name,
|
|
1055
|
+
ee();
|
|
1056
|
+
const a = oe(), n = j(e, "volume"), s = j(e, "mute"), l = j(e, "solo");
|
|
1057
|
+
D(n, (_) => {
|
|
1058
|
+
a.setPartVolume(t.name, _);
|
|
1059
|
+
}), D(s, (_) => {
|
|
1060
|
+
a.setPartMuted(t.name, _);
|
|
1048
1061
|
});
|
|
1049
|
-
const
|
|
1050
|
-
() =>
|
|
1062
|
+
const r = Z("el"), { width: m, height: u } = K(r), i = M(() => Math.min(m.value, u.value) + "px"), d = M(
|
|
1063
|
+
() => m.value > u.value ? "mobile" : m.value < 60 ? "tablet" : "desktop"
|
|
1051
1064
|
);
|
|
1052
|
-
let
|
|
1053
|
-
const
|
|
1054
|
-
return
|
|
1055
|
-
|
|
1056
|
-
|
|
1065
|
+
let v = null;
|
|
1066
|
+
const C = E(0);
|
|
1067
|
+
return be(() => {
|
|
1068
|
+
ze("randomLevelIndicators") && (v = setInterval(() => {
|
|
1069
|
+
C.value = s.value ? 0 : Math.random() * n.value;
|
|
1057
1070
|
}, 100));
|
|
1058
|
-
}),
|
|
1059
|
-
|
|
1060
|
-
}), (
|
|
1071
|
+
}), he(() => {
|
|
1072
|
+
v && (clearInterval(v), v = null);
|
|
1073
|
+
}), (_, B) => (y(), S("div", {
|
|
1061
1074
|
ref_key: "el",
|
|
1062
|
-
ref:
|
|
1063
|
-
class:
|
|
1075
|
+
ref: r,
|
|
1076
|
+
class: R([d.value, "part"])
|
|
1064
1077
|
}, [
|
|
1065
|
-
|
|
1078
|
+
V(mt, {
|
|
1066
1079
|
class: "tri",
|
|
1067
1080
|
mute: s.value,
|
|
1068
|
-
"onUpdate:mute":
|
|
1069
|
-
solo:
|
|
1070
|
-
"onUpdate:solo":
|
|
1081
|
+
"onUpdate:mute": B[0] || (B[0] = (L) => s.value = L),
|
|
1082
|
+
solo: l.value,
|
|
1083
|
+
"onUpdate:solo": B[1] || (B[1] = (L) => l.value = L)
|
|
1071
1084
|
}, null, 8, ["mute", "solo"]),
|
|
1072
|
-
|
|
1085
|
+
V(De, {
|
|
1073
1086
|
align: "left",
|
|
1074
1087
|
class: "name"
|
|
1075
1088
|
}, {
|
|
1076
|
-
default:
|
|
1077
|
-
ye(
|
|
1089
|
+
default: H(() => [
|
|
1090
|
+
ye(F(e.name), 1)
|
|
1078
1091
|
]),
|
|
1079
1092
|
_: 1
|
|
1080
1093
|
}),
|
|
1081
|
-
|
|
1082
|
-
level:
|
|
1094
|
+
V(de, {
|
|
1095
|
+
level: C.value,
|
|
1083
1096
|
"show-level": !0,
|
|
1084
1097
|
class: "vol",
|
|
1085
1098
|
value: n.value,
|
|
1086
|
-
"onUpdate:value":
|
|
1099
|
+
"onUpdate:value": B[2] || (B[2] = (L) => n.value = L)
|
|
1087
1100
|
}, null, 8, ["level", "value"])
|
|
1088
1101
|
], 2));
|
|
1089
1102
|
}
|
|
1090
|
-
},
|
|
1091
|
-
key:
|
|
1092
|
-
class: "mark-
|
|
1093
|
-
},
|
|
1103
|
+
}, bt = /* @__PURE__ */ U(gt, [["__scopeId", "data-v-510493b1"]]), yt = { class: "mark" }, Mt = { class: "rpt" }, _t = { class: "beat-ind" }, St = { class: "beat" }, kt = {
|
|
1104
|
+
key: 1,
|
|
1105
|
+
class: "mark-grid-container"
|
|
1106
|
+
}, Tt = { class: "mark-grid" }, Ct = ["onClick"], xt = {
|
|
1094
1107
|
__name: "BarInput",
|
|
1095
1108
|
setup(e) {
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
"
|
|
1109
|
+
G((p) => ({
|
|
1110
|
+
a84e79a6: x.value,
|
|
1111
|
+
"4f93d11c": g.value
|
|
1099
1112
|
}));
|
|
1100
|
-
const t =
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1113
|
+
const t = Z("el"), a = Z("rpt"), { width: n, height: s } = K(t), l = ie(), r = ee(), m = oe(), u = E("1"), i = E("A"), d = E(0), v = E(2), C = E(!1), _ = E(!1), B = E(!1), L = E(!0);
|
|
1114
|
+
let N = null;
|
|
1115
|
+
D(() => {
|
|
1116
|
+
var p;
|
|
1117
|
+
return ((p = l.beats) == null ? void 0 : p.length) > 0;
|
|
1118
|
+
}, (p) => {
|
|
1119
|
+
console.log(p), p && !C.value && (u.value = r.currentBar.toString(), d.value = r.currentRepeat, v.value = l.getRepeatCountForBar(r.currentBar), k(r.currentBar), C.value = !0);
|
|
1120
|
+
}), D(() => r.currentBar, (p) => {
|
|
1121
|
+
v.value = l.getRepeatCountForBar(p);
|
|
1122
|
+
}), D(u, () => {
|
|
1123
|
+
u.value = u.value.replace(/\D/g, ""), u.value.length > 3 && (u.value = u.value.slice(0, 3));
|
|
1124
|
+
}), D(() => r.currentBar, (p) => {
|
|
1125
|
+
u.value = p.toString(), k(p);
|
|
1126
|
+
}), D(() => r.currentBeat, () => {
|
|
1127
|
+
L.value = !0, setTimeout(() => {
|
|
1128
|
+
L.value = !1;
|
|
1104
1129
|
}, 50);
|
|
1130
|
+
}), D(_, () => {
|
|
1131
|
+
_.value && A();
|
|
1105
1132
|
});
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
});
|
|
1115
|
-
const r = T(i.currentBar.toString()), c = T("A");
|
|
1116
|
-
T(i.currentRepeat);
|
|
1117
|
-
const p = T(!1), b = T(!1);
|
|
1118
|
-
D(r, () => {
|
|
1119
|
-
r.value = r.value.replace(/\D/g, ""), r.value.length > 3 && (r.value = r.value.slice(0, 3));
|
|
1120
|
-
}), D(() => i.currentBar, (M) => {
|
|
1121
|
-
r.value = M.toString();
|
|
1122
|
-
});
|
|
1123
|
-
function f() {
|
|
1124
|
-
const M = parseInt(r.value);
|
|
1125
|
-
M && M > 0 && $(M);
|
|
1133
|
+
const x = M(() => Math.min(s.value / 2.25, n.value / 4.5) + "px"), g = M(() => Math.min(n.value / 15, s.value / 6.4) + "px"), w = M(() => Object.keys(l.practiceMarks).sort());
|
|
1134
|
+
function k(p) {
|
|
1135
|
+
const b = Object.keys(l.practiceMarks).filter((T) => l.practiceMarks[T] <= p).sort((T, $) => l.practiceMarks[$] - l.practiceMarks[T]);
|
|
1136
|
+
b.length > 0 && (i.value = b[0]);
|
|
1137
|
+
}
|
|
1138
|
+
function I() {
|
|
1139
|
+
const p = parseInt(u.value);
|
|
1140
|
+
p && p > 0 && Y(p);
|
|
1126
1141
|
}
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
p.value = !p.value;
|
|
1142
|
+
function Y(p) {
|
|
1143
|
+
m.setBar(p, 0);
|
|
1130
1144
|
}
|
|
1131
|
-
function
|
|
1132
|
-
p.value = !1;
|
|
1145
|
+
function te(p, b) {
|
|
1146
|
+
b && b.stopPropagation(), i.value = p, _.value = !1, m.goToPracticeMark(p);
|
|
1133
1147
|
}
|
|
1134
|
-
function
|
|
1135
|
-
|
|
1148
|
+
function Q() {
|
|
1149
|
+
v.value > 1 && (B.value = !0), r.currentRepeat < v.value && m.setBar(r.currentBar, r.currentRepeat + 1);
|
|
1136
1150
|
}
|
|
1137
|
-
function
|
|
1138
|
-
|
|
1151
|
+
function z() {
|
|
1152
|
+
v.value > 1 && (B.value = !0), r.currentRepeat > 1 && m.setBar(r.currentBar, r.currentRepeat - 1);
|
|
1139
1153
|
}
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
l.setBar(M, i.currentRepeat);
|
|
1154
|
+
function ae(p) {
|
|
1155
|
+
p.stopPropagation(), B.value = !1, _.value = !_.value;
|
|
1143
1156
|
}
|
|
1144
|
-
function
|
|
1145
|
-
|
|
1157
|
+
function f(p) {
|
|
1158
|
+
var b, T;
|
|
1159
|
+
(b = t.value) != null && b.contains(p.target) || (_.value = !1), (T = a.value) != null && T.contains(p.target) || (B.value = !1);
|
|
1160
|
+
}
|
|
1161
|
+
function A() {
|
|
1162
|
+
_.value && setTimeout(() => {
|
|
1163
|
+
var T, $;
|
|
1164
|
+
const p = (T = t.value) == null ? void 0 : T.querySelector(".mark-grid"), b = ($ = t.value) == null ? void 0 : $.querySelector(".mark-option.selected");
|
|
1165
|
+
if (b && p) {
|
|
1166
|
+
const q = p.getBoundingClientRect(), W = b.getBoundingClientRect(), o = W.left - q.left - q.width / 2 + W.width / 2;
|
|
1167
|
+
p.scrollLeft = Math.max(0, p.scrollLeft + o);
|
|
1168
|
+
}
|
|
1169
|
+
}, 50);
|
|
1146
1170
|
}
|
|
1147
|
-
return (
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1171
|
+
return be(() => {
|
|
1172
|
+
document.addEventListener("click", f), ze("beatAnimation") && (N = setInterval(() => {
|
|
1173
|
+
const p = r.currentBeat % l.timeSignature + 1;
|
|
1174
|
+
r.setCurrentBar(r.currentBar, p, r.currentRepeat);
|
|
1175
|
+
}, 800));
|
|
1176
|
+
}), he(() => {
|
|
1177
|
+
document.removeEventListener("click", f), N && (clearInterval(N), N = null);
|
|
1178
|
+
}), (p, b) => (y(), S("div", {
|
|
1179
|
+
ref_key: "el",
|
|
1180
|
+
ref: t,
|
|
1181
|
+
class: R(["outer", { pulse: L.value, "mark-selecting": _.value }])
|
|
1182
|
+
}, [
|
|
1183
|
+
b[6] || (b[6] = c("div", { class: "frame" }, null, -1)),
|
|
1184
|
+
c("div", {
|
|
1185
|
+
class: R(["mark-input", { empty: !i.value, edit: _.value }]),
|
|
1186
|
+
onClick: ae
|
|
1153
1187
|
}, [
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
m("div", yt, I(c.value), 1)
|
|
1160
|
-
], 2)), [
|
|
1161
|
-
[V, B]
|
|
1162
|
-
]),
|
|
1163
|
-
p.value ? (y(), _("div", _t, [
|
|
1164
|
-
(y(!0), _(ve, null, fe(J.value, (A) => (y(), _("div", {
|
|
1165
|
-
key: A,
|
|
1166
|
-
class: "mark-option",
|
|
1167
|
-
onClick: (v) => j(A)
|
|
1168
|
-
}, I(A), 9, Mt))), 128))
|
|
1169
|
-
])) : pe("", !0),
|
|
1170
|
-
S[2] || (S[2] = m("div", { class: "mark-title" }, "Mark", -1)),
|
|
1171
|
-
re(m("input", {
|
|
1188
|
+
c("div", yt, F(i.value), 1)
|
|
1189
|
+
], 2),
|
|
1190
|
+
b[7] || (b[7] = c("div", { class: "mark-title" }, "Mark", -1)),
|
|
1191
|
+
_.value ? se("", !0) : (y(), S(le, { key: 0 }, [
|
|
1192
|
+
Re(c("input", {
|
|
1172
1193
|
type: "text",
|
|
1173
1194
|
class: "bar-input",
|
|
1174
|
-
"onUpdate:modelValue":
|
|
1195
|
+
"onUpdate:modelValue": b[0] || (b[0] = (T) => u.value = T),
|
|
1175
1196
|
inputmode: "decimal",
|
|
1176
1197
|
pattern: "\\d*",
|
|
1177
|
-
onChange:
|
|
1178
|
-
onKeyup:
|
|
1198
|
+
onChange: I,
|
|
1199
|
+
onKeyup: He(I, ["enter"])
|
|
1179
1200
|
}, null, 544), [
|
|
1180
|
-
[
|
|
1201
|
+
[Le, u.value]
|
|
1181
1202
|
]),
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1203
|
+
b[3] || (b[3] = c("div", { class: "bar-title" }, "Bar", -1)),
|
|
1204
|
+
c("div", {
|
|
1205
|
+
ref_key: "rpt",
|
|
1206
|
+
ref: a,
|
|
1207
|
+
class: R(["rpt-input", { edit: B.value, available: v.value > 1 }])
|
|
1186
1208
|
}, [
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1209
|
+
c("div", Mt, F(O(r).currentRepeat || "-"), 1),
|
|
1210
|
+
(y(), S("svg", {
|
|
1211
|
+
class: R(["inc", { disabled: O(r).currentRepeat >= v.value }]),
|
|
1212
|
+
viewBox: "0 -100 100 100",
|
|
1213
|
+
onClick: Te(Q, ["prevent"])
|
|
1214
|
+
}, b[1] || (b[1] = [
|
|
1215
|
+
c("path", { d: "m10-20 40-60 40 60H10Z" }, null, -1)
|
|
1216
|
+
]), 2)),
|
|
1217
|
+
(y(), S("svg", {
|
|
1218
|
+
class: R(["dec", { disabled: O(r).currentRepeat <= 1 }]),
|
|
1219
|
+
viewBox: "0 -100 100 100",
|
|
1220
|
+
onClick: Te(z, ["prevent"])
|
|
1221
|
+
}, b[2] || (b[2] = [
|
|
1222
|
+
c("path", { d: "m10-80 40 60 40-60H10Z" }, null, -1)
|
|
1223
|
+
]), 2))
|
|
1224
|
+
], 2),
|
|
1225
|
+
b[4] || (b[4] = c("div", { class: "rpt-title" }, "Rpt", -1)),
|
|
1226
|
+
c("div", _t, [
|
|
1227
|
+
c("div", St, F(O(r).currentBeat), 1)
|
|
1194
1228
|
]),
|
|
1195
|
-
|
|
1196
|
-
],
|
|
1197
|
-
|
|
1229
|
+
b[5] || (b[5] = c("div", { class: "beat-title" }, "Beat", -1))
|
|
1230
|
+
], 64)),
|
|
1231
|
+
_.value ? (y(), S("div", kt, [
|
|
1232
|
+
c("div", Tt, [
|
|
1233
|
+
(y(!0), S(le, null, ge(w.value, (T) => (y(), S("div", {
|
|
1234
|
+
key: T,
|
|
1235
|
+
class: R(["mark-option", { selected: T === i.value }]),
|
|
1236
|
+
onClick: ($) => te(T, $)
|
|
1237
|
+
}, F(T), 11, Ct))), 128))
|
|
1238
|
+
])
|
|
1239
|
+
])) : se("", !0)
|
|
1240
|
+
], 2));
|
|
1198
1241
|
}
|
|
1199
|
-
},
|
|
1242
|
+
}, Bt = /* @__PURE__ */ U(xt, [["__scopeId", "data-v-0256e5c0"]]), wt = { class: "title" }, Et = {
|
|
1200
1243
|
__name: "BaseNumericInput",
|
|
1201
|
-
props: /* @__PURE__ */
|
|
1244
|
+
props: /* @__PURE__ */ fe({
|
|
1202
1245
|
title: {
|
|
1203
1246
|
type: String,
|
|
1204
1247
|
required: !0
|
|
@@ -1261,334 +1304,387 @@ const bt = {
|
|
|
1261
1304
|
}),
|
|
1262
1305
|
emits: ["update:value"],
|
|
1263
1306
|
setup(e) {
|
|
1264
|
-
|
|
1307
|
+
G((d) => ({
|
|
1265
1308
|
"0d0963e0": e.textColor,
|
|
1266
1309
|
"4ad34b2f": e.backgroundColor,
|
|
1267
1310
|
"02156786": e.color,
|
|
1268
1311
|
"715a9528": u.value,
|
|
1269
|
-
"30d64f7d":
|
|
1312
|
+
"30d64f7d": m.value,
|
|
1270
1313
|
b8fbe65e: e.focusColor
|
|
1271
1314
|
}));
|
|
1272
|
-
const t = e, a =
|
|
1273
|
-
D(
|
|
1274
|
-
const
|
|
1275
|
-
|
|
1276
|
-
}), D(
|
|
1277
|
-
|
|
1315
|
+
const t = e, a = Z("el"), { width: n, height: s } = K(a), l = j(e, "value"), r = E(t.formatValue(t.transformSliderToDisplay(l.value)));
|
|
1316
|
+
D(l, () => {
|
|
1317
|
+
const d = t.transformSliderToDisplay(l.value);
|
|
1318
|
+
r.value = t.formatValue(d);
|
|
1319
|
+
}), D(r, () => {
|
|
1320
|
+
r.value = t.validateInput(r.value), t.maxChars && r.value.length > t.maxChars && (r.value = r.value.slice(0, t.maxChars));
|
|
1278
1321
|
});
|
|
1279
|
-
const
|
|
1280
|
-
function
|
|
1281
|
-
const
|
|
1282
|
-
|
|
1322
|
+
const m = M(() => Math.min(s.value / 2.25, n.value / 2.2) + "px"), u = M(() => Math.min(n.value / 3, s.value / 6.4) + "px");
|
|
1323
|
+
function i() {
|
|
1324
|
+
const d = t.parseValue(r.value), v = t.transformDisplayToSlider(d);
|
|
1325
|
+
l.value = Math.min(Math.max(v, t.sliderMin), t.sliderMax);
|
|
1283
1326
|
}
|
|
1284
|
-
return (
|
|
1327
|
+
return (d, v) => (y(), S("div", {
|
|
1285
1328
|
class: "outer",
|
|
1286
1329
|
ref_key: "el",
|
|
1287
1330
|
ref: a
|
|
1288
1331
|
}, [
|
|
1289
|
-
|
|
1290
|
-
|
|
1332
|
+
v[2] || (v[2] = c("div", { class: "frame" }, null, -1)),
|
|
1333
|
+
Re(c("input", {
|
|
1291
1334
|
type: "text",
|
|
1292
1335
|
class: "input",
|
|
1293
|
-
"onUpdate:modelValue":
|
|
1336
|
+
"onUpdate:modelValue": v[0] || (v[0] = (C) => r.value = C),
|
|
1294
1337
|
inputmode: "decimal",
|
|
1295
1338
|
pattern: "\\d*",
|
|
1296
|
-
onChange:
|
|
1339
|
+
onChange: i
|
|
1297
1340
|
}, null, 544), [
|
|
1298
|
-
[
|
|
1341
|
+
[Le, r.value]
|
|
1299
1342
|
]),
|
|
1300
|
-
|
|
1301
|
-
|
|
1343
|
+
c("div", wt, F(e.title), 1),
|
|
1344
|
+
V(de, {
|
|
1302
1345
|
class: "slider",
|
|
1303
|
-
value:
|
|
1304
|
-
"onUpdate:value":
|
|
1346
|
+
value: l.value,
|
|
1347
|
+
"onUpdate:value": v[1] || (v[1] = (C) => l.value = C),
|
|
1305
1348
|
"thumb-length": e.thumbLength,
|
|
1306
1349
|
max: e.sliderMax,
|
|
1307
1350
|
min: e.sliderMin
|
|
1308
1351
|
}, null, 8, ["value", "thumb-length", "max", "min"])
|
|
1309
1352
|
], 512));
|
|
1310
1353
|
}
|
|
1311
|
-
},
|
|
1354
|
+
}, Fe = /* @__PURE__ */ U(Et, [["__scopeId", "data-v-79c7a539"]]), Pt = {
|
|
1312
1355
|
__name: "SpeedInput",
|
|
1313
1356
|
setup(e) {
|
|
1314
|
-
const t =
|
|
1357
|
+
const t = ee(), a = oe(), n = M({
|
|
1315
1358
|
get: () => Math.log2(t.playbackSpeed) * 0.5 + 0.5,
|
|
1316
|
-
set: (
|
|
1317
|
-
const
|
|
1318
|
-
a.setPlaybackSpeed(
|
|
1359
|
+
set: (i) => {
|
|
1360
|
+
const d = Math.pow(2, i * 2 - 1);
|
|
1361
|
+
a.setPlaybackSpeed(d);
|
|
1319
1362
|
}
|
|
1320
|
-
}), s = (
|
|
1321
|
-
const
|
|
1322
|
-
return Math.min(Math.max(
|
|
1363
|
+
}), s = (i) => Math.floor(Math.pow(2, i * 2 - 1) * 100 + 0.5) + "", l = (i) => parseFloat(i), r = (i) => i.replace(/\D/g, ""), m = (i) => i, u = (i) => {
|
|
1364
|
+
const d = Math.log2(i / 100) * 0.5 + 0.5;
|
|
1365
|
+
return Math.min(Math.max(d, 0), 1);
|
|
1323
1366
|
};
|
|
1324
|
-
return (
|
|
1367
|
+
return (i, d) => (y(), Me(Fe, {
|
|
1325
1368
|
value: n.value,
|
|
1326
|
-
"onUpdate:value":
|
|
1369
|
+
"onUpdate:value": d[0] || (d[0] = (v) => n.value = v),
|
|
1327
1370
|
title: "Speed",
|
|
1328
1371
|
color: "#336",
|
|
1329
1372
|
"text-color": "#aad",
|
|
1330
1373
|
"format-value": s,
|
|
1331
|
-
"parse-value":
|
|
1332
|
-
"validate-input":
|
|
1333
|
-
"transform-slider-to-display":
|
|
1374
|
+
"parse-value": l,
|
|
1375
|
+
"validate-input": r,
|
|
1376
|
+
"transform-slider-to-display": m,
|
|
1334
1377
|
"transform-display-to-slider": u,
|
|
1335
1378
|
"thumb-length": 2,
|
|
1336
1379
|
"max-chars": 3
|
|
1337
1380
|
}, null, 8, ["value"]));
|
|
1338
1381
|
}
|
|
1339
|
-
},
|
|
1382
|
+
}, Vt = {
|
|
1340
1383
|
__name: "TimeInput",
|
|
1341
1384
|
setup(e) {
|
|
1342
|
-
const t =
|
|
1343
|
-
return (
|
|
1344
|
-
value:
|
|
1385
|
+
const t = ee(), a = ie(), n = oe(), s = (i) => i.toFixed(1), l = (i) => parseFloat(i), r = (i) => i.replace(/[^0-9.]/g, ""), m = (i) => i, u = (i) => i;
|
|
1386
|
+
return (i, d) => (y(), Me(Fe, {
|
|
1387
|
+
value: O(t).currentTime,
|
|
1345
1388
|
"onUpdate:value": [
|
|
1346
|
-
|
|
1347
|
-
|
|
1389
|
+
d[0] || (d[0] = (v) => O(t).currentTime = v),
|
|
1390
|
+
O(n).setTime
|
|
1348
1391
|
],
|
|
1349
1392
|
title: "Time",
|
|
1350
1393
|
color: "#344",
|
|
1351
1394
|
"focus-color": "#556868",
|
|
1352
1395
|
"text-color": "#acc",
|
|
1353
1396
|
"background-color": "#111117",
|
|
1354
|
-
"slider-max":
|
|
1397
|
+
"slider-max": O(a).totalDuration,
|
|
1355
1398
|
"slider-min": 0,
|
|
1356
1399
|
"format-value": s,
|
|
1357
|
-
"parse-value":
|
|
1358
|
-
"validate-input":
|
|
1359
|
-
"transform-slider-to-display":
|
|
1400
|
+
"parse-value": l,
|
|
1401
|
+
"validate-input": r,
|
|
1402
|
+
"transform-slider-to-display": m,
|
|
1360
1403
|
"transform-display-to-slider": u,
|
|
1361
1404
|
"thumb-length": 2
|
|
1362
1405
|
}, null, 8, ["value", "onUpdate:value", "slider-max"]));
|
|
1363
1406
|
}
|
|
1364
|
-
},
|
|
1407
|
+
}, Rt = { class: "inner" }, Lt = {
|
|
1365
1408
|
__name: "AudioButton",
|
|
1366
1409
|
setup(e) {
|
|
1367
|
-
const t =
|
|
1368
|
-
return (s,
|
|
1369
|
-
class:
|
|
1410
|
+
const t = E(!1), a = () => t.value = !0, n = () => t.value = !1;
|
|
1411
|
+
return (s, l) => (y(), S("div", {
|
|
1412
|
+
class: R(["button-outer", { down: t.value }]),
|
|
1370
1413
|
onPointerdown: a,
|
|
1371
1414
|
onPointerup: n,
|
|
1372
1415
|
onPointerleave: n
|
|
1373
1416
|
}, [
|
|
1374
|
-
|
|
1375
|
-
|
|
1417
|
+
c("div", Rt, [
|
|
1418
|
+
re(s.$slots, "default", {}, void 0, !0)
|
|
1376
1419
|
])
|
|
1377
1420
|
], 34));
|
|
1378
1421
|
}
|
|
1379
|
-
},
|
|
1422
|
+
}, X = /* @__PURE__ */ U(Lt, [["__scopeId", "data-v-0d7af06e"]]), Ot = { class: "outer" }, It = { class: "title" }, At = { class: "buttons" }, Nt = {
|
|
1380
1423
|
class: "icon",
|
|
1381
1424
|
viewBox: "0 0 48 48"
|
|
1382
|
-
},
|
|
1425
|
+
}, $t = ["d"], Dt = {
|
|
1383
1426
|
__name: "MixerControls",
|
|
1384
1427
|
setup(e) {
|
|
1385
|
-
const t =
|
|
1428
|
+
const t = ie(), a = ee(), n = oe();
|
|
1386
1429
|
function s() {
|
|
1387
1430
|
a.isPlaying ? n.stop() : n.play();
|
|
1388
1431
|
}
|
|
1389
|
-
function i() {
|
|
1390
|
-
const b = Math.max(1, a.currentBar - 1);
|
|
1391
|
-
n.setBar(b);
|
|
1392
|
-
}
|
|
1393
1432
|
function l() {
|
|
1394
|
-
const
|
|
1395
|
-
|
|
1433
|
+
const x = a.currentTime, g = t.beats.filter((k) => k.beat === 1).sort((k, I) => k.time - I.time);
|
|
1434
|
+
let w = null;
|
|
1435
|
+
for (let k = g.length - 1; k >= 0; k--)
|
|
1436
|
+
if (g[k].time < x) {
|
|
1437
|
+
w = g[k];
|
|
1438
|
+
break;
|
|
1439
|
+
}
|
|
1440
|
+
w && n.setBar(w.bar, w.repeat);
|
|
1441
|
+
}
|
|
1442
|
+
function r() {
|
|
1443
|
+
const x = a.currentTime, g = t.beats.filter((k) => k.beat === 1).sort((k, I) => k.time - I.time);
|
|
1444
|
+
let w = null;
|
|
1445
|
+
for (let k = 0; k < g.length; k++)
|
|
1446
|
+
if (g[k].time > x) {
|
|
1447
|
+
w = g[k];
|
|
1448
|
+
break;
|
|
1449
|
+
}
|
|
1450
|
+
w && n.setBar(w.bar, w.repeat);
|
|
1396
1451
|
}
|
|
1397
|
-
function
|
|
1452
|
+
function m() {
|
|
1398
1453
|
n.playStartingNotes();
|
|
1399
1454
|
}
|
|
1400
|
-
const u =
|
|
1401
|
-
function
|
|
1455
|
+
const u = E(!1), i = E(!0), d = E(!1), v = E(null);
|
|
1456
|
+
function C() {
|
|
1457
|
+
d.value = !d.value;
|
|
1458
|
+
}
|
|
1459
|
+
function _() {
|
|
1460
|
+
d.value = !1;
|
|
1461
|
+
}
|
|
1462
|
+
function B(x) {
|
|
1463
|
+
v.value && !v.value.contains(x.target) && _();
|
|
1464
|
+
}
|
|
1465
|
+
be(() => {
|
|
1466
|
+
document.addEventListener("click", B);
|
|
1467
|
+
}), he(() => {
|
|
1468
|
+
document.removeEventListener("click", B);
|
|
1469
|
+
});
|
|
1470
|
+
function L() {
|
|
1402
1471
|
u.value = !u.value;
|
|
1403
1472
|
}
|
|
1404
|
-
function
|
|
1405
|
-
|
|
1473
|
+
function N() {
|
|
1474
|
+
i.value = !i.value;
|
|
1406
1475
|
}
|
|
1407
|
-
return (
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1476
|
+
return (x, g) => (y(), S("div", Ot, [
|
|
1477
|
+
c("div", It, [
|
|
1478
|
+
V(De, {
|
|
1479
|
+
class: "text",
|
|
1480
|
+
align: "centre"
|
|
1481
|
+
}, {
|
|
1482
|
+
default: H(() => [
|
|
1483
|
+
ye(F(O(t).title), 1)
|
|
1484
|
+
]),
|
|
1485
|
+
_: 1
|
|
1486
|
+
}),
|
|
1487
|
+
c("div", {
|
|
1488
|
+
class: "menu-container",
|
|
1489
|
+
ref_key: "menuRef",
|
|
1490
|
+
ref: v
|
|
1491
|
+
}, [
|
|
1492
|
+
(y(), S("svg", {
|
|
1493
|
+
class: "menu",
|
|
1494
|
+
viewBox: "0 -960 960 960",
|
|
1495
|
+
onClick: C
|
|
1496
|
+
}, g[1] || (g[1] = [
|
|
1497
|
+
c("path", { d: "M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z" }, null, -1)
|
|
1498
|
+
]))),
|
|
1499
|
+
d.value && x.$slots.menu ? (y(), S("div", {
|
|
1500
|
+
key: 0,
|
|
1501
|
+
class: "dropdown-menu",
|
|
1502
|
+
onClick: _
|
|
1503
|
+
}, [
|
|
1504
|
+
re(x.$slots, "menu", {}, void 0, !0)
|
|
1505
|
+
])) : se("", !0)
|
|
1506
|
+
], 512)
|
|
1507
|
+
]),
|
|
1508
|
+
V(de, {
|
|
1418
1509
|
class: "main",
|
|
1419
1510
|
colour: "red",
|
|
1420
|
-
modelValue:
|
|
1421
|
-
"onUpdate:modelValue":
|
|
1511
|
+
modelValue: O(a).masterVolume,
|
|
1512
|
+
"onUpdate:modelValue": g[0] || (g[0] = (w) => O(a).masterVolume = w)
|
|
1422
1513
|
}, null, 8, ["modelValue"]),
|
|
1423
|
-
|
|
1514
|
+
V(de, {
|
|
1424
1515
|
class: "tick",
|
|
1425
1516
|
colour: "blue"
|
|
1426
1517
|
}),
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1518
|
+
g[7] || (g[7] = c("div", { class: "main-t" }, "Main", -1)),
|
|
1519
|
+
g[8] || (g[8] = c("div", { class: "tick-t" }, "Tick", -1)),
|
|
1520
|
+
V(Bt, { class: "bar" }),
|
|
1521
|
+
V(Vt, { class: "time" }),
|
|
1522
|
+
V(Pt, { class: "speed" }),
|
|
1523
|
+
c("div", At, [
|
|
1524
|
+
V(X, {
|
|
1434
1525
|
class: "button",
|
|
1435
|
-
onClick:
|
|
1526
|
+
onClick: l
|
|
1436
1527
|
}, {
|
|
1437
|
-
default:
|
|
1438
|
-
|
|
1528
|
+
default: H(() => g[2] || (g[2] = [
|
|
1529
|
+
c("svg", {
|
|
1439
1530
|
class: "icon",
|
|
1440
1531
|
viewBox: "0 0 48 48"
|
|
1441
1532
|
}, [
|
|
1442
|
-
|
|
1533
|
+
c("path", { d: "M11 36V12h3v24Zm26 0L19.7 24 37 12Z" })
|
|
1443
1534
|
], -1)
|
|
1444
1535
|
])),
|
|
1445
1536
|
_: 1,
|
|
1446
|
-
__: [
|
|
1537
|
+
__: [2]
|
|
1447
1538
|
}),
|
|
1448
|
-
|
|
1539
|
+
V(X, {
|
|
1449
1540
|
class: "button",
|
|
1450
1541
|
onClick: s
|
|
1451
1542
|
}, {
|
|
1452
|
-
default:
|
|
1453
|
-
(y(),
|
|
1454
|
-
|
|
1455
|
-
d:
|
|
1456
|
-
}, null, 8,
|
|
1543
|
+
default: H(() => [
|
|
1544
|
+
(y(), S("svg", Nt, [
|
|
1545
|
+
c("path", {
|
|
1546
|
+
d: O(a).isPlaying ? "M27.4 35.4V12.6h8v22.8Zm-14.8 0V12.6h8.05v22.8Z" : "M16 37.85v-28l22 14Z"
|
|
1547
|
+
}, null, 8, $t)
|
|
1457
1548
|
]))
|
|
1458
1549
|
]),
|
|
1459
1550
|
_: 1
|
|
1460
1551
|
}),
|
|
1461
|
-
|
|
1552
|
+
V(X, {
|
|
1462
1553
|
class: "button",
|
|
1463
|
-
onClick:
|
|
1554
|
+
onClick: r
|
|
1464
1555
|
}, {
|
|
1465
|
-
default:
|
|
1466
|
-
|
|
1556
|
+
default: H(() => g[3] || (g[3] = [
|
|
1557
|
+
c("svg", {
|
|
1467
1558
|
class: "icon",
|
|
1468
1559
|
viewBox: "0 0 48 48"
|
|
1469
1560
|
}, [
|
|
1470
|
-
|
|
1561
|
+
c("path", { d: "M34 36V12h3v24Zm-23 0V12l17.3 12Z" })
|
|
1471
1562
|
], -1)
|
|
1472
1563
|
])),
|
|
1473
1564
|
_: 1,
|
|
1474
|
-
__: [
|
|
1565
|
+
__: [3]
|
|
1475
1566
|
}),
|
|
1476
|
-
|
|
1567
|
+
V(X, {
|
|
1477
1568
|
class: "button",
|
|
1478
|
-
onClick:
|
|
1569
|
+
onClick: L
|
|
1479
1570
|
}, {
|
|
1480
|
-
default:
|
|
1481
|
-
(y(),
|
|
1482
|
-
class:
|
|
1571
|
+
default: H(() => [
|
|
1572
|
+
(y(), S("svg", {
|
|
1573
|
+
class: R(["icon", u.value ? "on" : "off"]),
|
|
1483
1574
|
viewBox: "-128 -128 768 768"
|
|
1484
|
-
},
|
|
1485
|
-
|
|
1575
|
+
}, g[4] || (g[4] = [
|
|
1576
|
+
c("path", { d: "m 463.84136,154.89339 c -6.42,-6.42 -16.83,-6.42 -23.251,0 -71.31197,70.35135 -136.61146,132.25426 -208.741,199.7 h -105.82 c 23.35495,-140.1063 67.13099,-217.59716 120.727,-318.357996 0.86,-0.803 2.209,-0.801 3.067,-10e-4 20.50653,37.383983 48.51152,88.812606 72.26194,147.190756 1.186,9.002 12.2214,17.4338 23.3242,11.71391 9.002,-1.186 11.1594,-12.2324 9.9724,-21.2344 -21.69905,-53.89113 -30.43965,-85.078342 -83.11454,-161.702266 -13.446,-12.55299965 -34.508,-12.55699965 -47.954,10e-4 C 126.80877,149.30021 96.099465,324.74626 77.091365,474.25139 c -2.829,21.473 13.907,40.535 35.543995,40.535 h 271.311 c 21.661,0 38.373,-19.087 35.544,-40.535 -8.26237,-52.34207 -14.88466,-100.7074 -24.7871,-157.02622 -6.40949,-11.78839 -8.3911,-14.9907 -17.4031,-13.8037 -9.002,1.186 -13.59751,8.0528 -12.41051,17.0548 l 5.66371,34.11712 h -83.159 c 64.35441,-63.86663 129.29308,-130.29894 176.448,-176.449 6.42,-6.42 6.42,-16.83 -10e-4,-23.251 z m -88.956,232.582 12.004,91.074 c 0.112,0.846 -0.148,1.701 -0.708,2.341 -0.566,0.645 -1.38,1.014 -2.235,1.014 h -271.311 c -0.855,0 -1.668,-0.369 -2.231,-1.011 -0.564,-0.643 -0.824,-1.499 -0.712,-2.347 l 12.003,-91.072 h 253.19 z" }, null, -1)
|
|
1486
1577
|
]), 2))
|
|
1487
1578
|
]),
|
|
1488
1579
|
_: 1
|
|
1489
1580
|
}),
|
|
1490
|
-
|
|
1581
|
+
V(X, {
|
|
1491
1582
|
class: "button",
|
|
1492
|
-
onClick:
|
|
1583
|
+
onClick: N
|
|
1493
1584
|
}, {
|
|
1494
|
-
default:
|
|
1495
|
-
(y(),
|
|
1496
|
-
class:
|
|
1585
|
+
default: H(() => [
|
|
1586
|
+
(y(), S("svg", {
|
|
1587
|
+
class: R(["icon", i.value ? "on" : "off"]),
|
|
1497
1588
|
viewBox: "-2 -2 28 28"
|
|
1498
|
-
},
|
|
1499
|
-
|
|
1589
|
+
}, g[5] || (g[5] = [
|
|
1590
|
+
c("path", { d: "m 8.9838564,1.5166215 v 2 h 5.9999996 v -2 z m 2.9999996,3 c -4.9699996,0 -8.9999996,4.0299999 -8.9999996,8.9999995 0,4.97 4.02,9 8.9999996,9 4.98,0 9,-4.03 9,-9 0,-2.12 -0.740703,-4.0693745 -1.970703,-5.6093745 l 1.419922,-1.421875 c -0.43,-0.51 -0.900156,-0.9882031 -1.410156,-1.4082031 l -1.419922,1.4199219 c -1.55,-1.24 -3.499141,-1.9804688 -5.619141,-1.9804688 z m -1.789062,4.7480469 6,4.4999996 -6,4.5 z" }, null, -1)
|
|
1500
1591
|
]), 2))
|
|
1501
1592
|
]),
|
|
1502
1593
|
_: 1
|
|
1503
1594
|
}),
|
|
1504
|
-
|
|
1595
|
+
V(X, {
|
|
1505
1596
|
class: "button",
|
|
1506
|
-
onClick:
|
|
1597
|
+
onClick: m
|
|
1507
1598
|
}, {
|
|
1508
|
-
default:
|
|
1509
|
-
|
|
1599
|
+
default: H(() => g[6] || (g[6] = [
|
|
1600
|
+
c("svg", {
|
|
1510
1601
|
class: "icon",
|
|
1511
1602
|
viewBox: "0 -960 960 960"
|
|
1512
1603
|
}, [
|
|
1513
|
-
|
|
1514
|
-
|
|
1604
|
+
c("path", { d: "m 306.66667,-360 q -44,0 -75.33334,-31.33333 Q 200,-422.66667 200,-466.66667 q 0,-44 31.33333,-75.33333 31.33334,-31.33333 75.33334,-31.33333 15.33333,0 28.33333,3.66666 13,3.66667 25,11 V -840 h 160 v 106.66667 H 413.33333 v 266.66666 q 0,44 -31.33333,75.33334 Q 350.66667,-360 306.66667,-360 Z" }),
|
|
1605
|
+
c("path", { d: "m 546.66667,-120 q -44,0 -75.33334,-31.33333 Q 440,-182.66667 440,-226.66667 q 0,-44 31.33333,-75.33333 31.33334,-31.33333 75.33334,-31.33333 15.33333,0 28.33333,3.66666 13,3.66667 25,11 V -600 h 160 v 106.66667 H 653.33333 v 266.66666 q 0,44 -31.33333,75.33334 Q 590.66667,-120 546.66667,-120 Z" })
|
|
1515
1606
|
], -1)
|
|
1516
1607
|
])),
|
|
1517
1608
|
_: 1,
|
|
1518
|
-
__: [
|
|
1609
|
+
__: [6]
|
|
1519
1610
|
})
|
|
1520
1611
|
])
|
|
1521
1612
|
]));
|
|
1522
1613
|
}
|
|
1523
|
-
},
|
|
1614
|
+
}, zt = /* @__PURE__ */ U(Dt, [["__scopeId", "data-v-a93a2793"]]), Ft = { class: "container" }, Ut = { class: "panel" }, xe = 40, Be = 40, we = 100, qt = 50, Ee = 400, Pe = 570, Ve = 570, Ht = 350, Wt = 330, Zt = 360, jt = 360, Gt = {
|
|
1524
1615
|
__name: "MixerLayout",
|
|
1525
1616
|
setup(e) {
|
|
1526
|
-
|
|
1527
|
-
"
|
|
1528
|
-
"
|
|
1529
|
-
|
|
1617
|
+
G((u) => ({
|
|
1618
|
+
"6bce51ec": l.value,
|
|
1619
|
+
"6bdbf7b8": r.value,
|
|
1620
|
+
78139275: m.value
|
|
1530
1621
|
}));
|
|
1531
|
-
const t =
|
|
1532
|
-
const u = n.value,
|
|
1533
|
-
return u < 640 || u <
|
|
1534
|
-
}),
|
|
1622
|
+
const t = ie(), a = Z("container"), { width: n } = K(a), s = M(() => {
|
|
1623
|
+
const u = n.value, i = t.parts.length;
|
|
1624
|
+
return u < 640 || u < xe * i + Ee ? 0 : u < Be * i + Pe ? 1 : u < we * i + Ve ? 2 : 3;
|
|
1625
|
+
}), l = M(() => {
|
|
1535
1626
|
switch (s.value) {
|
|
1536
1627
|
case 0:
|
|
1537
|
-
return `${
|
|
1628
|
+
return `${Ht}px ` + `${qt}px `.repeat(t.parts.length);
|
|
1538
1629
|
case 1:
|
|
1539
|
-
return `${qt}px`;
|
|
1540
|
-
case 2:
|
|
1541
1630
|
return `${Wt}px`;
|
|
1631
|
+
case 2:
|
|
1632
|
+
return `${Zt}px`;
|
|
1542
1633
|
default:
|
|
1543
|
-
return `${
|
|
1634
|
+
return `${jt}px`;
|
|
1544
1635
|
}
|
|
1545
|
-
}),
|
|
1636
|
+
}), r = M(() => {
|
|
1546
1637
|
switch (s.value) {
|
|
1547
1638
|
case 0:
|
|
1548
1639
|
return "100vw";
|
|
1549
1640
|
case 1:
|
|
1550
|
-
return `${
|
|
1641
|
+
return `${xe}px `.repeat(t.parts.length) + `${Ee}px`;
|
|
1551
1642
|
case 2:
|
|
1552
|
-
return `${
|
|
1643
|
+
return `${Be}px `.repeat(t.parts.length) + `${Pe}px`;
|
|
1553
1644
|
default:
|
|
1554
|
-
return `${we}px `.repeat(t.parts.length) + `${
|
|
1645
|
+
return `${we}px `.repeat(t.parts.length) + `${Ve}px`;
|
|
1555
1646
|
}
|
|
1556
|
-
}),
|
|
1647
|
+
}), m = M(() => {
|
|
1557
1648
|
const u = [...t.parts.keys()];
|
|
1558
|
-
return s.value > 0 ? '"' + u.map((
|
|
1649
|
+
return s.value > 0 ? '"' + u.map((i) => "part" + i).join(" ") + ' controls"' : '"controls" ' + u.map((i) => '"part' + i + '"').join(" ");
|
|
1559
1650
|
});
|
|
1560
|
-
return (u,
|
|
1651
|
+
return (u, i) => (y(), S("div", {
|
|
1561
1652
|
class: "outer",
|
|
1562
1653
|
ref_key: "container",
|
|
1563
1654
|
ref: a
|
|
1564
1655
|
}, [
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
(y(!0),
|
|
1568
|
-
key:
|
|
1569
|
-
class:
|
|
1570
|
-
name:
|
|
1571
|
-
volume:
|
|
1572
|
-
"onUpdate:volume": (
|
|
1573
|
-
solo:
|
|
1574
|
-
"onUpdate:solo": (
|
|
1575
|
-
mute:
|
|
1576
|
-
"onUpdate:mute": (
|
|
1656
|
+
c("div", Ft, [
|
|
1657
|
+
c("div", Ut, [
|
|
1658
|
+
(y(!0), S(le, null, ge(O(t).parts, (d, v) => (y(), Me(bt, {
|
|
1659
|
+
key: d.name,
|
|
1660
|
+
class: R("part" + v),
|
|
1661
|
+
name: d.name,
|
|
1662
|
+
volume: d.volume,
|
|
1663
|
+
"onUpdate:volume": (C) => d.volume = C,
|
|
1664
|
+
solo: d.solo,
|
|
1665
|
+
"onUpdate:solo": (C) => d.solo = C,
|
|
1666
|
+
mute: d.mute,
|
|
1667
|
+
"onUpdate:mute": (C) => d.mute = C,
|
|
1577
1668
|
ref_for: !0,
|
|
1578
1669
|
ref: "parts"
|
|
1579
1670
|
}, null, 8, ["class", "name", "volume", "onUpdate:volume", "solo", "onUpdate:solo", "mute", "onUpdate:mute"]))), 128)),
|
|
1580
|
-
|
|
1581
|
-
title:
|
|
1671
|
+
V(zt, {
|
|
1672
|
+
title: O(t).title,
|
|
1582
1673
|
class: "controls"
|
|
1583
|
-
},
|
|
1674
|
+
}, {
|
|
1675
|
+
menu: H(() => [
|
|
1676
|
+
re(u.$slots, "menu", {}, void 0, !0)
|
|
1677
|
+
]),
|
|
1678
|
+
_: 3
|
|
1679
|
+
}, 8, ["title"])
|
|
1584
1680
|
])
|
|
1585
1681
|
])
|
|
1586
1682
|
], 512));
|
|
1587
1683
|
}
|
|
1588
|
-
},
|
|
1684
|
+
}, na = /* @__PURE__ */ U(Gt, [["__scopeId", "data-v-df706138"]]), Kt = { class: "outer" }, Yt = { class: "mid" }, Qt = { class: "inner" }, Xt = {
|
|
1589
1685
|
key: 0,
|
|
1590
1686
|
class: "content"
|
|
1591
|
-
},
|
|
1687
|
+
}, Jt = {
|
|
1592
1688
|
__name: "Placeholder",
|
|
1593
1689
|
props: {
|
|
1594
1690
|
colour: {
|
|
@@ -1601,40 +1697,40 @@ const bt = {
|
|
|
1601
1697
|
}
|
|
1602
1698
|
},
|
|
1603
1699
|
setup(e) {
|
|
1604
|
-
return
|
|
1700
|
+
return G((t) => ({
|
|
1605
1701
|
"66bea586": e.colour
|
|
1606
|
-
})), (t, a) => (y(),
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
e.text || t.$slots.default ? (y(),
|
|
1610
|
-
ye(
|
|
1611
|
-
|
|
1612
|
-
])) :
|
|
1702
|
+
})), (t, a) => (y(), S("div", Kt, [
|
|
1703
|
+
c("div", Yt, [
|
|
1704
|
+
c("div", Qt, [
|
|
1705
|
+
e.text || t.$slots.default ? (y(), S("div", Xt, [
|
|
1706
|
+
ye(F(e.text) + " ", 1),
|
|
1707
|
+
re(t.$slots, "default", {}, void 0, !0)
|
|
1708
|
+
])) : se("", !0)
|
|
1613
1709
|
])
|
|
1614
1710
|
])
|
|
1615
1711
|
]));
|
|
1616
1712
|
}
|
|
1617
|
-
},
|
|
1713
|
+
}, sa = /* @__PURE__ */ U(Jt, [["__scopeId", "data-v-dff76c48"]]);
|
|
1618
1714
|
export {
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1715
|
+
X as AudioButton,
|
|
1716
|
+
de as AudioSlider,
|
|
1717
|
+
Bt as BarInput,
|
|
1718
|
+
Fe as BaseNumericInput,
|
|
1719
|
+
ve as DEV_MODE,
|
|
1624
1720
|
ft as DummyAudioEngine,
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1721
|
+
zt as MixerControls,
|
|
1722
|
+
na as MixerLayout,
|
|
1723
|
+
bt as PartControl,
|
|
1724
|
+
sa as Placeholder,
|
|
1725
|
+
Pt as SpeedInput,
|
|
1726
|
+
Vt as TimeInput,
|
|
1631
1727
|
De as TitleText,
|
|
1632
1728
|
mt as TriState,
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1729
|
+
ze as isDevFeature,
|
|
1730
|
+
aa as isDevMode,
|
|
1731
|
+
ee as useAudioStateStore,
|
|
1732
|
+
K as useElementSize,
|
|
1733
|
+
oe as useMasterAudioControl,
|
|
1734
|
+
ie as useMusicDataStore,
|
|
1639
1735
|
pt as usePlaybackStateStore
|
|
1640
1736
|
};
|