The AROS Archives(anonymous IP: 216.73.216.206,397) 
 HomeRecentStatsSearchSubmitUploadsMirrorsContactInfoDisclaimerConfigAdmin
 Menu


 Categories

   o Audio (122)
   o Datatype (17)
   o Demo (65)
   o Development (264)
   o Document (70)
   o Driver (20)
   o Emulation (71)
   o Game (606)
   o Graphics (238)
   o Library (23)
   o Network (74)
   o Office (23)
   o Utility (322)
   o Video (20)

Total files: 1935

Full index file
Recent index file

Part of Aros World Exec
 Readme for:  Audio » modplay.x86_64-aros-v11.zip

ModPlay

Description: ModPlay Supports up to 32-channel
Download: modplay.x86_64-aros-v11.zip       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 65kb
Date: 28 Sep 26
Author: Michal Procházka
Submitter: AMIGASYSTEM
Email: carlo spadoni/libero it
Homepage: https://sites.google.com/view/arosone
Requirements: AROS 32-bit ABIv0
Category: audio
License: Other
Distribute: yes
FileID: 3452
 
Comments: 0
Snapshots: 0
Videos: 0
Downloads: 2  (Current version)
2  (Accumulated)
Votes: 0 (0/0)  (30 days/7 days)

[Show comments] [Show snapshots] [Show videos] [Show content] [Replace file] 
MODPlay
Yet another simple MOD player library written in C. But I don't care, because
this one's _mine_. Supports up to 32-channel files by default (though this can
be changed by editing the header file).

To hear for yourself how it sounds, you may visit [this
website](https://mod.prochazkaml.eu/), which uses this exact library (compiled
to WebAssembly with Emscripten), wrapped around a nice Windows 3.11-themed UI.
There are several examples available to pick from, but you may also upload your
own files (OUTDATED - only supports 4-channel files).

A simple example program is supplied with this library, which uses SDL for audio
output. To compile it, run the following:

```
cc example.c modplay.c -lSDL -o example
```

There are two valid ways to use this library: via an audio callback (whose
buffer will be filled by `RenderMOD()`) or via repeatedly calling`ProcessMOD()`.
Use the former whenever it is possible, unless you want to write your own Paula
emulator.
Use the latter only when hardware restrictions limit you from setting up an
audio callback,
and said hardware contains a dedicated hardware sampler/mixer, for which you
will have to write a translation layer
to translate Paula parameters to the hardware's native parameters (e.g. the
original Sony PlayStation).

DO NOT USE BOTH AT ONCE! Only use the `RenderMOD()` method, or the
`ProcessMOD()` method.
`RenderMOD()` calls `ProcessMOD()` internally by itself, by calling both
functions, the player will misbehave badly.

## Projects using this library

- [cpldcpu/ModPlayRISCV](https://github.com/cpldcpu/ModPlayRISCV) - MOD player
for the CH32V002 RISC-V microcontroller
- [UzeMOD](https://uzebox.org/forums/viewtopic.php?t=11717) - MOD player for the
[Uzebox game console](https://uzebox.org/)
- [prochazkaml/pico-MODPlay](https://github.com/prochazkaml/pico-MODPlay) - MOD
player for the RP2040 microcontroller
- [prochazkaml/webMODPlay](https://github.com/prochazkaml/webMODPlay) -
web-based MOD player (as described above)

If you made your own project using this library, please let me know!

Copyright © 2005 - 2026 The AROS Archives All Rights Reserved