Scratch-BeepBox is an extension/wrapper for Scratch that allows playback from the BeepBox synthesizer via BeepBox's alphanumerical project strings (example: 9s8k0l0e00t2a7g0fj16r1i0o1p1175...).
It is relatively simple to use this extension. Simply find the version of scratch you want to use and follow the steps.
Vanilla Scratch does not support custom extensions.
Unfortunately, this extension has no way to avoid being unsandboxed. This means that it is harder to use in Turbowarp. Turbowarp disables the use of unsandboxed plugins to prevent malicious code from running. This means that when a new update to this extension is released, you must follow this process again. To use in Turbowarp, follow these steps:
- Download the
extension.jsfile. - Open Turbowarp and open the extensions pane.
- Choose
Custom Extension - Click on the
Filestab - Open the previously downloaded
extension.jsfile - Use the extension in your project!
Note
This extension does not yet have support for PenguinMod.
PenguinMod, despite it being a fork of Turbowarp, allows unsandboxed custom extensions without restriction.
- Open PenguinMod and open the extensions pane.
- Click on
Load Custom Extension - Copy and paste this link into the text field.
- Tick
Run extension without sandbox - Use the extension in your project!
- Find and open a custom extension prompt.
- Copy and paste this link into a custom extension URL field.
- Fork and clone the repository
$ git clone https://github.com/notkirb/Scratch-BeepBox.git && cd Scratch-BeepBox
- Install dependencies
$ npm install
- Package project
$ npm run build
- Use
dist/extension.jsin your Scratch VM of choice
| Task | Completion |
|---|---|
| Integrate BeepBox synth code into extension to allow for offline use | 🟢 Completed |
| Support for BeepBox forks | 🔴 Canceled* |
| Use global volume setting | ⚫ Not started |
| PenguinMod support | ⚫ Not started |
| Branding | ⚫ Not started |
BeepBox Synthesizer by John Nesky and the community
* I decided people can fork this project to add support for Beepbox variants, since it will make the codebase significantly larger if we supported more than one variant.