|
@@ -24,6 +24,7 @@ import { ALL_NOTES, NOTE_DOT } from "./noteData";
|
|
|
import { Close } from "@vicons/ionicons5";
|
|
|
import { UseDraggable } from "@vueuse/components";
|
|
|
import { getQuery } from "/src/utils/queryString";
|
|
|
+import Metronome, { metronomeData } from "/src/helpers/metronome";
|
|
|
|
|
|
const allPitches = [
|
|
|
"C,,,,",
|
|
@@ -494,8 +495,10 @@ export default defineComponent({
|
|
|
textAreaRef.value && (textAreaRef.value.value = data.music);
|
|
|
data.drawCount++;
|
|
|
|
|
|
- // const times = new ABCJS.TimingCallbacks(abcData.visualObj);
|
|
|
- // console.log("🚀 ~ times:", times)
|
|
|
+ const times = new ABCJS.TimingCallbacks(abcData.visualObj);
|
|
|
+ console.log("🚀 ~ times:", times)
|
|
|
+ metronomeData.metro = new Metronome();
|
|
|
+ metronomeData.metro.init(times.noteTimings)
|
|
|
});
|
|
|
});
|
|
|
};
|
|
@@ -724,9 +727,10 @@ export default defineComponent({
|
|
|
if (type === "meter") {
|
|
|
if (data.active) {
|
|
|
if (!activeNote) return;
|
|
|
- activeNote.meter = `[${value}]`;
|
|
|
+ const note = abcData.abc.measures[data.active.measureIndex].notes[0];
|
|
|
+ note.meter = `[${value}]`;
|
|
|
await handleResetRender();
|
|
|
- const oldNote = useIndexGetNote(`${data.active.measureIndex}.${data.active.noteIndex}`);
|
|
|
+ const oldNote = useIndexGetNote(`${data.active.measureIndex}.0`);
|
|
|
rangeHighlight(oldNote.startChar);
|
|
|
} else {
|
|
|
abcData.abc.meter = value;
|
|
@@ -1113,7 +1117,7 @@ export default defineComponent({
|
|
|
await api_musicSheetCreationUpdate({
|
|
|
name: data.musicName,
|
|
|
creator: data.creator,
|
|
|
- creationConfig: data.music,
|
|
|
+ creationConfig: renderMeasures(abcData.abc, { hiddenIndex: true }),
|
|
|
creationData: JSON.stringify(abcData.abc),
|
|
|
id: data.musicId,
|
|
|
subjectId: 3,
|
|
@@ -1155,6 +1159,7 @@ export default defineComponent({
|
|
|
data.selectMeasures.y = rect.top + 70;
|
|
|
data.selectMeasures.state = true;
|
|
|
}
|
|
|
+
|
|
|
});
|
|
|
onUnmounted(() => {
|
|
|
document.removeEventListener("keyup", handleKeyUp);
|
|
@@ -1916,7 +1921,7 @@ export default defineComponent({
|
|
|
<div id="paper"></div>
|
|
|
{ !data.loading && <Keys show={data.active ? true : false} instrumentCode={abcData.abc.subjectCode} onClick={(val) => handleChange(val)} />}
|
|
|
|
|
|
- {/* <textarea ref={textAreaRef} class={styles.value} id="abc"></textarea> */}
|
|
|
+ <textarea ref={textAreaRef} class={styles.value} id="abc"></textarea>
|
|
|
<div id="audio" style={{ display: 'none' }}></div>
|
|
|
<div id="warnings"></div>
|
|
|
|