<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>MIDI.js - Sequencing in Javascript.</title>
    <!-- midi.js css -->
    <!-- shim -->
    <script src="./inc/shim/Base64.js" type="text/javascript"></script>
    <script src="./inc/shim/Base64binary.js" type="text/javascript"></script>
    <script src="./inc/shim/WebAudioAPI.js" type="text/javascript"></script>
    <script src="./inc/shim/WebMIDIAPI.js" type="text/javascript"></script>
    <!-- jasmid package -->
    <script src="./inc/jasmid/stream.js"></script>
    <script src="./inc/jasmid/midifile.js"></script>
    <script src="./inc/jasmid/replayer.js"></script>
    <!-- midi.js package -->
    <script src="./js/midi/audioDetect.js" type="text/javascript"></script>
    <script src="./js/midi/gm.js" type="text/javascript"></script>
    <script src="./js/midi/loader.js" type="text/javascript"></script>
    <script src="./js/midi/plugin.audiotag.js" type="text/javascript"></script>
    <script src="./js/midi/plugin.webaudio.js" type="text/javascript"></script>
    <script src="./js/midi/plugin.webmidi.js" type="text/javascript"></script>
    <script src="./js/midi/player.js" type="text/javascript"></script>
    <script src="./js/midi/synesthesia.js" type="text/javascript"></script>
    <!-- utils -->
    <script src="./js/util/dom_request_xhr.js" type="text/javascript"></script>
    <script src="./js/util/dom_request_script.js" type="text/javascript"></script>
</head>

<body>
    <button id="playBtn">播放</button>
    <button id="pauseBtn">暂停</button>
    <button id="stopBtn">跳跃</button>
    <input type="range" id="skipBtn" value="100" min="45" max="200" />
    <script type="text/javascript">
        var midiData = {
            src: '',
            timeWarp: 1,
        }
        var currentTime = 0
        var MIDI = window.MIDI
        MIDI.loadPlugin({
            soundfontUrl: "./soundfont/",
            // instrument: ["acoustic_grand_piano", "synth_drum"],
            onsuccess: function () {
                console.log(MIDI)
                window.handleRendered && window.handleRendered()
                // MIDI.setInstrument(0, MIDI.GM.byName['synth_drum'].number)
                // MIDI.setInstrument(1, MIDI.GM.byName['acoustic_grand_piano'].number)
            }
        });

        // 播放音符
        function playNote(note, delay) {
            MIDI.noteOn(0, note, 100, 0);
            MIDI.noteOff(0, note, delay);
        }



        // MIDI.Player.currentTime = 100000
        // MIDI.Player.timeWarp = 0.6289308176100629
        // setInterval(() => {
        //     // console.log(MIDI.Player.currentTime / 1000, MIDI.Player.restart)
        // }, 100)

        var playBtn = document.getElementById('playBtn')
        // var pauseBtn = document.getElementById('pauseBtn')
        // var stopBtn = document.getElementById('stopBtn')
        // var skipBtn = document.getElementById('skipBtn')
        playBtn.addEventListener('click', () => {
            MIDI.noteOn(0, 50, 50, 0);
            MIDI.noteOff(0, 50, 1);
            MIDI.noteOn(0, 50, 100, 1);
            MIDI.noteOff(0, 50, 2);
            console.log(MIDI)
        })
        // pauseBtn.onclick = function () {
        //     MIDI.Player.pause();
        // }
        // stopBtn.onclick = function () {
        //     MIDI.Player.currentTime = 100000
        //     MIDI.Player.resume();
        //     console.log(MIDI)
        // }
        // skipBtn.onchange = function (e) {
        //     var timeWarp = Number(e.target.value) / 100
        //     // MIDI.Player.stop()
        //     // const oldCurrent = MIDI.Player.currentTime
        //     // const ab = MIDI.Player.replayer.getData()
        //     // console.log(ab)
        //     MIDI.Player.loadMidiFile(() => {
        //         MIDI.Player.timeWarp = 1 / timeWarp
        //         console.log('播放倍数', 1 / timeWarp, Number(e.target.value))
        //         MIDI.Player.resume();
        //     })


        // }
    </script>
</body>

</html>