"DIGMID patch set not found"

Started by Radiant, Sun 11/05/2014 10:56:31

Previous topic - Next topic

Radiant

Somebody playing on a Mac reports that the audio doesn't work, and he gets the warning: "DIGMID patch set not found". Does anyone know what that means?

This is AGS 3.3 by the way.

monkey0506

I don't see anything about it in the OSX docs (checked JanetGilbert and humblebundle's forks), but the Linux README states:

QuoteFor midi music playback, you have to download GUS patches. We recommend "Richard Sanders's GUS patches" from this address:

http://alleg.sourceforge.net/digmid.html

A direct link is here:

http://www.eglebbk.dds.nl/program/download/digmid.dat

Rename that file to patches.dat. You can now place it:

  • in the directory pointed to by the ALLEGRO environment variable; or
  • if $ALLEGRO is not defined, in $HOME; or
  • in the same folder of the AGS executable.
I'm sure the process is something similar for OSX, but I don't own a Mac so I can't be certain.

Radiant

Thanks. So that's basically this ticket again; the engine expects MIDI to work even if the game uses MP3/OGG instead, and if MIDI either isn't functional on a computer or disabled via winsetup, then the engine will disable all music.

zabox

#3
Hi,

I am new to this forum and hope I get it right. I followed all suggestions in the prior posts above, but it did not do the trick. I am trying to run AGS games via wine in the Arch based Antergos Linux. No chance, I get that message "unable to initialize your audio hardware, DIGMID patchset not found".

I placed the patches.dat file in the game dir and also tried the home dir. Did not work. I noticed when I open the dat file as an archive, there is a patches file in it. But extracting that fails. I tried to download again, same issue. I do not believe the file is really broken.

thanks in advance
zabox

Crimson Wizard

I want to clarify this: this error disables the sound and music in game, but does not make the game shutdown, correct?

zabox


Crimson Wizard

#6
Here's a patched version for the test. What this patch should do is keep digital sound on if MIDI driver fails (and vice versa).

If you are using precompiled Windows game, put the acwin.exe into game folder, and start it:
http://www.mediafire.com/download/cq08u06m5odx4pf/acwin.exe

If you are building Linux version from our repository, here's the patch that should be applied on top of 'master' branch:
http://www.mediafire.com/download/0ls3595flhtpf7b/0001-Engine-do-not-disable-all-audio-drivers-if-only-one-.patch

Please tell if this works for you. In case of success I will add this change to next release.

zabox

#7
The game I used to test is the "A Golden Wake Demo" windows version via wine. Putting the acwin.exe into the game dir and starting it results in the same issue as before. Message appears, the game runs but w/o sound/music. This happens in Antergos Linux. I tried with Ubuntu 14.04 a week ago an there it worked.

Also the native Linux version of the game runs well in Antergos with all sound/music.

Crimson Wizard

Hmm, try running "acwin.exe --log". There will be a log written to "C:/Users/<Username>/Saved Games/.ags/". Can you post its contents here?

zabox

#9
Here you go. :D

Code: ags
Adventure Game Studio v3.3 Interpreter
Copyright (c) 1999-2011 Chris Jones and 2011-2014 others
ACI version 3.3.3.0

*** ENGINE STARTUP ***
Installing exception handler
Reading config file
Initializing allegro
Setting up window
Initializing game data
Game data file: c:/Program Files (x86)/Golden Wake Demo/a-golden-wake.exe

Initializing TTF renderer
Initializing mouse
Checking memory
Initializing speech vox
Initializing audio vox
Initializing keyboard
Install timer
Initialize sound drivers
	Digital sound: disabled, MIDI sound: disabled
Install exit handler
Initialize path finder library
Load game data
Game data version: 42
Requested engine version: 3.2.0.0
Game GUI version: 115
Built library path: ags_shell.dll
Plugin loading succeeded, resolving imports...
A Golden Wake Demo
Checking for disk space
Initializing screen settings
Device display resolution: 1920 x 1200
Game native resolution: 320 x 200 (32 bit)
Game settings: letterbox acceptable, side borders acceptable
Init gfx driver
Built library path: d3d9.dll
Created graphics driver: Direct3D 9
Supported gfx modes (32-bit): 
	1920x1200;1920x1080;1920x1080;1920x1080;1600x1200;1680x1050;1400x1050;1280x1024;
	1280x1024;1440x900;1366x768;1152x864;1280x720;1280x720;1280x720;1024x768;
	1024x768;1024x768;832x624;800x600;800x600;800x600;800x600;720x576;
	720x480;640x480;640x480;640x480;640x480;640x480;720x400;
