Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

it2play-pas

IT/S3M tracker module replay in native Free Pascal

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

A native Free Pascal class for playback of Impulse Tracker (IT) and Scream Tracker (S3M) tracker modules.

This is basically a fairly direct port of 8bitbubsy's it2play, which itself is an accurate port of Impulse Tracker 2.15's original IT playroutine ported from assembly to C.

8bitbubsy's C port: https://github.com/8bitbubsy/it2play

Thanks to 8bitbubsy and muzzy for helping to debug this port!

Current state:

  • Supports modules using samples or instruments, envelopes, filters, etc.
  • HQ, SB16 and SB16-MMX drivers implemented; choice of interpolation, volume ramping and filter support
  • MPT extended filter ranges supported in HQ driver
  • Lots of low-level bit twiddling making the code fast but ugly
  • Some bugs likely due to porting mishaps. No AI help used.

Partial TODO:

  • WAV writer
  • Support for MMCMP compressed modules
  • Refactor for more Object Pascalish code
  • Test against all the OpenMPT IT tests

Bugs:

  • SB16-MMX filter routines may need tweaking