52 Commits

Author SHA1 Message Date
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +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
Torbjörn Andersson
f7b96c57f7 MT32: Don't show LCD messages on-screen if they contain only spaces
E.g. the first message in Operation Stealth. It just looks like
something went wrong.
2021-06-12 13:14:51 +02:00
Cameron Cawley
6bb9c74cc3 MT32: Remove setting the palette when the driver is initialized 2021-01-05 02:07:55 +02:00
aryanrawlani28
68d01321d6 GUI: U32: Downscale changes of U32, fix review issues
This commit addresses a range of changes, within scummvm subproject.

- Audio files, like mididrv, remove U32String based name and identifier, because ASCII only.
- mididrv.cpp had some wrong format for warning messages, fix those
- Message dialogs were modified to use default arguments more often, but reverting back to the orignal to minimize changes.
- SetTooltip has a fake constructor that takes in a string, and use it.
- U32Format had some break statements missing, add those.
- RemapWidget: Use fake constructor for setLabel and setTooltip, to make minimal changes
- SDL: setting text in clipboard no longer uses SDL_iconv_string
- TTS: Override base class "say" with strings, so tts->say can be used with normal strings too.
- About dialog: fix incorrect code for u32string variables
- Fix some extra brackets
- Some buttons were incorrectly removed from using translated labels, revert those
- Message Dialog: Pass default and alt buttons as const references
- Saveload Dialog: Use translations in missing places, use const-references. Also, use translations in a correct manner.
- Use const references for tooltip in GraphicsWidget, EditTextWidget, error.cpp
- DomainEditTextWidget: Use U32String for text
2020-08-30 14:43:41 +02:00
aryanrawlani28
4b6976c558 GUI: U32: Reduce number of files changed and fixes
Up until last commit, everything was working fine but the amount of files changed was too large. This commit tries to reduce the changes.

- Add a fake constructor to Keymap, text-to-speech, setDescription (save-state)
- Redirecting functions for PopUpWidget::appendEntry, ButtonWidget::setLabel, GUIErrorMessage
- Use the above functions and constructors to reduce changes in Engines
- Fix warnings being in unicode. Only output english text in - Warnings, Errors, etc.
- Mark some strings as "translation" strings. (Not yet added to POTFILES)
- Remove some CP related things from po/modules.mk
- Previously used some Common::convertToU32 where it was not necessary, replace this with u32constructor
2020-08-30 14:43:41 +02:00
aryanrawlani28
185fb72783 GUI: U32: Improve U32 code
- Revert accidentally put translations in mt32.cpp
- Use U32::format in some places earlier missed
- Add %u and %i for u32::format
- Add support for GUIErrorMsgFormat to use u32::format internally
- Use the above whereever needed
- Improve linux tts by removing redundant code
- Some places I had changed nullptr -> "". Revert this
2020-08-30 14:43:41 +02:00
aryanrawlani28
f800ca4ada GUI: U32: Convert majority of code to use U32
This commit also includes some additional major changes.

- Return U32String from TransMan getTranslation()
- Change tooltips to be U32Strings
- Remove temporary code of convertToU32String
- U32 Support various dialogs (Browser, FileBrowser, Messages, Chooser, etc)
- U32 for music plugins
- U32 for OSD messages
- Add some helper functions to ustr.cpp
- Change default tooltips from nullptr & 0 -> ""
- Some runtime exceptions may occur when changing languages due to incorrect String::Format
2020-08-30 14:43:41 +02:00
Eugene Sandulenko
4da444f238 AUDIO: Added override keywords 2020-03-09 16:08:19 +01:00
Zvika Haramaty
3b4810aab4 AUDIO: Added dump-midi mechanism
This mechanism is enabled by '--dump-midi' command line parameter.
The midi events are printed to screen, and dumped to 'dump.mid' file.
2020-02-28 08:27:12 +02: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
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
Colin Snover
b93f4f06e4 MT32: Really add the virtual destructor 2016-12-18 10:25:58 -06:00
Colin Snover
d585c6f852 MT32: Fix virtual dtor warning, incorrect delete, unnecessary allocation 2016-12-18 10:20:23 -06:00
Eugene Sandulenko
f98730028c MT32: Prevent Munt from including <fstream> 2016-12-17 20:32:04 +01:00
Colin Snover
1e23c91914 MT32: Fix driver to be thread-safe 2016-12-16 15:44:29 -06:00
Colin Snover
b8d70d26fa MT32: Update Munt to 2.0.1-pre
This update uses upstream commit
f88ef828a600ce66d1f730c8fb2a7f580f6f6165.