Supported gfx modes (24-bit): none
Initializing gfx filters
Requested gfx filter: StdScale3
Chosen gfx resolution: 960 x 600 (32 bit), game frame: 320 x 200
Applying scaling filter: StdScale3
Switching to graphics mode
Attempt to switch gfx mode to 960 x 600 (32-bit) windowed, game frame 320 x 200, gfx filter: StdScale3
Succeeded. Using gfx mode 960 x 600 (32-bit) windowed, game frame 320 x 200, gfx filter: StdScale3
Preparing graphics mode screen
Initializing colour conversion
Check for preload image
Initialize sprites
Set up screen
Initialize game settings
Prepare to start game
Audio is processed on the main thread
Checking replay status
Engine initialization complete
Starting game
Loading room 83
Room change requested to room 82
Unloading room 83
Loading room 82
Room change requested to room 0
Unloading room 82
Loading room 0
***** ENGINE HAS SHUTDOWN


And here is the wine output into the shell:

Code: ags
$ wine acwin.exe --log
Wine cannot find the ncurses library (libncursesw.so.5).
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
err:module:load_builtin_dll failed to load .so lib for builtin L"winemp3.acm": libmpg123.so.0: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
fixme:win:EnumDisplayDevicesW ((null),0,0x33f414,0x00000000), stub!
fixme:d3d:wined3d_device_decref Device released with resources still bound, acceptable but unexpected.
fixme:d3d:wined3d_device_decref Leftover resource 0x9d0398 with type WINED3D_RTYPE_SURFACE (0x1).
fixme:d3d:wined3d_device_decref Leftover resource 0x9d01f8 with type WINED3D_RTYPE_TEXTURE (0x3).
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:module:load_builtin_dll failed to load .so lib for builtin L"winealsa.drv": libasound.so.2: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
err:mmdevapi:DllGetClassObject Driver initialization failed
err:ole:apartment_getclassobject DllGetClassObject returned error 0x80004005
err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
err:dsound:get_mmdevenum CoCreateInstance failed: 80004005
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:module:load_builtin_dll failed to load .so lib for builtin L"winealsa.drv": libasound.so.2: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
err:mmdevapi:DllGetClassObject Driver initialization failed
err:ole:apartment_getclassobject DllGetClassObject returned error 0x80004005
err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
err:winmm:MMDRV_Init CoCreateInstance failed: 80004005
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:module:load_builtin_dll failed to load .so lib for builtin L"winealsa.drv": libasound.so.2: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
err:mmdevapi:DllGetClassObject Driver initialization failed
err:ole:apartment_getclassobject DllGetClassObject returned error 0x80004005
err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:module:load_builtin_dll failed to load .so lib for builtin L"winealsa.drv": libasound.so.2: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
err:mmdevapi:DllGetClassObject Driver initialization failed
err:ole:apartment_getclassobject DllGetClassObject returned error 0x80004005
err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
fixme:win:EnumDisplayDevicesW ((null),0,0x33f834,0x00000000), stub!



Crimson Wizard

Here's another version with slightly more detailed log:
http://www.mediafire.com/download/ah1ktkhyf8596i0/acwin_sound_init.zip
Sorry for asking you to test this out, but I hope to at least diagnose which step does it stumbles on.

zabox

This is the new log output:
Code: ags
Adventure Game Studio v3.3 Interpreter
Copyright (c) 1999-2011 Chris Jones and 2011-2014 others
ACI version 3.3.3.0

*** ENGINE STARTUP ***
Installing exception handler
Reading config file
Initializing allegro
Setting up window
Initializing game data
Game data file: c:/Program Files (x86)/Golden Wake Demo/a-golden-wake.exe

