https://github.com/penx/modplayer
MOD player/tracker
https://github.com/penx/modplayer
Last synced: 3 months ago
JSON representation
MOD player/tracker
- Host: GitHub
- URL: https://github.com/penx/modplayer
- Owner: penx
- License: mit
- Created: 2022-11-16T13:02:17.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-18T23:31:23.000Z (about 3 years ago)
- Last Synced: 2025-08-09T11:19:42.707Z (5 months ago)
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/modplayer
- Size: 93.8 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# modplayer
TypeScript mod player/tracker.
## Usage
### AudioWorklet
```ts
import modplayerWorkletUrl from "modplayer/worklet?worker&url";
import { loadWorkletFromBuffer, loadBufferFromUrl } from "modplayer";
const context = new AudioContext({
sampleRate: 44100,
});
await context.audioWorklet.addModule(modplayerWorkletUrl);
const addModulePromise = context.audioWorklet.addModule(modplayerWorkletUrl);
const { buffer, ext } = await loadBufferFromUrl("/assets/cooltune.mod");
const worklet = loadWorkletFromBuffer(ext, buffer, context, {
options: {
autoplay: true,
repeat: true,
},
});
worklet.connect(context.destination);
```
[CodeSandbox example](https://codesandbox.io/s/modplayer-example-67p37i)
## Credits
Based upon @electronoora's [webaudio-mod-player](https://github.com/electronoora/webaudio-mod-player).
Forked by Alasdair McLeay:
- Converted to TypeScript
- Published to npm
- Added AudioWorklet (threading) support