Hardware-independent AdLib sound player library
Clone or download
dwatteau and binarymaster Remove UTF-8 BOM, for compatibility with older compilers
Some operating systems still use older compilers such as GCC 4.2.1,
which choke on UTF-8 BOMs.
Latest commit 8789f34 May 30, 2018
Permalink
Failed to load latest commit information.
adplugdb Make build system completely non-recursive Nov 22, 2017
contrib HERAD: Preliminary implementation (#39) Nov 18, 2017
doc Make build system completely non-recursive Nov 22, 2017
m4 Modernize Autotools Nov 17, 2017
src Remove UTF-8 BOM, for compatibility with older compilers Jul 7, 2018
test SOP: Add support for version 2 (fix #60) Nov 26, 2017
.gitignore Make build system completely non-recursive Nov 22, 2017
.travis.yml Modernize Autotools Nov 17, 2017
AUTHORS Update AUTHORS Nov 18, 2017
BUGS Add GitHub issue tracker URL to BUGS Nov 19, 2017
COPYING Update FSF address Oct 5, 2015
ChangeLog Replace ChangeLog with a link to the GitHub commit history Nov 18, 2017
Makefile.am `$<` is not guaranteed to work in ordinary make rules Apr 21, 2018
NEWS
README Update copyright year in docs Nov 18, 2017
RELEASE Replace ChangeLog with a link to the GitHub commit history Nov 18, 2017
TODO HERAD: Preliminary implementation (#39) Nov 18, 2017
adplug.pc.in Replace SF links with GH Jun 21, 2015
adplug.qpg HERAD: Preliminary implementation (#39) Nov 18, 2017
adplug.spec
appveyor.yml Prepare 2.3.1 release Apr 22, 2018
configure.ac Prepare 2.3.1 release Apr 22, 2018

README

AdPlug - A free AdLib sound player library
Copyright (C) 1999 - 2017 Simon Peter, et al.

Website: http://adplug.github.io/

Description:
------------
AdPlug is a free, multi-platform, hardware independent AdLib sound
player library, mainly written in C++. AdPlug plays sound data,
originally created for the AdLib (OPL2/3) audio board, on top of an
OPL2/3 emulator or by using the real hardware. No OPL2/3 chips are
required for playback.

Supported platforms:
--------------------
AdPlug currently is tested to compile and run well on the following
platforms and compilers:

Platform                Operating System        Compiler
--------                ----------------        --------
IA32 - x86              Windows XP              MinGW 3.4
                        MS-DOS 6.22             DJGPP 4.0
                        Linux 2.6               GCC 4.1
x86_64                  Linux 2.6               GCC 4.4.2

This list only incorporates platforms on which this release of AdPlug has
been tested successfully. This and/or earlier versions of AdPlug may and did
run on a variety of other platforms as well. It just means they haven't been
explicitly tested for this release.

The library builds as dynamic and/or static link library, depending on
the facilities provided by the host OS. These are autodetected.

Prerequisites:
--------------
AdPlug depends upon the following libraries:

Library:	Version:
--------	--------
libbinio	>= 1.4

libbinio can be obtained from http://adplug.github.io/libbinio/.

Installation:
-------------
Please refer to the INSTALL file for installation instructions.

Linux/OSX git:
--------------
If you checked out from git, please first run:

autoreconf --install

to generate the build cruft and get the configure script. Oh, and did i
mention you need recent versions of autoconf, automake and libtool?

Windows git:
------------
If you checked out from git, you will need to copy src\version.h.in to
src\version.h and replace @VERSION@ with a proper version number.

A Visual Studio 2015 solution you can open and build is located in
contrib\vs2015\vs2015.sln.

Debugging AdPlug:
-----------------
If you feel you have to debug AdPlug, you can compile it with debug logging
support. This is disabled by default. To enable it, you have to define the
DEBUG preprocessor macro. This is done by passing the '--enable-debug'
commandline option to the 'configure' script to enable debugging.

AdPlug logs to stderr by default. The output can be redirected anytime to a
user specified logfile. This is done by using the 'CAdPlug::debug_output'
method of the 'CAdPlug' class.

If you have changed a format and the tests now fail (run "make check"), once
you have confirmed the output is correct, there will be a *.test file in the
test/ folder.  Rename this from .test to .ref to have it used as the new
reference data.

The emulator license issue:
---------------------------
AdPlug now uses WoodyOPL, the LGPL-licenced OPL emulator from the DOSBox
team.

Previously, AdPlug used MAME's fmopl OPL2 emulator. While this distribution
includes an old LGPL'd version of the emulator, which was developed by
Tatsuyuki Satoh alone, who relicensed this version under the LGPL, there is
a patch available in the `mame` branch of the GitHub repository
that replaces the old version by the latest version from the MAME source
distribution. The new version features improved emulation quality, but is
licensed under the MAME license, which restricts commercial redistribution.

The same goes for the OPL3 emulator, which requires the new version of
the OPL2 emulator to build.

Later versions of MAME are released under the GPL, so this patch could be
updated to use that instead, however this is probably not necessary given
the high quality of the WoodyOPL emulator.

	- Simon Peter <dn.tlp@gmx.net>