GameMaker (2.3)

MOD Player

Mick @ GamePhase

You must be logged in to obtain assets


This is a music module player that uses libmodplug and audio buffers in GMS to play MOD music in 22 different formats (Amiga MOD, XM, S3M, IT etc.). Individual tracks can be muted and tempo can be changed in real time. MOD Player currently supports Windows, Linux (32bit and 64bit) and Android (32bit). The shared library is included for Mac OS X 64-bit, but it is unsupported.

NOTE1: If you have a room / game speed of lower than 60 (or maybe even then), you may need to increase the number of buffers used by the MOD Player extension to avoid noise or glitches. You can do this by increasing the value of the variable buffer_count to 20 (or even higher) in the create event of obj_mod_player.

View the documentation (pdf)

The libmodplug source code is released under public domain so there should be no restrictions to use it in your games.

Note: GMS2 version only tested on Windows 7, GMS1.4 version tested on Windows 7, Ubuntu 14.04, Ubuntu 16.04 64bit and Samsung Galaxy S5 with Android 5.0

Supported formats:

  • MOD (ProTracker (Amiga))
  • STM (ScreamTracker 2)
  • S3M (ScreamTracker 3)
  • XM (FastTracker 2)
  • IT (Impulse Tracker)
  • 669 (Composer 669)
  • AMF (ASYLUM Music Format / DSMI Advanced Music Format)
  • AMS (Extreme's Tracker / Velvet Studio)
  • DBM (Digi Booster Pro)
  • DMF (X-Tracker)
  • DSM (DSIK Format)
  • FAR (Farandole Composer)
  • MDL (DigiTrakker)
  • MED (OctaMED (Amiga))
  • MTM (MultiTracker)
  • OKT (Oktalyzer)
  • PTM (PolyTracker)
  • ULT (UltraTracker)
  • UMX (Unreal Music Package)
  • MT2 (MadTracker 2)
  • PSM (Epic Megagames MASI)


  • MOD_LoadSong(filename, repeat_count)
  • MOD_Play()
  • MOD_Pause(pause)
  • MOD_Stop()
  • MOD_GetName()
  • MOD_GetLength()
  • MOD_GetTempo()
  • MOD_SetTempo(tempo)
  • MOD_NumChannels()
  • MOD_MuteChannel(channel, mute)
  • MOD_GetChannelVolume(channel)
  • MOD_SetChannelVolume(channel, volume)

End User Licence Agreement (EULA).

Age Rating: 4+


GMS1 - Version 1.4.0. Published September 7, 2018

  • Mac OS X dylib built for 64-bit (untested)

GMS2 - Version 1.4.0. Published September 7, 2018

  • Mac OS X shared library (dylib) built for 64-bit (untested)
  • Ubuntu shared library (so) built for 64-bit (tested on 16.04 LTS)

GMS2.3 - Version 1.5.3. Published January 20, 2023

Switched back to linear sampling due to bad sound quality.

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait