This browser does not have a Java Plug-in.
Get the latest Java Plug-in here.


PortaMod

A library by Brendan Ratliff for the programming environment processing. Last update, 11/23/2009.

PortaMod - a MOD/XM/S3M replayer library for Processing by Brendan Ratliff (aka Crayolon, aka Syphus of UpRough)

Based on IBXM by Martin Cameron (© 2008)

Fundamentally, PortaMod is a Processing implementation of IBXM so that the Processing community can benefit from the advantages that oldschool 'tracker' formats offer.

Compared to WAV/MP3/OGG, these advantages include small file-size, the ability to synchronise visuals and other triggered events to events in the music (e.g. synching a screenflash to a particular note, at a particular time and volume) and the possibility for allowing extensive user interaction with the music itself.

Compared to MIDI, tracked formats use instruments based on samples which sound the same on any replayer system, rather than being dependent on varying MIDI-synths. Though oldschool 4-channel chiptunes can be as small as 3 kilobytes, complex and high- quality music can be arranged in an XM of up to 32 channels, often matching mp3 quality but with a reduced filesize.

PortaMod builds quite heavily on IBXM in the control features it offers, while retaining IBXM's efficiency and reliable handling of these formats and their idiosyncrasies. Its diverse range of methods is intended to give the Processing community a very granular relationship with tracked audio data, which can either be found amongst the gigabytes of free modules available online or created with trackers such as ProTracker (Amiga), FastTracker (MS-DOS), ScreamTracker (MS-DOS), or the modern-day and very cross-platform MilkyTracker - www.milkytracker.org

Feedback always appreciated - contact me on echolevel <~# A!T # ~> gmail -=[blotch]=- com if necessary, but the best way of discussing PortaMod would be to post a comment on this article on my blog. Also the quickest way of getting a response :)

Special thanks to Peter Quayle (parapete), Paul Carpenter (Vampire^TZT) and Anders Carlsson (goto80), for help and bugtesting; to Joey Scully (dataprole) and Jamie Allen for advice; to Martin Cameron (of course!) for IBXM :D

Note: the source WILL be open, and soon, but first I must tidy it a LOT! Embarrassing...

Download

Download PortaMod version 0.1.1 in .zip format.

Installation

Unzip and put the extracted PortaMod folder into the libraries folder of your processing sketches. Reference and examples are included in the PortaMod folder.

Tested

Platform Windows XP
Processing 1.0.1
JDK Version 1.5
Dependencies none

Examples

Here's an example of a dual-deck mod DJing app which uses PortaMod: ChipdiscoDJ

Find a list of examples in the current distribution of PortaMod, or have a look at them by following the links below.

Reference. Have a look at the javadoc reference here. a copy of the reference is included in the .zip as well.