mdias / rs_asio

ASIO for Rocksmith 2014
MIT License
1.06k stars 102 forks source link

Line 6 UX1 seems to be working, but needs to be reconnected after the game restart #361

Closed MisterPiBody closed 1 year ago

MisterPiBody commented 1 year ago

[Config]

EnableWasapiOutputs=1 EnableWasapiInputs=0 EnableAsio=1

[Asio] ; available buffer size modes: ; driver - respect buffer size setting set in the driver ; host - use a buffer size as close as possible as that requested by the host application ; custom - use the buffer size specified in CustomBufferSize field BufferSizeMode=driver CustomBufferSize=

[Asio.Output] Driver= BaseChannel=0 AltBaseChannel= EnableSoftwareEndpointVolumeControl=1 EnableSoftwareMasterVolumeControl=1 SoftwareMasterVolumePercent=100 EnableRefCountHack=

[Asio.Input.0] Driver=ASIO UX1 Channel=0 EnableSoftwareEndpointVolumeControl=1 EnableSoftwareMasterVolumeControl=1 SoftwareMasterVolumePercent=100 EnableRefCountHack=

As soon as i connect UX-1 and launch Rocksmith - everything works fine. RS_ASIO_log says:

RSAsioDeviceEnum::UpdateAvailableDevices - input[0] requesting ASIO driver: ASIO UX1 3.678 [INFO] Creating AsioSharedHost - dll: c:\Windows\SysWOW64\l6ux1.dll 3.690 [INFO] ASIO input channels info: 3.690 [INFO] 0 - active: 0, channel: 0, group: 1, isInput: 1, type: ASIOSTInt16LSB, name: Send 1 3.690 [INFO] 1 - active: 0, channel: 1, group: 1, isInput: 1, type: ASIOSTInt16LSB, name: Send 2 3.690 [INFO] 2 - active: 0, channel: 2, group: 2, isInput: 1, type: ASIOSTInt16LSB, name: Send 3 3.690 [INFO] 3 - active: 0, channel: 3, group: 2, isInput: 1, type: ASIOSTInt16LSB, name: Send 4 3.690 [INFO] ASIO output channels info: 3.690 [INFO] 0 - active: 0, channel: 0, group: 0, isInput: 0, type: ASIOSTInt16LSB, name: Output 1 3.690 [INFO] 1 - active: 0, channel: 1, group: 0, isInput: 0, type: ASIOSTInt16LSB, name: Output 2 3.690 [INFO] RSAsioDeviceEnum::UpdateAvailableDevices - OK

After restarting the game, there is no guitar sound and RS_ASIO_log goes for:

RSAsioDeviceEnum::UpdateAvailableDevices - input[0] requesting ASIO driver: ASIO UX1 3.783 [INFO] Creating AsioSharedHost - dll: c:\Windows\SysWOW64\l6ux1.dll 3.794 [ERROR] ASIO Error: ASIO Driver open Failure! 3.794 [INFO] Destroying AsioSharedHost - dll: c:\Windows\SysWOW64\l6ux1.dll 3.794 [ERROR] RSAsioDeviceEnum::UpdateAvailableDevices - failed.

If I would replug UX-1 it works again. Could it be that l6ux1.dll is not being unloaded correctly after the game is closed so device has to be reconnected. Anyways, so far it kinda works, but with some additional steps. In case i'll figure something, i'll add it to the topic.

mdias commented 1 year ago

This type of issue has been reported before. See #250 and #200 for examples. TLDR is that even if RS_ASIO or the game is doing something wrong, after the process is ended it's up to the drivers to ensure the itnerface is "unlocked", so you should report this to Line6 instead.