Initializing TTF renderer
Initializing mouse
Checking memory
Initializing speech vox
Initializing audio vox
Initializing keyboard
Install timer
Initialize sound drivers
Trying digital driver ID: 'AXA ' (0x41584120), MIDI driver ID: 'Auto' (0xffffffff)
Failed to init sound drivers. Error: DIGMID patch set not found
Resetting to default parameters and trying again.
Failed to init sound drivers. Error: DIGMID patch set not found
Digital sound: disabled, MIDI sound: disabled
Install exit handler
Initialize path finder library
Load game data
Game data version: 42
Requested engine version: 3.2.0.0
Game GUI version: 115
Built library path: ags_shell.dll
Plugin loading succeeded, resolving imports...
A Golden Wake Demo
Checking for disk space
Initializing screen settings
Device display resolution: 1280 x 960
Game native resolution: 320 x 200 (32 bit)
Game settings: letterbox acceptable, side borders acceptable
Init gfx driver
Built library path: d3d9.dll
Created graphics driver: Direct3D 9
Supported gfx modes (32-bit): 
	1024x768;1600x1200;1440x1050;1280x960;1024x768;800x600;640x480;
Supported gfx modes (24-bit): none
Initializing gfx filters
Requested gfx filter: StdScale3
Chosen gfx resolution: 960 x 600 (32 bit), game frame: 320 x 200
Applying scaling filter: StdScale3
Switching to graphics mode
Attempt to switch gfx mode to 960 x 600 (32-bit) windowed, game frame 320 x 200, gfx filter: StdScale3
Succeeded. Using gfx mode 960 x 600 (32-bit) windowed, game frame 320 x 200, gfx filter: StdScale3
Preparing graphics mode screen
Initializing colour conversion
Check for preload image
Initialize sprites
Set up screen
Initialize game settings
Prepare to start game
Audio is processed on the main thread
Checking replay status
Engine initialization complete
Starting game
Loading room 83
Room change requested to room 82
Unloading room 83
Loading room 82
Room change requested to room 0
Unloading room 82
Loading room 0
***** ENGINE HAS SHUTDOWN


zabox

#13
Now the game starts but without sound/music.

This is interesting: "Insufficient digital voices available"

Code: ags
Adventure Game Studio v3.3 Interpreter
Copyright (c) 1999-2011 Chris Jones and 2011-2014 others
ACI version 3.3.3.0

*** ENGINE STARTUP ***
Installing exception handler
Reading config file
Initializing allegro
Setting up window
Initializing game data
Game data file: c:/Program Files (x86)/Golden Wake Demo/a-golden-wake.exe

Initializing TTF renderer
Initializing mouse
Checking memory
Initializing speech vox
Initializing audio vox
Initializing keyboard
Install timer
Initialize sound drivers
Trying digital driver ID: 'AXA ' (0x41584120), MIDI driver ID: 'Auto' (0xffffffff)
Failed to init one of the drivers; Error: DIGMID patch set not found
Trying to start without MIDI
Failed to init one of the drivers; Error: Failed to init digital sound driver
Trying to start without DIGI
Failed to init sound drivers. Error: Insufficient digital voices available
Resetting to default parameters and trying again.
Failed to init one of the drivers; Error: DIGMID patch set not found
Trying to start without MIDI
Failed to init one of the drivers; Error: Failed to init digital sound driver
Trying to start without DIGI
Digital sound: disabled, MIDI sound: enabled
Install exit handler
Initialize path finder library
Load game data
Game data version: 42
Requested engine version: 3.2.0.0
Game GUI version: 115
Built library path: ags_shell.dll
Plugin loading succeeded, resolving imports...
A Golden Wake Demo
Checking for disk space
Initializing screen settings
Device display resolution: 1280 x 960
Game native resolution: 320 x 200 (32 bit)
Game settings: letterbox acceptable, side borders acceptable
Init gfx driver
Built library path: d3d9.dll
Created graphics driver: Direct3D 9
Supported gfx modes (32-bit): 
	1024x768;1600x1200;1440x1050;1280x960;1024x768;800x600;640x480;
Supported gfx modes (24-bit): none
Initializing gfx filters
Requested gfx filter: StdScale3
Chosen gfx resolution: 960 x 600 (32 bit), game frame: 320 x 200
Applying scaling filter: StdScale3
Switching to graphics mode
Attempt to switch gfx mode to 960 x 600 (32-bit) windowed, game frame 320 x 200, gfx filter: StdScale3
Succeeded. Using gfx mode 960 x 600 (32-bit) windowed, game frame 320 x 200, gfx filter: StdScale3
Preparing graphics mode screen
Initializing colour conversion
Check for preload image
Initialize sprites
Set up screen
Initialize game settings
Prepare to start game
Audio is processed on the main thread
Checking replay status
Engine initialization complete
Starting game
Loading room 83
Room change requested to room 82
Unloading room 83
Loading room 82
Room change requested to room 0
Unloading room 82
Loading room 0
***** ENGINE HAS SHUTDOWN

