import * as React from 'react'; import PartitionView from './PartitionView'; import PhaserCanvas from './PartitionVisualizer/PhaserCanvas'; import { PianoCursorPosition } from '../models/PianoGame'; type PartitionCoordProps = { // The Buffer of the MusicXML file retreived from the API file: string; bpmRef: React.MutableRefObject; onPartitionReady: () => void; onEndReached: () => void; onResume: () => void; onPause: () => void; }; const PartitionCoord = ({ file, onPartitionReady, onEndReached, onPause, onResume, bpmRef, }: PartitionCoordProps) => { const [partitionData, setPartitionData] = React.useState< [[number, number], string, PianoCursorPosition[]] | null >(null); return ( <> {!partitionData && ( { setPartitionData([dims, base64data, a]); onPartitionReady(); }} onEndReached={() => { console.log('osmd end reached'); }} timestamp={0} /> )} {partitionData && ( { onEndReached(); }} /> )} ); }; export default PartitionCoord;