Commit Graph

50 Commits

Author SHA1 Message Date
Matthew Duggan
1a5459b25e AUDIO: Support mod files which loop 2021-02-20 14:48:17 +09:00
Matthew Duggan
498a2fed2e AUDIO: Const correctness for mod loader and stream 2021-02-20 14:48:06 +09:00
Cameron Cawley
d614f3ce2c AUDIO: Disable Paula filtering on the DS
It's too slow with it enabled.
2021-02-04 01:59:14 +01:00
Kari Salminen
7ff9d16bf2 CINE: Loop Amiga music instead of playing it once
Make Amiga music loop until fade out when changing scene. This is
based on watching a video of Future Wars Amiga walkthrough, not on
playing the Amiga version or reading its disassembly. But it does seem
that the music loops instead of just playing once.
2020-09-10 00:34:32 +01:00
Kari Salminen
d206dbcdae AUDIO: Add periodScaleDivisor to Paula and SoundFx
Add support for dividing the playing rate of Paula and SoundFx audio
by integers other than 1. This is going to be used in the Cine engine
for dividing the playing rate of music in the Amiga version of Operation
Stealth by 2 to get it to sound right. Otherwise it sounds too high
pitched.

This is groundwork for fixing bug #11676.
2020-09-05 22:57:03 +02:00
Kari Salminen
9098af1029 AUDIO: Fix Amiga's SoundFx instrument loading.
The instrument names are a maximum of 22 characters in length but
were previously shortened to a maximum of 8 characters. At least in
Amiga versions of Operation Stealth some of the instrument names are
longer than 8 characters and failed to be loaded because of this.
Raising the limit from 8 to 22 characters fixes this.

Addresses bug #11676.
2020-09-05 22:57:03 +02:00
Thierry Crozat
0b0af686f2 AUDIO: Fix error using template function with anonymous struct
Old gcc versions do not like using template function with anonymous
struct and error out.
2020-09-01 05:03:50 +01:00
Vladimir Menshakov
201d2675ad AUDIO: Replace memsets on structures with ctors with ARRAYCLEAR() 2020-08-31 21:57:14 +01:00
Matthew Duggan
a98617a843 AUDIO: Correct small errors in AMF loader
Crusader menu music now plays correctly, woo.
2020-05-03 22:52:45 +09:00
Matthew Duggan
a64462a60f AUDIO: Add support for loading Crusader AMF files 2020-05-02 20:09:23 +02:00
Matthew Duggan
79f151c6aa AUDIO: Import small fix from latest micromod/ibxm
Specifically, 9ff030a (Fix set panning command.)
2020-05-02 17:07:54 +09:00
D G Turner
3959797b85 AUDIO: Fix Remaining Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-28 14:38:43 +00:00
D G Turner
28287d70b6 AUDIO: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-17 08:20:01 +00:00
Sven Hesse
b49c7fa644 AUDIO: Implement low-pass filtering for Paula
Paula low-pass filtering, as implemented by UAE.

The Amiga has two filtering circuits: a static RC filter
(only) on the A500, and an LED filter that can be enabled
or disabled dynamically.

By default, the Paula now doesn't apply the static RC
filter, but allows for enabling the LED filter (with
setAudioFilter()).

NOTE: At the moment, this code still uses floating point
arithmetics! It also calls tan() three times per
instantiation.
2019-06-20 16:00:59 +02:00
athrxx
ccb2dab9d0 AUDIO: (Paula) - fix typo 2019-01-27 14:46:09 +01:00
Paul Gilbert
11e33ba3fc JANITORIAL: Removing trailing spaces after int casts 2018-08-17 20:30:20 -07:00
D G Turner
941fe1dd7e AUDIO: Fix Compiler Shadowing Warnings. 2018-07-30 09:27:31 +01:00
Thierry Crozat
0b6ef93b85 GUI: Use consistent capitalization for options
As discussed on the mailing list we should use title capitalization
only for push buttons and tabs and use sentence capitalization for
everything else.
2018-07-22 21:28:12 +01:00
Joseph-Eugene Winzer
eef9e18340 AUDIO: Fixes Protracker Portamento effect
.period overflowed if .portaToNoteSpeed > .period in the else if case
2018-01-21 23:03:12 +00:00
Thierry Crozat
5d419c2b58 AUDIO: Rename two functions in ModuleModXmS3m
This is an attempt to fix a compilation error on some platforms.
The error message seems to indicate that log2 might be a define
on thos platforms.

