How to use CDN in local javascript file

CharlieBakes picture CharlieBakes · Jul 15, 2019 · Viewed 8.7k times · Source

I am trying to use Tone.js to make music with javascript. I get the error message "tonetutorial.html:26 Uncaught TypeError: Tone.Player is not a constructor" whenever I try to make it work.

I have at the top of my HTML file. I am currently using Brackets to write and preview my code.

This is my javascript function

function sequencer() {
const kick= new Tone.Player("Cartoon_Boing.mp3").toMaster();

const kickInputs = document.querySelectorAll(".kick");
}
sequencer();

this is the HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.0.2/Tone.min.js"></script>
<script src=tonetutorial.js></script>
<body>
    <h1>Music Maker</h1>
    <div class="drums">
        <div class="kick">
            <input type="Checkbox">
        </div>
    </div>
</body>

When I try to run this, I am being told that "Tone.Player" is not a constructor. can I not use the web cdn in this case? do I have to download the .min to my desktop?

Answer

Quentin picture Quentin · Jul 15, 2019

https://cdnjs.cloudflare.com/ajax/libs/tone/14.0.2/Tone.min.js does not include Player.

The releases page for the library shows that the latest released version is 13.4.9.

Possibly, 14.0.2 is buggy.

Using <script src="https://cdnjs.cloudflare.com/ajax/libs/tone/13.4.9/Tone.min.js"></script> resolves the issue.