This update switches to use the new Munt C++ interface, which
will allow ScummVM to link to an external Munt library instead
of requiring it to be built-in in the future. For the moment,
the emulator is still built-in, since it is not available from
most package repositories.

The Munt driver in ScummVM now uses writeSysex instead of the
(now-private) playSysexWithoutFraming, per recommendation from
the Munt team <https://github.com/munt/munt/pull/30>.

This changeset also removes direct modifications that used to be
made to Munt code, to ease future updates. To update Munt code in
the future:

1. Replace all source files in the `softsynth/mt32` directory with
   new files from the upstream `mt32emu/src` directory;
2. Update `config.h` with the correct version number for the new
   version of Munt;
3. Update `module.mk` to add any new source files that need to be
   built.
2016-12-16 15:44:29 -06:00
Colin Snover
df4a503622 Revert "MT32: Update Munt to 2.0.0"
This reverts commit b4dbd6d3c275097b4be964b7da4478ff930cbaa7.
2016-11-25 12:24:08 -06:00
Colin Snover
b4dbd6d3c2 MT32: Update Munt to 2.0.0
This changeset also removes unnecessary direct modifications to
Munt code to ease future updates. To update Munt in the future:

1. Replace all source files in the `softsynth/mt32` directory with
   new files from the upstream `mt32emu/src` directory;
2. Update `config.h` with the correct version number for the new
   version of Munt;
3. Update `module.mk` to match the list of sources given in
   `mt32emu/CMakeLists.txt libmt32emu_SOURCES`.
2016-11-25 12:14:13 -06:00
Thierry Crozat
0908fd2225 MT32: Use OSDMessageQueue to post OSD messages from the MT32 thread 2016-10-29 15:13:32 +01:00
Johannes Schickel
6cb2148e0a AUDIO: Use MUNT's sample rate for MT-32 emulation. 2016-03-18 20:51:21 +01:00
Johannes Schickel
1ed261dac4 AUDIO: Make MT-32 emulator play MIDI events immediately.
This fixes the Indiana Jones and the Fate of Atlantis specific issue reported
in bug #6242 "AUDIO: Built-In MT-32 MUNT Produces Wrong Sounds".

Delaying MIDI events has been introduced with Munt 1.3.0.

Regression from 00992c1e68444a8123ffc89a971751cecf7287ed.
2016-03-18 20:51:21 +01:00
Filippos Karapetis
d119d3eba4 MT32: Check for CM32-L ROMs before checking for MT-32 ones
This ensures that the CM32-L ROMs will be preferred, if both sets are
located in the same folder
2015-12-28 02:38:52 +02:00
Johannes Schickel
452cec49d9 AUDIO: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Johannes Schickel
e00ae0918a AUDIO: Cleanup MT-32 code a bit.
This removes overwrites in ReportHandlerScummVM which are simply the default
implementation anyway. A side effect is that this silences/fixes a warning
about the former onProgramChanged to hide an virtual method due to parameter
differences.
2014-01-16 22:46:21 +01:00
Johannes Schickel
5ea87462e4 AUDIO: Register MT-32 emulator as plain sound type.
Formerly the audio stream was registered as sfx. This is incorrect behavior
since the client code will control music volume with MIDI events on its own.
It seems 67b311713d8f4cfcd460a9649e0075f24278a048 introduced this very long
ago.

This should fix unintended coupling of sfx volume and music volume in BASS.
2014-01-16 22:18:47 +01:00
Johannes Schickel
b22aeafcc8 AUDIO: Do not add extrapath to SearchMan in MT-32 emu code.
At the point where the emulator is created extrapath should already been
added to extrapath. If not, the check in checkDevice already failed and thus
adding it would be too late anyway.

It seems this was added in 805b21181ab7138da6960ade703b25716120fc29. The
comment about it being a HACK has been removed in bbad3f333a9227ccb1de633a0fe92d9e01ad7bb3
but it's not clear to my why... At any rate, this should not be here.
2013-11-03 19:36:04 +01:00
D G Turner
9fb96a9256 AUDIO: Further fix to ReportHandlerScummVM::printDebug in MT32 code. 2013-07-06 04:05:22 +01:00
Johannes Schickel
d7ff665737 AUDIO: Fix ReportHandlerScummVM::printDebug in MT32 code.
Formerly it tried to pass 'va_list' as '...' to debug. Now it's first creating
a String containing the output via String::vformat and then passing it
to debug.

