Commit graph

91 commits

Author SHA1 Message Date
Hubert Maier
f54fd81b4f
JANITORIAL: Fix typos in general files 2024-12-25 16:57:34 +02:00
D G Turner
e6c3b103c9 AUDIO: Fix Empty Format String GCC Compiler Warning 2024-09-21 23:29:06 +01:00
Filippos Karapetis
86a1190200 AUDIO: Remove most goto statements from the Maxtrax decoder 2024-09-19 18:10:05 +03:00
Filippos Karapetis
962e711b8e AUDIO: Adapt maxtrax debug code to our standards
The debug information is now tied to a debug level, similar to
how it's implemented in the rest of our codebase
2024-09-19 17:21:27 +03:00
Hubert Maier
11ecd6982e JANITORIAL: AUDIO: Fix typos 2024-09-13 12:04:57 +03:00
Filippos Karapetis
7347a82df2 COMMON: Remove inttypes.h
It contains defines that should be available from scummsys.h.
Also, it contains defines to support ancient and
now unsupported versions of MSVC (2013 and earlier)
2024-07-04 00:03:15 +03:00
Hubert Maier
7865c78cf7 JANITORIAL: Fix folowing typo in tfmx.h 2024-05-18 13:52:31 +02:00
Hubert Maier
809de5f515 JANITORIAL: Fix aswell typos in tfmx.cpp 2024-05-18 13:52:31 +02:00
Hubert Maier
f4007c0980 JANITORIAL: Fix succeded typo in maxtrax.cpp 2024-05-18 13:52:31 +02:00
Robert Crossfield
1c73db207e AUDIO: Fix integer sign extension issue in RJP1 envelope scaling
Resolve an issue where the value was incorrectly treated as a signed integer during multiplication/division. This was causing fluctuations in volume, with levels varying up and down.

The original code reads the envelopeEnd(1 and 2) value as a byte, extends it to a word then ANDs it with 0x00FF before multiplying/dividing.
2024-03-21 08:58:13 +02:00
polyesterswing
be904229ec AUDIO: Remove redundant probing function
since checking whether a particular format is supported is checked
within the constructor, a separate probing function is not required
2024-02-21 18:45:25 +01:00
polyesterswing
15a9c63565 AUDIO: Add libopenmpt support 2024-02-21 18:45:25 +01:00
polyesterswing
ea03d64b62 AUDIO: Rename impulsetracker to universaltracker 2024-02-21 18:45:25 +01:00
Eugene Sandulenko
359c027b01
AUDIO: Initialize class variables. CID 1519100 2023-09-19 19:48:56 +02:00
Eugene Sandulenko
8b01125399
AUDIO: Fix incorrect null check. CID 1519099 2023-09-19 19:48:56 +02:00
Le Philousophe
40ac45cf1f AUDIO: Add more symbol exception for Windows needed for mingw 2023-05-05 23:30:52 +02:00
Donovan Watteau
f7990d0d15 AUDIO: Fix mikmod.h longjmp usage on Windows arm64 2023-04-10 22:39:44 +02:00
Donovan Watteau
791547f10d AUDIO: Fix mikmod.h build on Windows
setjmp() and unlink() symbols may be triggered on Windows.
2023-04-10 20:14:22 +02:00
Eugene Sandulenko
5f77af4cbe
AUDIO: Added probe method to MOD/XM/S3M player 2023-03-25 01:55:23 +01:00
Eugene Sandulenko
ab1ad5fd8a
AUDIO: Add missing override keyword 2023-03-25 01:55:23 +01:00
Eugene Sandulenko
8881e7cb20
JANITORIAL: Remove trailing spaces 2023-03-25 01:55:23 +01:00
Eugene Sandulenko
af18380ac3
AUDIO: Added probe method to ImpulseTracker 2023-03-25 01:55:23 +01:00
Harishankar Kumar
afa9ccbf62 AUDIO: Add support for Impulse Tracker using libmikmod 2023-03-24 23:59:53 +01:00
Eugene Sandulenko
511a77f643
AUDIO: Avoid including translations.h in header file 2023-03-17 14:37:50 +01:00
Hubert Maier
5c9461f03a
AUDIO: Correct spelling mistake
Carribean -> Caribbean
adress -> address
2022-10-27 15:56:04 +02:00
Hubert Maier
4f4949082e
AUDIO: Correct spelling mistake
wether -> whether

A wether is a male sheep which has had its sex organs removed.
2022-10-27 15:56:03 +02:00
Coen Rampen
89ddcb04ff AUDIO: Make module dtor virtual 2022-06-09 17:33:24 +02:00
Coen Rampen
caca2ea61f AUDIO: Make subclassing Module and ProtrackerStream easier
To implement a MOD variant for the Chewy engine, this commit makes some changes
to make subclassing of the ProtrackerStream and associated Module class easier.
2022-06-09 17:13:56 +02:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Quietust
3f4d59800d AUDIO: Add Paula per-channel DMA interrupts
These will be needed for proper emulation of the Amiga SCUMM V2/V3
sound engines.
2021-12-13 20:53:21 +01:00
Orgad Shaneh
2bd0347968 AUDIO: Use override
Using clang-tidy modernize-use-override
2021-11-14 20:14:11 +02:00
Orgad Shaneh
af529f568b AUDIO: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 13:41:02 +02:00
Orgad Shaneh
7a4e5612de JANITORIAL: Replace new[]/memset with new[]()
Mostly done using the following Ruby script:

(Dir.glob('**/*.cpp') + Dir.glob('**/*.h')).each do |file|
  s = File.read(file, encoding: 'iso8859-1')
  t = s.gsub(/(([\w_.\[\]]+)\s*=\s*new\s+\S+?\[[^\]]+?\](?!\())([^\{\}]*?)\n\s+memset\(\s*\2\s*,\s*0\s*,[^;]*;/m, '\1()\3')
  if t != s
    File.open(file, 'w') { |io| io.write(t) }
  end
end
2021-11-10 19:53:15 +01:00
athrxx
8e0092c5d2 AUDIO: (Amiga) - adapt mutex handling to latest mixer code changes 2021-07-04 18:05:00 +02:00
Eugene Sandulenko
346dd65927
AUDIO: Do not crash on ImpulseTracker modules 2021-05-30 11:40:37 +02:00
Matthew Duggan
0fb60cb3c0 AUDIO: Fix typo (missing comma) 2021-05-19 17:27:29 +09:00
Matthew Duggan
3f451c876e AUDIO: Use initializer list to ensure buffers are valid or null
Identified by coverity - if the module load fails, _mixBufferSamples could be
left as an invalid pointer, which would cause a problem in the destructor.

Moved most things to initailizer list to avoid the problem.

Coverity still identifies a lot of uninitialized members, but they should all
get initialized when playback starts and have less chance of causing real bugs.
2021-05-19 17:18:21 +09:00
Eugene Sandulenko
da75beb668
AUDIO: Added possibility to start MOD playback from a given pattern 2021-05-14 01:01:58 +02:00
Eugene Sandulenko
a332688ae6
AUDIO: Fix Mod sound looping 2021-05-13 15:35:40 +02:00
Eugene Sandulenko
2b29bcd1af
AUDIO: Make ModPlayer rewindable 2021-05-13 02:09:48 +02:00
Gregory Montoir
41eda4fe9b AUDIO: Use template parameter instead of member variable 2021-05-02 02:25:13 +02:00
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