|  | @@ -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>
 | 
	
		
			
				|  |  |  
 |