margorski / exodos-launcher

Launcher for eXoDOS. Basic and forked from Flashpoint Launcher repository (https://github.com/FlashpointProject/launcher)
https://exodos.the-eye.us
MIT License
35 stars 5 forks source link

Soundtracks not launching #30

Closed parricc closed 3 months ago

parricc commented 4 months ago

The eXoDOS 6 media pack contains soundtracks that are launched through foobar2000. In Linux, foobar2000 must be launched with Wine.

[11:02:30]                      Launch Game "Command & Conquer: Red Alert - The Music (Soundtrack)" (PID: 136746) [
                                    applicationPath: "eXo\emulators\audio\foobar2000\foobar2000.exe",
                                    launchCommand:   ""..\..\..\Soundtracks\Command & Conquer- Red Alert.zip"",
                                    command:         "xdg-open /home/myuser/18TB/New_eXoDOS6WIP/New_eXoDOS6WIP/eXoDOS\ WIP/eXo/emulators/audio/foobar2000/foobar2000.exe \"..\\..\\..\\Soundtracks\\Command\ \&\ Conquer-\ Red\ Alert.zip\"" ]
[11:02:30]                      stderr (PID: 136746) [ "xdg-open: unexpected argument '"..\..\..\Soundtracks\Command & Conquer- Red Alert.zip"'
                                Try 'xdg-open --help' for more information." ]
[11:02:30]                      exit (PID: 136746) [ 1, null ]

When executing, the execution command should begin with flatpak run com.retro_exo.wine-9-0 to start foobar2000.exe as this is the version of wine that is packaged with eXo collections. Then, the argument should use Linux style paths. The paths provided are relative to the foobar2000 directory.

For the above example, if I navigate in a terminal window to the eXo/emulators/audio/foobar2000/ directory, I can run the following command to launch the soundtrack in question:

flatpak run com.retro_exo.wine-9-0 foobar2000.exe ../../../Soundtracks/Command\ \&\ Conquer-\ Red\ Alert.zip

For reference, the location of the eXoDOS 6 Soundtracks zip files from the root of the collection are in eXo/Soundtracks.

parricc commented 4 months ago

For reference, the above example uses the following lines from the Data/Platforms/Soundtracks.xml file:

<ApplicationPath>eXo\emulators\audio\foobar2000\foobar2000.exe</ApplicationPath> <CommandLine>"..\..\..\Soundtracks\Command &amp; Conquer- Red Alert.zip"</CommandLine>

margorski commented 4 months ago

Fixed executed command in the commit: 7ccce5cbebd4b42eaf4096d4ec7096e7a5f4c54a

But I got an error in the foobar. I don't think this is the related to the exogui called command. Could you test it @parricc and check does it work on your side?

image

margorski commented 4 months ago
[23:24:57]                      Launch Game "Blam! Machinehead: Soundtrack" (PID: 28987) [
                                    applicationPath: "eXo\emulators\audio\foobar2000\foobar2000.exe",
                                    launchCommand:   ""..\..\..\Soundtracks\Blam! Machinehead.zip"",
                                    command:         "cd /home/mariuszek/Games/eXoDOS/eXo/emulators/audio/foobar2000/ && flatpak run com.retro_exo.wine-9-0 foobar2000.exe "..\..\..\Soundtracks\Blam! Machinehead.zip"" ]
[23:24:58]                      stderr (PID: 28987) [ "0044:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
                                0044:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
                                0044:err:ole:apartment_get_local_server_stream Failed: 0x80004002" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:msvcrt:_set_abort_behavior _WRITE_CALL_REPORTFAULT unhandled" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 799D2670, 43) stub" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:msvcrt:_set_abort_behavior _WRITE_CALL_REPORTFAULT unhandled" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:file:NtLockFile I/O completion on lock not implemented yet" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:err:ole:com_get_class_object class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
                                0024:err:ole:com_get_class_object no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:err:ole:com_get_class_object class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
                                0024:err:ole:com_get_class_object no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:uxtheme:SetPreferredAppMode 3: stub
                                0024:fixme:win:SetWindowCompositionAttribute (0001006E, 0085FBDC): stub" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:uxtheme:AllowDarkModeForWindow 0001007A 0: stub" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
                                0024:err:ole:CoMarshalInterface Failed to marshal the interface {00000122-0000-0000-c000-000000000046}, hr 0x80004002" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:uxtheme:AllowDarkModeForWindow 00010094 65536: stub" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:uxtheme:AllowDarkModeForWindow 0012008A 1179648: stub" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
                                0024:err:ole:CoMarshalInterface Failed to marshal the interface {00000122-0000-0000-c000-000000000046}, hr 0x80004002" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:uxtheme:AllowDarkModeForWindow 000100AE 0: stub" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:win:SetGestureConfig handle 000100AE, reserved 0, count 1, config 0085EFE0, size 12 stub!" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
                                0024:err:ole:CoMarshalInterface Failed to marshal the interface {00000122-0000-0000-c000-000000000046}, hr 0x80004002" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:uxtheme:AllowDarkModeForWindow 000100B8 0: stub" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:win:SetGestureConfig handle 000100B8, reserved 0, count 1, config 0085EFA8, size 12 stub!" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:uxtheme:AllowDarkModeForWindow 000100C8 0: stub" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
                                0024:err:ole:CoMarshalInterface Failed to marshal the interface {00000122-0000-0000-c000-000000000046}, hr 0x80004002" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:uxtheme:AllowDarkModeForWindow 000100CC 0: stub" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:win:SetGestureConfig handle 000100CC, reserved 0, count 1, config 0085F060, size 12 stub!" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
                                0024:err:ole:CoMarshalInterface Failed to marshal the interface {00000122-0000-0000-c000-000000000046}, hr 0x80004002" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:fixme:msvcrt:_SetWinRTOutOfMemoryExceptionCallback (77088760): stub
                                0024:fixme:combase:RoGetActivationFactory (L"Windows.Media.Playback.BackgroundMediaPlayer", {00000035-0000-0000-c000-000000000046}, 0085FADC): semi-stub" ]
[23:24:58]                      stderr (PID: 28987) [ "0024:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Media.Playback.BackgroundMediaPlayer"
                                0024:fixme:combase:GetRestrictedErrorInfo (0085FAB0)
                                0024:fixme:combase:RoOriginateError 0x80040150, L"": stub" ]
[23:24:59]                      stderr (PID: 28987) [ "0024:fixme:powermgnt:PowerCreateRequest (0085FA18): stub" ]
[23:24:59]                      stderr (PID: 28987) [ "0024:fixme:win:SetWindowCompositionAttribute (000400DE, 0085F3E8): stub
                                0024:fixme:uxtheme:AllowDarkModeForWindow 000200DC 0: stub" ]
[23:24:59]                      stderr (PID: 28987) [ "0024:fixme:uxtheme:AllowDarkModeForWindow 000100EE 0: stub
                                0024:fixme:uxtheme:AllowDarkModeForWindow 000100F0 0: stub" ]
[23:25:01]                      stderr (PID: 28987) [ "0024:fixme:powermgnt:PowerCreateRequest (0085F698): stub" ]
[23:25:01]                      stderr (PID: 28987) [ "0090:fixme:avrt:AvSetMmThreadCharacteristicsW (L"Audio",043DFB64): stub" ]
[23:25:01]                      stderr (PID: 28987) [ "0090:err:ole:com_get_class_object class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
                                0090:err:ole:com_get_class_object class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered" ]
[23:25:01]                      stderr (PID: 28987) [ "0090:err:ole:start_rpcss Failed to open RpcSs service" ]
[23:25:01]                      stderr (PID: 28987) [ "0090:err:ole:create_server class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered" ]
[23:25:01]                      stderr (PID: 28987) [ "0090:fixme:ole:com_get_class_object CLSCTX_REMOTE_SERVER not supported
                                0090:err:ole:com_get_class_object no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x17
                                0090:err:ole:com_get_class_object class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
                                0090:err:ole:com_get_class_object class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered" ]
[23:25:01]                      stderr (PID: 28987) [ "0090:err:ole:start_rpcss Failed to open RpcSs service" ]
[23:25:01]                      stderr (PID: 28987) [ "0090:err:ole:create_server class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered" ]
[23:25:01]                      stderr (PID: 28987) [ "0090:fixme:ole:com_get_class_object CLSCTX_REMOTE_SERVER not supported
                                0090:err:ole:com_get_class_object no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x17
                                0090:fixme:avrt:AvRevertMmThreadCharacteristics (12345678): stub" ]
[23:25:01]                      stderr (PID: 28987) [ "0024:fixme:win:SetWindowCompositionAttribute (000500DE, 0085F6F8): stub
                                0024:fixme:uxtheme:AllowDarkModeForWindow 000200F2 0: stub" ]
parricc commented 3 months ago

Not sure on the cause of the above issue. Building with the current state of the repo, it is working for me. I'll have some other people test this and see if they run across any issues.

parricc commented 3 months ago

Confirmed this is not an exogui issue. I also need to recreate the wine flatpak with flathub org.freedesktop.Platform.Compat.i386//23.08 as a dependency. A user that was testing ran into problems due to that missing.

For your issue, we can correspond for testing ways to fix it if you get time.