Sound in MegaZeux/Sound Engines: Difference between revisions

From MZXWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
==ModObj==
==ModObj==
Mark J. Cox's [https://awe.com/mark/dev/modobj.html ModObj] was the sound engine used in MegaZeux releases prior to 2.50.
Mark J. Cox's [https://awe.com/mark/dev/modobj.html ModObj] was the sound engine used in MegaZeux releases prior to 2.50.
===Supported Formats===
*[[MOD]]
*[[SAM]] (sound effects only)


==Bells, Whistles, and Sound Boards==
==Bells, Whistles, and Sound Boards==
[https://www.phatcode.net/downloads.php?id=170 Bells, Whistles, and Sound Boards ('''BWSB''')] is a DOS-based sound library that was popular throughout the demoscene in the mid-1990s. It was programmed by Zilym Limms and supports a small variety of sound cards such as Sound Blaster and Gravis UltraSound. The library has support for most early [[MOD]] music formats, and limited support for [[S3M]] music (after converting it to [[GDM]] format first).
[https://www.phatcode.net/downloads.php?id=170 Bells, Whistles, and Sound Boards ('''BWSB''')] is a DOS-based sound library that was popular throughout the demoscene in the mid-1990s. It was programmed by Zilym Limms and supports a small variety of sound cards such as Sound Blaster and Gravis UltraSound.


BWSB was the sound library used for [[MegaZeux]] for all DOS releases from 2.50 onward (replacing [[ModObj]]). It was dropped in favor of [[ModPlug]] and [[MikMod]] (and eventually [[libxmp]]) for the SDL port.
BWSB was the sound library used for [[MegaZeux]] for all DOS releases from 2.50 onward (replacing [[ModObj]]). It was dropped in favor of [[ModPlug]] and [[MikMod]] (and eventually [[libxmp]]) for the SDL port.
===Supported Formats===
*[[MOD]] (most early variants)
*[[GDM]] (a utility for converting [[S3M]]s to [[GDM]]s was provided)
*[[SAM]] (sound effects only)


==ModPlug==
==ModPlug==
[https://github.com/Konstanty/libmodplug libmodplug] was the primary sound engine used in all port releases between 2.80 and 2.90, when it was replaced by [[libxmp]] as the default engine. It is still supported, but must be enabled with a compile-time option. Supported formats in the MegaZeux fork are [[MOD]], [[S3M]] (faulty), [[XM]], and [[IT]], as well as [[669]], [[AMF]], [[DSM]], [[FAR]], [[MED]] (limited), [[MTM]], [[OKT]], [[STM]] (faulty), and [[ULT]]. Notably, libmodplug has no native support for the [[GDM]] format.
[https://github.com/Konstanty/libmodplug libmodplug] was the primary sound engine used in all port releases between 2.80 and 2.90, when it was replaced by [[libxmp]] as the default engine. It is still supported, but must be enabled with a compile-time option.
 
===Supported Formats===
The MegaZeux fork of libmodplug disables or ignores any formats not featured in this list.
*[[MOD]]
*[[S3M]] (faulty)
*[[XM]]
*[[IT]]
*[[669]]
*[[AMF]]
*[[DSM]]
*[[FAR]]
*[[MED]] (limited)
*[[MTM]]
*[[OKT]]
*[[STM]] (faulty)
*[[ULT]]
 
libmodplug supports [[GDM]] through conversion to [[S3M]]. This conversion process is only enabled for MegaZeux builds with libmodplug, and is known to sometimes produce faulty S3Ms.
 


==MikMod==
==MikMod==
[https://sourceforge.net/p/mikmod/mikmod/ci/master/tree/ mikmod] is an alternate sound engine supported by most port versions, and was the default sound engine for the GP2X port. Its support for playing mods is generally worse than ModPlug and libxmp across the board. Supported formats are [[MOD]], [[S3M]], [[XM]] (potentially faulty, disabled), [[IT]], and [[GDM]], as well as [[669]], [[AMF]] (potentially faulty, disabled), [[DSM]], [[FAR]], [[MED]], [[MTM]], [[OKT]], [[STM]], and [[ULT]].
[https://sourceforge.net/p/mikmod/mikmod/ci/master/tree/ mikmod] is an alternate sound engine available in port versions, and was the default sound engine for the GP2X port. Its support for playing mods is generally worse than ModPlug and libxmp across the board.
 
===Supported Formats===
MegaZeux support for MikMod ignores any formats not featured in this list.
*[[MOD]]
*[[S3M]]
*[[XM]] (potentially faulty, disabled)
*[[IT]]
*[[GDM]]
*[[669]]
*[[AMF]] (potentially faulty, disabled)
*[[DSM]]
*[[FAR]]
*[[MED]]
*[[MTM]]
*[[OKT]]
*[[STM]]
*[[ULT]]
 


==libxmp==
==libxmp==
[http://xmp.sourceforge.net/ libxmp] is the current primary sound engine since MegaZeux 2.90b. It features wider format support than any other supported mod engine, though many loaders for extra formats and all of the depackers have been removed from MegaZeux's libxmp fork for consistency with the other engines and to reduce the executable size. Supported formats in the MegaZeux fork are [[MOD]] (including some uncommon variants), [[S3M]], [[XM]], [[IT]] (faulty, fixed by custom patches), and [[GDM]], as well as [[669]], [[AMF]], [[FAR]], [[MED]] (all variants), [[MTM]], [[OKT]], [[STM]], and [[ULT]]. libxmp currently has no support for [[DSM]].
[http://xmp.sourceforge.net/ libxmp] is the current primary sound engine since MegaZeux 2.90b. It features wider format support than any other supported mod engine, though many loaders for extra formats and all of the depackers have been removed from MegaZeux's libxmp fork for consistency with the other engines and to reduce the executable size.
 
===Supported Formats===
*[[MOD]] (including some uncommon variants)
*[[S3M]]
*[[XM]]
*[[IT]] (faulty, but fixed by custom patches)
*[[GDM]]
*[[669]]
*[[AMF]]
*[[FAR]]
*[[MED]] (all variants)
*[[MTM]]
*[[OKT]]
*[[STM]]
*[[ULT]]
 
libxmp currently has no support for [[DSM]].
 


==libopenmpt==
==libopenmpt==
MegaZeux has also optionally supported [https://lib.openmpt.org/libopenmpt/ libopenmpt] since 2.90b, though it has never been enabled by default and has not been forked into the MegaZeux project. It supports a wider number of formats than MegaZeux generally accepts, but these should not be relied on, as most MZX releases will not support them.
MegaZeux has also optionally supported [https://lib.openmpt.org/libopenmpt/ libopenmpt] since 2.90b, though it has never been enabled by default and has not been forked into the MegaZeux project.


{{stub}}
{{stub}}

Revision as of 19:43, 29 June 2019

ModObj

Mark J. Cox's ModObj was the sound engine used in MegaZeux releases prior to 2.50.

Supported Formats


Bells, Whistles, and Sound Boards

Bells, Whistles, and Sound Boards (BWSB) is a DOS-based sound library that was popular throughout the demoscene in the mid-1990s. It was programmed by Zilym Limms and supports a small variety of sound cards such as Sound Blaster and Gravis UltraSound.

BWSB was the sound library used for MegaZeux for all DOS releases from 2.50 onward (replacing ModObj). It was dropped in favor of ModPlug and MikMod (and eventually libxmp) for the SDL port.

Supported Formats

  • MOD (most early variants)
  • GDM (a utility for converting S3Ms to GDMs was provided)
  • SAM (sound effects only)


ModPlug

libmodplug was the primary sound engine used in all port releases between 2.80 and 2.90, when it was replaced by libxmp as the default engine. It is still supported, but must be enabled with a compile-time option.

Supported Formats

The MegaZeux fork of libmodplug disables or ignores any formats not featured in this list.

libmodplug supports GDM through conversion to S3M. This conversion process is only enabled for MegaZeux builds with libmodplug, and is known to sometimes produce faulty S3Ms.


MikMod

mikmod is an alternate sound engine available in port versions, and was the default sound engine for the GP2X port. Its support for playing mods is generally worse than ModPlug and libxmp across the board.

Supported Formats

MegaZeux support for MikMod ignores any formats not featured in this list.


libxmp

libxmp is the current primary sound engine since MegaZeux 2.90b. It features wider format support than any other supported mod engine, though many loaders for extra formats and all of the depackers have been removed from MegaZeux's libxmp fork for consistency with the other engines and to reduce the executable size.

Supported Formats

libxmp currently has no support for DSM.


libopenmpt

MegaZeux has also optionally supported libopenmpt since 2.90b, though it has never been enabled by default and has not been forked into the MegaZeux project.