Found by buildbot (master-dc). The warning message was:
audio/softsynth/mt32.cpp:65: warning: cannot pass objects of non-POD type
`struct va_list' through `...'; call will abort at runtime
2013-07-04 14:44:41 +02:00
Johannes Schickel
a1cfe235e4 AUDIO: Reduce callback frequency of the MT-32 emulator.
Formerly the frequency was at 10000Hz. This resulted in 3,4 or even only 1
sample to be generated between callbacks on my system. All the other MIDI
drivers use a much lower frequency here. The MidiDriver_Emulated subclasses
use a frequency of 250Hz (by default) and the MidiDriver_MPU401 subclasses
(which are for example the ALSA output) use 100Hz. With the new frequency
of 250Hz 128 samples are generated between callbacks. This will hopefully
reduce the overhead of the MT-32 emulator (the engine's code was run 10000
times a second too) a bit.

I talked with KingGuppy and it seems the value was increased in the past
(still with the very old MT-32 emulator code) because there were accuracy
issues. However, I gave the lower frequency a quick test with the MI1, MI2
and ITE intro and didn't spot any obvious differences. As a result, KingGuppy
and I agreed to lower it back to 250Hz. If there are any problems coming up
we can still slightly increase the frequency to 1000Hz for example.

Thanks to waltervn for noticing this. Thanks to KingGuppy for discussion.
2013-05-17 00:40:34 +02:00
Filippos Karapetis
635847b979 MT32: Fix some non-initialized fields in MidiDriver_MT32 - CID 1002949 2013-05-01 15:46:23 +03:00
Filippos Karapetis
059f5ee138 MT32: Also attempt to load roms named CM32L_CONTROL.ROM / CM32L_PCM.ROM
This was accidentally removed in commit 5711d23
2013-02-04 23:13:53 +02:00
Filippos Karapetis
7058daaed1 MT32: Remove the screen drawing code of the MUNT debug messages (bug #3599702)
The MUNT debug messages are called from an audio callback, which is not allowed to
update the screen, as per the OSystem documentation in common/system.h:401
2013-01-06 22:24:27 +02:00
Filippos Karapetis
05bf234b26 MT-32: Only show MUNT debug messages for debug level 4 and above (bug #3599702)
This avoids showing warnings in the intro of FOTAQ when using the MT-32 emulator
2013-01-06 21:54:40 +02:00
Filippos Karapetis
bf62205c73 MT32: Move the ROM file deletion code to the ScummVM MT32 driver
This removes the custom ScummVM file deletion code in the munt code
2012-12-27 17:12:26 +02:00
Filippos Karapetis
5711d23231 MT32: Update the MT32 emulator and adapt to its new API
Previous munt commit was 84b2819 (Dec 22, 2012)
Current munt commit is 6afddaf (Dec 23, 2012)

This commit also updates the MT32 driver code to the latest munt API
2012-12-26 21:28:34 +02:00
Eugene Sandulenko
22ea849cad MT32: Hooked up ScummVM MIDI gain 2012-02-09 11:31:09 +02:00
Eugene Sandulenko
030e155eeb MT32: Update MT-32 emulator to latest Munt code
Several changes against original code were made. They were intentionally
kept to the minimum
2012-02-09 11:31:03 +02:00
Eugene Sandulenko
78f1ea7690 OSYSTEM: extended installTimerProc() with timer ID parameter 2011-08-06 11:28:35 +01:00
Max Horn
88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
Thierry Crozat
592cca5402 GRAPHICS: Get rid of kSODFont (ScummFont)
OSD is now using the kGUIFont instead. The main advantage is that
the kGUIFont can be used for translated text while only ASCII
characters were present in ScummFont.
2011-06-06 23:20:08 +01:00
athrxx
40422441af AUDIO: some more text tweaks 2011-06-06 17:26:36 +02:00
Willem Jan Palenstijn
5da1427d0c AUDIO: Tweak warning text 2011-06-06 12:39:06 +02:00
athrxx
43075248aa AUDIO: fix device detection (missing rom files for MT-32 emu)
This is an attempt to fix the problem Max described in his devel mail.
The presence of the rom files will now be checked in detectDevice().
In case of failure there will be fallback attempts.
The user will get notified of the detection failure if he has expressly selected the device that failed.

Please test with your platform / engine (with or without rom files).
2011-06-05 18:29:13 +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
Max Horn
59e77ed667 ALL: Mark printf and various other symbols as forbidden
Right now, a few places in the frontend code still use printf and
consorts. We mark the affected files with a FIXME for now, and
add a dedicated exception for each. To be fixed!

Also tweak FORBIDDEN_SYMBOL_REPLACEMENT to hopefully really always
enforce a compiler error
2011-05-02 16:31:31 +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
dhewg
bb12acfa0f AUDIO: Cleanup
Is it just me or is overwriting-but-not-marking-as-virtual
irritating?
2011-03-22 21:02:08 +01:00