Skip to content

Commit

Permalink
Applied William Yates' changes.
Browse files Browse the repository at this point in the history
  • Loading branch information
William Yates authored and dynamite1981 committed Nov 24, 2012
1 parent 9b1776b commit b59e822
Show file tree
Hide file tree
Showing 16 changed files with 411 additions and 154 deletions.
5 changes: 3 additions & 2 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
Copyright (c) 1999-2004 Simon Peter <[email protected]>
Copyright (c) 2002 Nikita V. Kalaganov <[email protected]>
Copyright � 1999-2007 Simon Peter <[email protected]>
Copyright � 2002 Nikita V. Kalaganov <[email protected]>
Copyright � 2010 Wraithverge <[email protected]>
32 changes: 32 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,38 @@
* ChangeLog, Makefile.am, README, src/Makefile.am: Updated
Makefiles to include binarydist target and updated README.

2010-04-23 17:50 Wraithverge

* src/config.cpp: Revised some message-box strings to make them
understandable. README: Added some cautionary info regarding
RAW-files, and one other minor edition.

2010-04-05 00:00 Wraithverge

* NEWS, src/config.cpp, src/config.h, src/dlg_config.cpp,
src/in_adplug.rc, src/plugin.h, src/resource.h, src/player.cpp:
Added items for "Dueling Synths" and modified items for the
"Harmonic Effect". README: Heavily edited and appended to make it
more readable (I mean no offense to its original author).
COPYING: Added the MAME license segment to its heading. AUTHORS:
Added my name to the list, as I am now a contributing author.

2010-03-21 14:31 Wraithverge

* src/config.cpp, src/config.h, src/dlg_config.cpp,
src/in_adplug.rc, src/plugin.h, src/resource.h, src/player.cpp:
Added items for the "Harmonic Effect", to allow for beta-testing.

2010-03-11 19:08 Wraithverge

* NEWS, README, src/dlg_about.cpp, src/dlg_config.cpp,
src/dlg_info.cpp, src/gui_tip.cpp, src/in_adplug.rc,
src/plugin.cpp, and src/resource.h: Modified a bunch of resource-
related stuff, and added a "Version" resource for the DLL-file.
src/plugin.h: Added plugin version to the "About" Panel, which can
be set within "makefile.am" via the definition -DPLUGIN\"1.8.1\",
for example.

2006-05-13 22:19 dynamite

* contrib/: README, MSVC6/in_adlib.dsp, MSVC6/readme.txt,
Expand Down
66 changes: 32 additions & 34 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
Installation Instructions
*************************

Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
Software Foundation, Inc.
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006 Free Software Foundation, Inc.

This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.

Basic Installation
==================

These are generic installation instructions.
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.

The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
Expand All @@ -23,9 +26,9 @@ debugging `configure').

It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. (Caching is
the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.)
cache files.

If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
Expand All @@ -35,20 +38,17 @@ some point `config.cache' contains results you don't want to keep, you
may remove or edit it.

The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You only need
`configure.ac' if you want to change it or regenerate `configure' using
a newer version of `autoconf'.
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.

The simplest way to compile this package is:

1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
`./configure' to configure the package for your system.

Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for.

2. Type `make' to compile the package.

Expand Down Expand Up @@ -78,7 +78,7 @@ details on some of the pertinent environment variables.
by setting variables in the command line or in the environment. Here
is an example:

./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
./configure CC=c99 CFLAGS=-g LIBS=-lposix

*Note Defining Variables::, for more details.

Expand All @@ -87,31 +87,29 @@ Compiling For Multiple Architectures

You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.

If you have to use a `make' that does not support the `VPATH'
variable, you have to compile the package for one architecture at a
time in the source code directory. After you have installed the
package for one architecture, use `make distclean' before reconfiguring
for another architecture.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.

Installation Names
==================

By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PREFIX'.
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX'.

You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PREFIX', the package will
use PREFIX as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.

In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
Expand Down Expand Up @@ -159,7 +157,7 @@ where SYSTEM can have one of these forms:
need to know the machine type.

If you are _building_ compiler tools for cross-compiling, you should
use the `--target=TYPE' option to select the type of system they will
use the option `--target=TYPE' to select the type of system they will
produce code for.

If you want to _use_ a cross compiler, that generates code for a
Expand Down Expand Up @@ -190,12 +188,12 @@ them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc

causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script). Here is a another example:
overridden in the site shell script).

/bin/bash ./configure CONFIG_SHELL=/bin/bash
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf bug. Until the bug is fixed you can use this workaround:

Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
configuration-related scripts to be executed by `/bin/bash'.
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash

