AndywinXp
8d6737e16f
SCUMM: DIMUSE: Increase buffer size for low latency mode
2023-01-10 21:17:23 +01:00
AndywinXp
8d0e97af70
SCUMM: DIMUSE: Implement low latency mode
...
This fixes bug #13462
2023-01-10 21:17:23 +01:00
AndywinXp
5b18d1aa6b
SCUMM: DIMUSE: Implement support for higher internal sample rates
...
This lays the ground for:
* Supporting fan dubbings and self-made high quality music replacement;
* Reintroduction of support for compressed audio.
2023-01-02 23:30:57 +01:00
AndywinXp
92efa503fb
SCUMM: DIMUSE: Fix theoretical possibility of division by zero
2023-01-02 23:05:50 +01:00
AndywinXp
c3256a614a
SCUMM: DIMUSE: Make engine sample rate and feed size parametric
2023-01-02 22:55:26 +01:00
AndywinXp
b4c52cac22
SCUMM: DIMUSE: Implement adaptive buffer underrun correction
...
Thanks to lephilousophe for the help on this one :-)
2023-01-02 17:50:00 +01:00
AndywinXp
3c81f19840
SCUMM: DiMUSE: Prevent negative buffer count in roundRobinSetBufferCount()
2022-12-04 23:01:06 +01:00
AndywinXp
7077d8d124
SCUMM: Fix AmigaOS and NDS builds
2022-10-04 13:50:49 +02:00
AndywinXp
a7a4d9f120
SCUMM: DiMUSE: Implement antiskip system for devices with slow load times
...
This code is present in all the original interpreters using Digital iMUSE, and it was implemented
in order to allow slower CD drives to fetch new data without having music skipping during load times.
This works by basically flooding the music buffer with data whenever a big resource, a voice file, or
a SMUSH movie is loaded.
Arguably this is not needed for devices using SSD drives, but since this change had its benefits on a
quite old laptop of mine, and since the memory overhead is very minimal, I have decided to implement it.
2022-10-04 11:34:14 +02:00
Andrea Boscarino
6ad5ed0b92
SCUMM: DiMUSE: Solve very rare deadlocks caused by two different mutex objects
2022-10-04 11:33:26 +02:00
AndywinXp
57a4f165d5
SCUMM: DIMUSE: Add defines for magic numbers and command IDs
2022-10-01 17:47:17 +02:00
AndywinXp
457bcb67db
SCUMM: GUI: Implement the majority of the v7 Main Menu
2022-09-08 19:10:42 +02:00
Donovan Watteau
4ec06a2bf6
SCUMM: Unify WORKAROUND usage and complete/tweak some of them
2022-08-07 17:24:27 +02:00
AndywinXp
61535ee8c9
SCUMM: DiMUSE: Increment upper and lower limit for roundRobinSetBufferCount()
2022-08-06 13:33:56 +02:00
AndywinXp
51d0b8ef06
SCUMM: COMI: Implement iMUSE buffer toggle GUI banner
2022-08-06 13:33:56 +02:00
AndywinXp
1e9d51c28a
SCUMM: COMI: Implement the original main menu
...
Every functionality has been implemented (audio options, text options, saving and loading).
The only thing currently missing from the menu is the thumbnail handling.
2022-08-06 13:33:56 +02:00
Andrea Boscarino
71816ec701
SCUMM: DiMUSE: Fix startup volume setup for SMUSH
2022-04-16 23:25:31 +02:00
Andrea Boscarino
024aa1f22b
SCUMM: SMUSH: Implement audio sub-engine
2022-04-16 23:25:31 +02:00
Andrea Boscarino
2bc8dcc813
SCUMM: DiMUSE: Remove unused code
2022-04-06 21:31:05 +02:00
Andrea Boscarino
fbc989d60f
SCUMM: DIG/DiMUSE: Implement mouth sync times retrieval and handling
2022-04-06 21:31:05 +02:00
athrxx
d94618f3d5
SCUMM: (DIMUSE) - fix loading of old savegames
2022-03-28 18:29:15 +02:00
Andrea Boscarino
c03787f8bb
SCUMM: DiMUSE: Fix possible buffer underruns
...
Big thanks to athrxx for reporting this issue; the previous calculation for obtaining an optimal number for _maxQueuedStreams did not account for the differences between the sample rate targeted by the audio backend and the one targeted by DiMUSE (which is 22050Hz).
This new formula has been tested for optimal latency and absence of underruns for all supported games and all known combinations of sample rates and output buffer sizes:
[22050, 44100, 48000, 96000], [1024, 2048, 4096, 8192].
2022-03-06 21:58:40 +01:00
Andrea Boscarino
a083cf5abc
SCUMM: DiMUSE: Create separate InternalMixer flow for FT engine
2022-03-06 11:11:11 +01:00
Andrea Boscarino
6eaeee5e2d
SCUMM: DiMUSE: Remove obsolete TODO comment
2022-01-06 22:57:10 +01:00
Andrea Boscarino
c20a92b3ac
SCUMM: Remove DiMUSE specific code from main engine
2021-12-29 14:26:53 +01:00
Andrea Boscarino
c3aa652998
SCUMM: DiMUSE: Add debugger/audio player
2021-12-29 14:26:53 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+
2021-12-26 18:48:43 +01:00
Andrea Boscarino
1afde28a3d
SCUMM: DiMUSE: Fix outdated comment
2021-12-22 12:27:23 +01:00
Andrea Boscarino
c9e5ff7e9e
SCUMM: DiMUSE: Fix bug #13080
2021-12-09 22:03:40 +01:00
Le Philousophe
6b21b09109
SCUMM: DiMUSE: Fix build for AmigaOS4 and NDS
2021-11-23 19:58:12 +01:00
Andrea Boscarino
d1833afe12
SCUMM: DiMUSE: Clarify comment
2021-11-22 18:08:21 +01:00
Andrea Boscarino
a1710c4533
SCUMM: DiMUSE: Properly implement audio handling when skipping SMUSH videos
2021-11-22 18:08:21 +01:00
Andrea Boscarino
1b4547dbd5
SCUMM: DiMUSE: Fix bug #13084
2021-11-22 18:08:21 +01:00
Andrea Boscarino
f731cfd648
SCUMM: DiMUSE: New Digital iMUSE Engine ( #3368 )
...
SCUMM: DiMUSE: Add new implementation of the engine
2021-11-16 00:05:18 +01:00