Is there some way to tell if a bank relies on OPL3 features? If so, it shouldn't be hard to add a query to the core interface to report of it's OPL3 or OPL2, and exclude OPL3 sound banks from OPL2 cores.Csonicgo wrote:If MAME OPL2 is to be made available to ADLMIDI, it needs to be stated that not all banks will work. DMXOPL is a prime example of a bank that wouldn't work with the OPL2 core at all due to its use of features that the OPL2 simply doesn't have.
GZDoom 3.3.0 released
Moderator: GZDoom Developers
-
- Posts: 2958
- Joined: Thu Jul 17, 2003 12:07 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: GZDoom 3.3.0 released
-
- Posts: 1193
- Joined: Thu Apr 15, 2004 3:28 pm
- Location: Leeds
Re: GZDoom 3.3.0 released
The OPL3 really has no way of knowing. All it knows is if its 4-op capable registers are being activated as 4-op, or if its voice registers have numbers in them. But this is OPL emulation, so it's not like we have to look at the chip - we can look at the banks.Chris wrote:Is there some way to tell if a bank relies on OPL3 features? If so, it shouldn't be hard to add a query to the core interface to report of it's OPL3 or OPL2, and exclude OPL3 sound banks from OPL2 cores.Csonicgo wrote:If MAME OPL2 is to be made available to ADLMIDI, it needs to be stated that not all banks will work. DMXOPL is a prime example of a bank that wouldn't work with the OPL2 core at all due to its use of features that the OPL2 simply doesn't have.
If the bank in question uses the additional waveforms the OPL3 offers in any of the instruments, or uses "true" 4-op mode in any of the instruments, it's an OPL3 bank. If the bank uses what ADLMIDI calls "pseudo 4-op", which is just two 2-op registers playing together, the OPL2 will have no problem. So basically it'd be down to scanning the instruments and checking for numbers that exceed the threshold of the OPL2. any instrument that uses waveforms 4-7 should flag the whole bank as OPL3 only. Same with the "4-op" flag, which I do think is available in ADLMIDI, although not all of the source banks from which the cpp files are generated would have that information.
-
- Posts: 73
- Joined: Sun Dec 17, 2017 3:22 am
- Graphics Processor: nVidia with Vulkan support
- Location: Moscow, Russia
Re: GZDoom 3.3.0 released
It's not hard to analyze register data for OPL3 data not supported on the OPL2 chip, then, use a special internal table to mark banks are OPL2-only are allowed to work on OPL2 cores. As another example are lots of banks are using 4-oprerator instruments which is a feature of OPL3. OPL3 has some things are not related to 4-operators support:
- Supports left-center-right panning
- Supports 18 channels (OPL2 supports 9 only)
- Has 4 extra waveforms are introduced in OPL3 only.
There are can be used well in two-operator bank formats as well as there are allowing to store that data into same registers. When speaking about four-operators, that requires extra data and a bit different logic to manage chip registers.
- Supports left-center-right panning
- Supports 18 channels (OPL2 supports 9 only)
- Has 4 extra waveforms are introduced in OPL3 only.
There are can be used well in two-operator bank formats as well as there are allowing to store that data into same registers. When speaking about four-operators, that requires extra data and a bit different logic to manage chip registers.
-
-
- Posts: 17937
- Joined: Fri Jul 06, 2007 3:22 pm
Re: GZDoom 3.3.0 released
I believe that stereo panning and 18 channels is possible with dual OPL2 chips. An OPL chip can behave as if it were two OPL2 chips, and in addition it has four more waveforms.
The ZDoom OPL emulator allows full stereo panning (something real OPL never allowed) and pretty much unlimited channels by emulating more chips than any sound card ever had anyway; so only the waveform limitation is really important IMO.
The ZDoom OPL emulator allows full stereo panning (something real OPL never allowed) and pretty much unlimited channels by emulating more chips than any sound card ever had anyway; so only the waveform limitation is really important IMO.
-
- Posts: 1193
- Joined: Thu Apr 15, 2004 3:28 pm
- Location: Leeds
Re: GZDoom 3.3.0 released
You'd still need to check for 4-op mode for completeness. I could make a bank that is true 4-op but never use a single new waveform - which is what FatMan did with his 4-op bank, IIRC.Gez wrote:I believe that stereo panning and 18 channels is possible with dual OPL2 chips. An OPL chip can behave as if it were two OPL2 chips, and in addition it has four more waveforms.
The ZDoom OPL emulator allows full stereo panning (something real OPL never allowed) and pretty much unlimited channels by emulating more chips than any sound card ever had anyway; so only the waveform limitation is really important IMO.
-
- Posts: 2109
- Joined: Tue Jul 15, 2003 5:29 pm
- Location: Industrial Zone
Re: GZDoom 3.3.0 released
Since using this version, I notice that my graphics card continues to work hard even when the game is paused and minimised. I presume it's due to this change from 3.2.4:
May I ask why this was implemented? (the reason I use windowed mode is simply because in fullscreen mode the game steals focus and prevents other windows from being used when alt-tabbing to them...an issue which has been around for years)OpenGL rendering now continues even when losing focus if not running fullscreen
-
-
- Posts: 3819
- Joined: Sun Aug 07, 2011 4:32 am
Re: GZDoom 3.3.0 released
Can't say anything about this feature but did you try borderless windowed mode?The Ultimate DooMer wrote:May I ask why this was implemented? (the reason I use windowed mode is simply because in fullscreen mode the game steals focus and prevents other windows from being used when alt-tabbing to them...an issue which has been around for years)
-
- Lead GZDoom+Raze Developer
- Posts: 49194
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: GZDoom 3.3.0 released
Who implemented such a thing without providing a switch?
-
- Posts: 13854
- Joined: Tue Jan 13, 2004 1:31 pm
- Preferred Pronouns: She/Her
Re: GZDoom 3.3.0 released
I did that. At the time, it seemed to me that GZDoom was still making full use of the GPU even when minimized, so I figured I might as well at least make it update the screen while it is doing that so that it would not be wasted work by the GPU. Probably my mistake for not using actual profiling tools for this, though. AFAIR dpJudas said something to the effect of GZDoom needing a window to draw on, even when minimized, because it would affect some display calculations that were happening regardless of whether it was minimized or not (elsewise it would crash). Also, my GPU temps never went down, even when GZDoom was hiding in my taskbar and supposedly "inactive". The only way to cool the GPU was to quit GZDoom.
-
- Lead GZDoom+Raze Developer
- Posts: 49194
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: GZDoom 3.3.0 released
AFAIK that was the result of a bug that got fixed in the mean time.
-
- Posts: 2033
- Joined: Sat Jul 19, 2003 6:15 am
- Operating System Version (Optional): Tumbleweed x64
- Graphics Processor: Intel with Vulkan/Metal Support
- Location: Central Germany
Re: GZDoom 3.3.0 released
This somehow broke timidity playback under Linux. In 3.2.5, a separate process would be spawn and play the music, in 3.3.0 no such thing happens and it falls back to fluid. Console says:Graf Zahl wrote:
- Import Timidity++ into GZDoom directly
Code: Select all
GZDoom 3.3.0 - - SDL version
Compiled on
M_LoadDefaults: Load system defaults.
W_Init: Init WADfiles.
adding /usr/share/doom/gzdoom.pk3, 684 lumps
adding /usr/share/doom/doom2.wad, 2919 lumps
Unknown command "nofullscreen"
I_Init: Setting up machine state.
CPU Vendor ID: GenuineIntel
Name: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
Family 6, Model 142, Stepping 10
Features: SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 HyperThreading
I_InitSound: Initializing OpenAL
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
No protocol specified
Opened device ALSA Default
EFX enabled
V_Init: allocate screen.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...
S_InitData: Load sound definitions.
G_ParseMapInfo: Load map definitions.
Texman.Init: Init texture manager.
ParseTeamInfo: Load team definitions.
LoadActors: Load actor definitions.
script parsing took 197.17 ms
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init menus.
P_Init: Init Playloop state.
ParseSBarInfo: Loading custom status bar definition.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)
No protocol specified
No protocol specified
Using video driver x11
GL_VENDOR: Intel Open Source Technology Center
GL_RENDERER: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2)
GL_VERSION: 4.5 (Core Profile) Mesa 18.0.0-rc5 (Core profile)
GL_SHADING_LANGUAGE_VERSION: 4.50
Max. texture size: 16384
Max. texture units: 32
Max. varying: 128
Max. combined shader storage blocks: 72
Max. vertex shader storage blocks: 12
Resolution: 640 x 480
fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.
fluidsynth: warning: No preset found on channel 0 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 1 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 2 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 3 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 4 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 5 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 6 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 7 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 8 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 9 [bank=128 prog=0]
fluidsynth: warning: No preset found on channel 10 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 11 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 12 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 13 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 14 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 15 [bank=0 prog=0]
fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.
Unable to create Timidity++ MIDI device. Falling back to FluidSynth
-
- Lead GZDoom+Raze Developer
- Posts: 49194
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: GZDoom 3.3.0 released
The external process is no longer being supported. You have to make sure that your Timidity sound font settings are ok, otherwise, if it cannot find something it can play with, it will try the next synth in the list. And all your warnings suggest that you also do not have a valid setup for FluidSynth.
-
-
- Posts: 1447
- Joined: Fri Dec 29, 2017 4:15 am
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Manjaro Linux
- Location: Siberia (UTC+7)
Re: GZDoom 3.3.0 released
See this topic. The summary: enter this in console:Hirogen2 wrote: This somehow broke timidity playback under Linux. In 3.2.5, a separate process would be spawn and play the music, in 3.3.0 no such thing happens and it falls back to fluid.
Code: Select all
timidity_config /opt/gzdoom/gzdoom.sf2
Code: Select all
timidity_config where_your_gzdoom_is_installed/gzdoom.sf2
-
- Posts: 13854
- Joined: Tue Jan 13, 2004 1:31 pm
- Preferred Pronouns: She/Her
-
- Posts: 206
- Joined: Mon May 26, 2008 3:24 pm
- Preferred Pronouns: He/Him
- Location: Germany
Re: GZDoom 3.3.0 released
oh I missed the survey. Sorry.
I'm another user with a GTX1080 card and so a vulkan supporting computer^^
I'm another user with a GTX1080 card and so a vulkan supporting computer^^