Note that the log2 implementation in ModuleModXmS3m is not the binary
logarithm, and we cannot use Common::intLog2.
2017-09-11 21:38:58 +01:00
Simei Yin
6558578f54 AUDIO: Import micromod code, xm/s3m/mod decoder 2017-09-11 08:10:09 +02:00
Torbjörn Andersson
a31fcfff2e AUDIO: Fix some more suspicious-looking expessions
GCC did not warn about these, but surely it should be bitwise OR,
not logical OR, here as well. But I don't think I have any game that
uses MaxTrax (Amiga version of Legend of Kyrandia?), so I can't
really test this.
2017-08-12 07:24:48 +02:00
Eugene Sandulenko
859b54222f AUDIO: Fix incorrect boolean statement in MaxTrax decoder 2017-08-11 21:52:44 +02:00
Torbjörn Andersson
665f5c99b2 JANITORIAL: Silence some more GCC 7 fall through warnings
I think these are the last one that were already flagged as being
deliberate.
2017-08-06 16:54:38 +02:00
Eugene Sandulenko
8e0447e926 AUDIO: Fix memory corruption.
Since it was --voice, we were reading element index -1.
2016-05-31 17:12:18 +02:00
Ori Avtalion
3564032330 JANITORIAL: Reduce audio header dependencies 2016-04-14 16:10:21 +03:00
Alexandre Detiste
6c298e964f JANITORIAL: Typos detected with lintian & grep 2016-02-15 18:27:02 +01:00
Kirben
f58be61a3d AUDIO: Add patch from madmoose to fix arpeggio effect in ProTracker modules. 2015-05-22 10:30:38 +10:00
Johannes Schickel
452cec49d9 AUDIO: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Sven Hesse
2c5a0008ba AUDIO: Do not error out when channel offset >= length after interrupt()
This fixes a Protracker module in the OS/2 version of
Hopkins FBI (bug #3612101). In row 0x30 of the first
pattern, the set channel offset effect in the fourth track
pushes the offset past the sample (repeat) length.
This is not error; the mixing function already handles this
case flawlessly. No assert() is necessary there.
2013-04-28 17:31:53 +02:00
Dreammaster
bb3285d933 Merge branch 'master' into hopkins 2013-02-15 08:25:09 -05:00
Torbjörn Andersson
a50c05f7d0 HOPKINS: Work around broken cadavre.mod in OS/2 and BeOS versions
A large part of cadavre.mod is broken. No new notes play, and only
the old background sounds remain. It's possible, perhaps even
probable, that the original MOD player didn't have this problem,
but all standalone players I've tried do, so I'm assuming it's the
file that's broken. We work around it by changing the length of
the song after it's been loaded to only include the good parts.
2013-01-27 18:18:04 +01:00
Johannes Schickel
354aa0f5f3 JANITORIAL: Use "End of anonymous namespace" as comment for anonymous namespaces. 2013-01-26 19:38:02 +01:00
Johannes Schickel
b4d0a8ba66 JANITORIAL: Enforce "} // End of namespace" with a single space after }. 2013-01-26 19:38:02 +01:00
Torbjörn Andersson
8bbb9a2bbd AUDIO: Mention that the Hopkins engine uses Protracker as well 2013-01-26 15:47:38 +01:00
Einar Johan Trøan Sømåen
5d4d65d6d9 JANITORIAL: Fix ){ -> ) { 2013-01-24 20:15:13 +01:00
Matthew Hoops
5230a0d617 AUDIO: Make sure maxtrax and tfmx are compiled in with dynamic modules 2012-06-15 22:48:26 -04:00
Sven Hesse
230a0edc2d AUDIO: gob uses protracker too 2012-06-16 04:29:57 +02:00
Sven Hesse
90999d8f8c AUDIO: Implement a missing Protracker feature
When a row has a new period, but no new sample, restart the track's
last sample (except when we're doing portamento).
2012-06-15 03:06:14 +02:00
Johannes Schickel
223794fb38 ALL: Make use of defined() for the preprocessor consistent.
This does not change the use of defined for some NDS source files, since they
seem to be (based on?) third party code.
2012-03-17 22:02:44 +01:00
Johannes Schickel
163d57ba93 AUDIO: Return 0 instead of false in Tfmx::loadSampleFile.
This should "fix" a g++ warning.
2012-01-29 16:32:44 +01:00
Johannes Schickel
38aa82a4f5 AUDIO: Fix conditional compilation of maxtrax and tfmx code.
This is a regression from 3ddb6c0c90.
2011-10-28 12:32:14 +02:00
Johannes Schickel
3ddb6c0c90 AUDIO: Adapt include guard names to the "new" directory name. 2011-10-28 12:27:50 +02:00
Christoph Mallon
d1688d22d4 AUDIO: Simplify iterating backwards over an array. 2011-08-07 15:19:08 +02:00
Christoph Mallon
ab80b20a30 COMMON: Replace x + ARRAYSIZE(x) by the simpler ARRAYEND(x). 2011-08-07 15:19:08 +02:00
Matthew Hoops
9539017ee3 ALL: initialise -> initialize 2011-05-25 11:17:11 -04:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Max Horn
0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
2011-04-12 16:53:15 +02:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00