`configure' Invocation
======================
Expand Down
73 changes: 73 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,76 @@
Changes for version 1.9 (2012-07-14)
- OPL Port entrybox allows entering hex-digits.

Changes for in_adlib version 1.8.2 (2010-04-23) (Wraithverge)
- Added support for Adam Nielsen's Synth Wrapper, which can be configured
via "winamp.ini" and/or the GUI. A big thanks goes out to Adam for his
help in us getting it to work properly in the plugin! As a result of
our efforts, two new options have been added:
- Harmonic Effect: This option fully utilizes a process that pitch-
shifts OPL2 data very slightly on one channel in order to produce a
psuedo-stereo Phaser-like effect from a mono source. Two copies of
Mr. Satoh's emulator are generated for it to accomplish this goal.
Note that a prerequisite for this option to work is that "Emulator 1"
must be selected as the chosen emulator.
- Dueling Synths: This option utilizes the OPL2 Synth Wrapper's ability
to host two separate streams of OPL2 data simultaneously and output
the combination as 16-Bits Stereo PCM data. One copy each of Mr.
Satoh's and Mr. Silverman's emulators are generated for it to
accomplish this goal, with them being heard respectively on the left
and right channels. Note that a prerequisite for this option to work
is that "Emulator 2" must be selected as the chosen emulator.

* Changes for the AdPlug core library 2.2.1:
------------------------------------------
- Bug fixes:
- CMF: Fixed crash on v1.0 files.
Fixed a memory leak.
Clear OPL3 mode on playback to avoid a previous song affecting
the instruments.
- DRO: Updated DROv1 player to handle early files with a slightly
different header. Fixes random bytes sent at the end of early
DROv1 files.

Changes for in_adlib version 1.8.1 (2010-03-14) (Wraithverge)
- Some new file-types are now selectable on the "Formats" tab of the
plugin's configuration panel.
- The "About" panel now also shows the in_adlib version number.
- A "VERSIONINFO" section has been added onto the resources, which can be
viewed on its properties tab within the file manager.
- Many other resource items/elements have been modified or added upon.
- Added a "VERSIONINFO" resource for "adplugdb.exe", that can be viewed on
its properties tab within the file manager.

* Changes for the AdPlug core library v2.2:
-----------------------------------------
- New format support:
- JBM: JBM Adlib Music Format
- CMF: New player (more accurate) for Creative Music Format
- DRO: DOSBox Raw OPL v2.0 support
- Fixed current subsong rewind in D00 player.
- Added test case for ADL file format.
- Fixed replay bug in DRO player (thanks to Adam Nielsen).
- New surround/harmonic synth effect (sounds really nice!)

* Changes for the AdPlug core library v2.1:
-----------------------------------------
- New format support:
- ADL: Westwood ADL File Format
- Added OPL3 support:
- A2M: AdLib Tracker 2 versions 5-8
- All players are endian-clean now.
- Lots of security fixes (thanks to Luigi Auriemma).
- Fixed volume handling in AMD player.
- Fixed a buffer overflow in ROL player (thanks to HIGUCHI Daisuke).
- Fixed vibrato & volume slides in D00 player (thanks to Dennis
Lindroos).
- Removed superfluous exit() call in RIX player (thanks to Martin
Michlmayr).
- Enhanced generic Protracker player features:
- Supports up to 32 channels
- OPL3 output support
- New behavior flags and commands

Changes for version 1.8 (2007-04-09)
- Fixed default for ignored filetypes.
- New default playback is in stereo.
Expand Down
8 changes: 4 additions & 4 deletions src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ in_adlib_la_SOURCES = callback.cpp config.cpp config.h debug.h \
plugin.cpp plugin.h in_adlib.rc resource.h adplug.bmp hand.cur

in_adlib_la_LDFLAGS = -module -avoid-version -no-undefined -lwinmm -lgdi32 \
-lcomdlg32
-lcomdlg32 -mwindows

in_adlib_la_LIBADD = in_adlib.lo $(adplug_LIBS)

AM_CPPFLAGS = $(adplug_CFLAGS)
AM_CPPFLAGS = $(adplug_CFLAGS) -DPLUGIN=\"1.8.2\" -DHAVE_ADPLUG_SURROUND

LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) $(DEFS) $(DEFAULT_INCLUDES) \
$(INCLUDES)
LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) -D HAVE_ADPLUG_SURROUND \
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)

.rc.lo:
$(LTRCCOMPILE) -i $^ -o $@
46 changes: 35 additions & 11 deletions src/config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,21 @@

#include "plugin.h"

#define MSGA_WINAMP "You must restart Winamp after switching from own to standard output."
#define MSGC_DISK "You selected GODSPEED ENDLESS Disk Writing mode."
#define MSGC_DATABASE "Database could not be loaded!"
#define MSGE_OPL2 "OPL2 chip on given port was not detected." "\n\n" \
"Emulated output forced."
#define MSGE_WINNT "You can't use OPL2 output under plain Windows NT/2000/XP." "\n\n" \
"However, there are some ways around it. Please refer to the readme file for\n" \
"information on companion software that enables hardware replay with AdPlug.\n\n" \
"Emulated output forced."
#define MSGE_XMPLAY "You can't use own output under XMPlay." "\n\n" \
"Emulated output forced."
#define MSGA_WINAMP "You must now restart Winamp after switching from hardware OPL2 or Disk Writer to Emulator output mode."
#define MSGC_DISK "You have selected *full speed* and *endless* Disk Writing modes. This combination of options is not recommended."
#define MSGC_DATABASE "An external Database could not be loaded!"
#define MSGE_OPL2 "An OPL2 chip is not being detected at the given Port address. An emulator must be used for output, instead."
#define MSGE_WINNT "Hardware OPL2 output is not allowed natively under Windows NT/2000/XP. However, there is a way to work-around the issue. Please refer to the documentation for a solution that has been tested to work with AdPlug. For now, an emulator must be used for output, instead."
#define MSGE_XMPLAY "Hardware OPL2 output is not supported when this plugin is used within XMPlay. An emulator must be used for output, instead."

#define DFL_EMU emuts
#define DFL_REPLAYFREQ 44100

#ifdef HAVE_ADPLUG_SURROUND
#define DFL_HARMONIC true
#define DFL_DUELSYNTH true
#endif

#define DFL_USE16BIT true
#define DFL_STEREO true
#define DFL_USEOUTPUT DFL_EMU
Expand Down Expand Up @@ -75,6 +76,16 @@ void Config::load()
if (bufval != -1)
next.replayfreq = bufval;

#ifdef HAVE_ADPLUG_SURROUND
bufval = GetPrivateProfileInt("in_adlib","harmonic",DFL_HARMONIC,fname.c_str());
if (bufval != -1)
next.harmonic = bufval ? true : false;

bufval = GetPrivateProfileInt("in_adlib","duelsynth",DFL_DUELSYNTH,fname.c_str());
if (bufval != -1)
next.duelsynth = bufval ? true : false;
#endif

bufval = GetPrivateProfileInt("in_adlib","use16bit",DFL_USE16BIT,fname.c_str());
if (bufval != -1)
next.use16bit = bufval ? true : false;
Expand Down Expand Up @@ -144,6 +155,13 @@ void Config::save()
char bufstr[11];

WritePrivateProfileString("in_adlib","replayfreq",_itoa(next.replayfreq,bufstr,10),fname.c_str());

#ifdef HAVE_ADPLUG_SURROUND
WritePrivateProfileString("in_adlib","harmonic",_itoa(next.harmonic,bufstr,10),fname.c_str());

WritePrivateProfileString("in_adlib","duelsynth",_itoa(next.duelsynth,bufstr,10),fname.c_str());
#endif

WritePrivateProfileString("in_adlib","use16bit",_itoa(next.use16bit,bufstr,10),fname.c_str());
WritePrivateProfileString("in_adlib","stereo",_itoa(next.stereo,bufstr,10),fname.c_str());
WritePrivateProfileString("in_adlib","useoutput",_itoa(next.useoutput,bufstr,10),fname.c_str());
Expand Down Expand Up @@ -214,6 +232,12 @@ void Config::apply(bool testout)
check();

work.replayfreq = next.replayfreq;

#ifdef HAVE_ADPLUG_SURROUND
work.harmonic = next.harmonic;
work.duelsynth = next.duelsynth;
#endif

work.use16bit = next.use16bit;
work.stereo = next.stereo;
work.adlibport = next.adlibport;
Expand Down
6 changes: 6 additions & 0 deletions src/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@ enum t_output {

struct t_config_data {
int replayfreq;

#ifdef HAVE_ADPLUG_SURROUND
bool harmonic;
bool duelsynth;
#endif

bool use16bit;
bool stereo;
enum t_output useoutput;
Expand Down
1 change: 1 addition & 0 deletions src/dlg_about.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ BOOL APIENTRY GuiDlgAbout::TabDlgProc(HWND hwndDlg, UINT message, WPARAM wParam,

hyperlink.add(GetDlgItem(hwndDlg,IDC_URL_SP),"[email protected]", "mailto:[email protected]");
hyperlink.add(GetDlgItem(hwndDlg,IDC_URL_NK),"[email protected]", "mailto:[email protected]");
hyperlink.add(GetDlgItem(hwndDlg,IDC_URL_WV),"[email protected]", "mailto:[email protected]");

/* sites */

Expand Down
Loading

0 comments on commit b59e822

Please sign in to comment.