14
14
<QInput
15
15
type =" number"
16
16
dense
17
- :modelValue =" keyRangeAdjustmentInputBuffer "
17
+ :modelValue =" keyRangeAdjustment "
18
18
label =" 音域"
19
19
hideBottomSpace
20
20
unelevated
21
21
class =" key-range-adjustment"
22
- @update:modelValue =" setKeyRangeAdjustmentInputBuffer"
23
22
@change =" setKeyRangeAdjustment"
24
23
/>
25
24
<QInput
26
25
type =" number"
27
26
dense
28
- :modelValue =" volumeRangeAdjustmentInputBuffer "
27
+ :modelValue =" volumeRangeAdjustment "
29
28
label =" 声量"
30
29
hideBottomSpace
31
30
unelevated
32
31
class =" volume-range-adjustment"
33
- @update:modelValue =" setVolumeRangeAdjustmentInputBuffer"
34
32
@change =" setVolumeRangeAdjustment"
35
33
/>
36
34
</div >
37
35
<QInput
38
36
type =" number"
39
- :modelValue =" bpmInputBuffer "
37
+ :modelValue =" currentBpm "
40
38
dense
41
39
hideBottomSpace
42
40
outlined
43
41
unelevated
44
42
label =" テンポ"
45
43
class =" sing-tempo"
46
44
padding =" 0"
47
- @update:modelValue =" setBpmInputBuffer"
48
- @change =" setTempo"
45
+ @change =" setBpm"
49
46
/>
50
47
<QField
51
48
hideBottomSpace
159
156
</template >
160
157
161
158
<script setup lang="ts">
162
- import { computed , watch , ref } from " vue" ;
159
+ import { computed } from " vue" ;
163
160
import PlayheadPositionDisplay from " ../PlayheadPositionDisplay.vue" ;
164
161
import EditTargetSwicher from " ./EditTargetSwicher.vue" ;
165
162
import { useStore } from " @/store" ;
@@ -267,34 +264,6 @@ const beatTypeOptions = BEAT_TYPES.map((beatType) => ({
267
264
value: beatType ,
268
265
}));
269
266
270
- const bpmInputBuffer = ref (120 );
271
- const keyRangeAdjustmentInputBuffer = ref (0 );
272
- const volumeRangeAdjustmentInputBuffer = ref (0 );
273
-
274
- watch (
275
- keyRangeAdjustment ,
276
- () => {
277
- keyRangeAdjustmentInputBuffer .value = keyRangeAdjustment .value ;
278
- },
279
- { immediate: true },
280
- );
281
-
282
- watch (
283
- volumeRangeAdjustment ,
284
- () => {
285
- volumeRangeAdjustmentInputBuffer .value = volumeRangeAdjustment .value ;
286
- },
287
- { immediate: true },
288
- );
289
-
290
- const setBpmInputBuffer = (bpmStr : string | number | null ) => {
291
- const bpmValue = Number (bpmStr );
292
- if (! isValidBpm (bpmValue )) {
293
- return ;
294
- }
295
- bpmInputBuffer .value = bpmValue ;
296
- };
297
-
298
267
const currentTimeSignature = computed (() => {
299
268
const maybeTimeSignature = timeSignatures .value .findLast (
300
269
(_timeSignature , i ) => tsPositions .value [i ] <= playheadTicks .value ,
@@ -332,28 +301,11 @@ const setBeatType = (beatType: { label: string; value: number }) => {
332
301
});
333
302
};
334
303
335
- const setKeyRangeAdjustmentInputBuffer = (
336
- KeyRangeAdjustmentStr : string | number | null ,
337
- ) => {
338
- const KeyRangeAdjustmentValue = Number (KeyRangeAdjustmentStr );
339
- if (! isValidKeyRangeAdjustment (KeyRangeAdjustmentValue )) {
340
- return ;
341
- }
342
- keyRangeAdjustmentInputBuffer .value = KeyRangeAdjustmentValue ;
343
- };
344
-
345
- const setVolumeRangeAdjustmentInputBuffer = (
346
- volumeRangeAdjustmentStr : string | number | null ,
347
- ) => {
348
- const volumeRangeAdjustmentValue = Number (volumeRangeAdjustmentStr );
349
- if (! isValidVolumeRangeAdjustment (volumeRangeAdjustmentValue )) {
304
+ const setBpm = (bpm : string | number | null ) => {
305
+ const bpmValue = Number (bpm );
306
+ if (! isValidBpm (bpmValue )) {
350
307
return ;
351
308
}
352
- volumeRangeAdjustmentInputBuffer .value = volumeRangeAdjustmentValue ;
353
- };
354
-
355
- const setTempo = () => {
356
- const bpm = bpmInputBuffer .value ;
357
309
const position = tempos .value .findLast (
358
310
(tempo ) => tempo .position <= playheadTicks .value ,
359
311
)?.position ;
@@ -363,40 +315,46 @@ const setTempo = () => {
363
315
void store .actions .COMMAND_SET_TEMPO ({
364
316
tempo: {
365
317
position ,
366
- bpm ,
318
+ bpm: bpmValue ,
367
319
},
368
320
});
369
321
};
370
322
371
- const setKeyRangeAdjustment = () => {
372
- const keyRangeAdjustment = keyRangeAdjustmentInputBuffer .value ;
323
+ const setKeyRangeAdjustment = (
324
+ KeyRangeAdjustmentStr : string | number | null ,
325
+ ) => {
326
+ const KeyRangeAdjustmentValue = Number (KeyRangeAdjustmentStr );
327
+ if (! isValidKeyRangeAdjustment (KeyRangeAdjustmentValue )) {
328
+ return ;
329
+ }
373
330
void store .actions .COMMAND_SET_KEY_RANGE_ADJUSTMENT ({
374
- keyRangeAdjustment ,
331
+ keyRangeAdjustment: KeyRangeAdjustmentValue ,
375
332
trackId: selectedTrackId .value ,
376
333
});
377
334
};
378
335
379
- const setVolumeRangeAdjustment = () => {
380
- const volumeRangeAdjustment = volumeRangeAdjustmentInputBuffer .value ;
336
+ const setVolumeRangeAdjustment = (
337
+ volumeRangeAdjustmentStr : string | number | null ,
338
+ ) => {
339
+ const volumeRangeAdjustmentValue = Number (volumeRangeAdjustmentStr );
340
+ if (! isValidVolumeRangeAdjustment (volumeRangeAdjustmentValue )) {
341
+ return ;
342
+ }
381
343
void store .actions .COMMAND_SET_VOLUME_RANGE_ADJUSTMENT ({
382
- volumeRangeAdjustment ,
344
+ volumeRangeAdjustment: volumeRangeAdjustmentValue ,
383
345
trackId: selectedTrackId .value ,
384
346
});
385
347
};
386
348
387
- watch (
388
- [tempos , playheadTicks ],
389
- () => {
390
- const currentTempo = tempos .value .findLast (
391
- (tempo ) => tempo .position <= playheadTicks .value ,
392
- );
393
- if (! currentTempo ) {
394
- throw new UnreachableError (" assert: at least one tempo exists" );
395
- }
396
- bpmInputBuffer .value = currentTempo .bpm ;
397
- },
398
- { immediate: true },
399
- );
349
+ const currentBpm = computed (() => {
350
+ const currentTempo = tempos .value .findLast (
351
+ (tempo ) => tempo .position <= playheadTicks .value ,
352
+ );
353
+ if (! currentTempo ) {
354
+ throw new UnreachableError (" assert: at least one tempo exists" );
355
+ }
356
+ return currentTempo .bpm ;
357
+ });
400
358
401
359
const nowPlaying = computed (() => store .state .nowPlaying );
402
360
0 commit comments