Add a pragma to disable the empty translation unit in Solaris. Some
source files will be ifdef'ed out and will be empty in certain
platforms.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
Change foreground process flags defaults in such a way that frame
information is shown in systems without termios such as Windows.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
Executable file was being generated as src/xmp under mingw32, change it
to use .exe as suffix as detected by the configuration script.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
Use the new XMP_PLAYER_CFLAGS parameter from libxmp 4.1 to override
built-in quirks using modules.conf.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
If loop over the entire list is enabled and random playing mode is used,
use a different order in each loop.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
Use --loop-all to enable looping over the entire module list. Command
'l' changed to cycle through regular loop and list loop. List loop is
enabled only if at least one module was played.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
Subsong explorer mode can be toggled using the 'z' command. A flag
will appear in the status line showing that explorer mode is enabled.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
Address Solaris Studio compiler warning (reported by Douglas Carmichael).
CC src/sound_pulseaudio.o
"src/sound_pulseaudio.c", line 53: warning: pointer to void or function
used in arithmetic
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
Don't set flags for the current module based on flags for the previous
module (which may include module quirks).
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
Libxmp 4.0.3 includes built-in module quirks for well-known cases. Allow
modules.conf to override these default settings.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
When xmp is _running_ in the background, and then is brought to the
foreground, the program will not necessarily be notified of this state
change from external sources, as shells generally do not seem to send
gratitious SIGCONTs.
Therefore, to get keyboard input and status updates working again once
xmp is in the foreground, xmp actively needs to monitor the pgrps
itself, which this patch implements. (rsync does it the same way.)
The "foreground" variable had a double meaning (namely, whether stdin
is a tty). The state of stdin however is irrelevant for output, so we
also need to see if output is a tty. Since the status update goes to
stderr, we have to test STDERR_FILENO.
XMP misdetects who is in foreground. The parent may be an arbitrary
process within the process group and thus does not make sense to
compare to. To demonstrate the issue:
$ perl -e 'system "perl -e \"system \\\"xmp Dreamer.it\\\"\""'
XMP will not print the time status, even though there is no background
involved here. The process structure is:
$ ps f -o pid,pgrp,pgid,tpgid,command
PID PGRP TPGID COMMAND
16095 16095 19847 bash
19847 19847 19847 \_ perl -e system "perl -e \"system \\\"xmp Dreamer.it\\\"\""
19848 19847 19847 \_ perl -e system "xmp Dreamer.it"
19849 19847 19847 \_ xmp Dreamer.it
OSS does not offer software volume control, which means people always
get the maximum volume with it on sufficiently dumb hardware. Prefer
the ALSA output, which has appropriate defaults configured.
Misty De Meo warns that there's no uint8 in OSX 10.6 and earlier. Using
plain unsigned char instead.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
As pointed out by Jan Engelhardt, many files are missing a license notice.
Add the standard license notice to these files.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
Add the --norc option to bypass configuration files. When parsing lines
in the configuration file, disable paramter matching if we're not in the
section that match the current file's MD5 sum.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
Add this option from xmp 3.5.0 to handle bugs in Protracker 2.x set sample
offset command.
From: Martin Willers <y0000121@rzbcosv1.rz.tu-bs.de>
Subject: Incorrect Protrack-effect 0x09
To: xmp-bugs@helllabs.org
Date: Mon, 21 Dec 1998 05:28:48 +0100 (MET)
Reply-to: M.Willers@tu-bs.de
I've downloaded and installed the xmp-snapshot from Sun, Dec 20 today.
Don't know just how good the protrack-emulation is planned to get, but
there's a bug in the interpretation of Protracker's handling of effect 0x09
(SetSampleOffset), that causes some MODs to play incorrectly.
Original Protracker-source has some bug in handling effect 09, in that
the sample offset given in the effect byte is added +twice+ to the current
sample offset, once before playing this instrument (as is expected), and
once again after this instrument has been played! So, if on the same channel
the same instrument is played again without resetting the instrument's
parameters (eg. when just a note period is specified, but not the instrument
number again? or the other way round? :), the offset is twice as high
as one would expect.
This can be heard very easy eg. in the (very popular) song "No Mercy" by
Alf/VTL, Position #2-#3 in the sequence.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>