Crimson Wizard

#14
There is something beyond my current knowledge: if it tries to init both digital and midi sounds, there is one error message, but when it tries to init one of them separately, there are other error messages.

Anyways, from the looks of the log it appears the problem is not just in MIDI, but also in digital driver. I do not know how this works under WINE. Have you tried choosing other drivers in setup?

I wish I could set up similar situation on my computer to test various things faster, but unfortunately I do not have much free time now, and I am leaving city for some time. Maybe I will when I am back.


PS. I tried to find out how Allegro 4 does sound initialization, and TBH Allegro library code looks even worse than AGS in some places... for example, it checks number of digital voices even if digital sound is off.

zabox

I tried all combinations. I will help you with the setup when you are back. Then just leave a note here.

Crimson Wizard

#16
Well, I added the patch to recent engine release (3.3.4).

However, I am still not sure how this problem rises up.

It was believed that this is caused by MIDI that cannot initialize. However, according to the logs provided by zabox above, the "No DIGMID patch" error appears when engine tries to init both MIDI and digital sounds, but it does not occur when it inits MIDI without digital sounds. Also, initializing digital sound without MIDI failed too.
Latter makes me think that this might be a result of more than one problem combined.

I wished I knew how I could reproduce this situation on my computer.

Culzean

07-13 22:53:07.992: D/audio_hw_primary(1014): 1select_output_device: mode[0], devices[2]
07-13 22:53:07.993: I/ActivityManager(1233): START u0 {cmp=com.bigbluecup.android.launcher/com.bigbluecup.android.AgsEngine (has extras)} from pid 7988
07-13 22:53:08.124: D/dalvikvm(7988): Trying to load lib /data/app-lib/com.bigbluecup.android.launcher-1/libagsengine.so 0x40ed2148
07-13 22:53:08.135: D/dalvikvm(7988): Added shared lib /data/app-lib/com.bigbluecup.android.launcher-1/libagsengine.so 0x40ed2148
07-13 22:53:08.180: V/TabletStatusBar(1315): setLightsOn(true)
07-13 22:53:08.183: D/AGSNative(7988): Checking sound inits.
07-13 22:53:08.200: D/AGSNative(7988): Unable to initialize your audio hardware.
07-13 22:53:08.200: D/AGSNative(7988): [Problem: DIGMID patch set not found]
07-13 22:53:08.331: D/dalvikvm(7988): GC_CONCURRENT freed 152K, 4% free 4389K/4564K, paused 4ms+4ms, total 70ms
07-13 22:53:08.417: D/TabletStatusBar(1315):  newState = 0 mBarViewState = 1
07-13 22:53:08.417: I/TabletStatusBar(1315): ------------->showStatusBar :0
07-13 22:53:08.532: I/ActivityManager(1233): Displayed com.bigbluecup.android.launcher/com.bigbluecup.android.AgsEngine: +464ms
07-13 22:53:49.841: D/audio_hw_primary(1014): 1select_output_device: mode[0], devices[2]
07-13 22:53:49.986: W/InputMethodManagerService(1233): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41729850 attribute=null, token = android.os.BinderProxy@416cb088
07-13 22:53:50.341: D/libEGL(7988): loaded /system/lib/egl/libEGL_mali.so
07-13 22:53:50.345: D/libEGL(7988): loaded /system/lib/egl/libGLESv1_CM_mali.so
07-13 22:53:50.356: D/libEGL(7988): loaded /system/lib/egl/libGLESv2_mali.so
07-13 22:53:50.395: W/BufferQueue(79): freeAllBuffersLocked called but mQueue is not empty

On Android here's my error log, I'm not sure if this sheds much light on the problem however.

zabox

My environment is wine in an antergos linux inside a VM under ubuntu 14.04.

Crimson Wizard

Quote from: zabox on Fri 24/07/2015 07:12:04
My environment is wine in an antergos linux inside a VM under ubuntu 14.04.
Okay, when I get time I will try to install a Wine VM inside my ubuntu which is inside VM on my Windows :D
Spoiler
Reminds me when I was making encrypted disk partition inside VM on an ecrypted disk partition, for a test
[close]

SMF spam blocked by CleanTalk