Closed Paleri closed 3 years ago
Does this occur consistently for you?
You seem to be running a rather old version of VoiceAttack. I suspect that the version you're running is no longer compatible with EDDI (due to some changes to VoiceAttack's API and some corresponding changes to how we invoke VoiceAttack commands). Please try updating VoiceAttack to version 1.7.4 or later?
It does accure consistantly.
I am running on XP. 1.7.4 of VA is not supported on XP as per their web site:
From the VA Support page: $$$$$ "As of version 1.5 of VoiceAttack, Windows XP can no longer be supported. The good news is that the last-tested version of VoiceAttack under XP can still be downloaded (VoiceAttack version 1.4).
Windows XP does not come with a speech recognition engine like Windows Vista and up. The installer for the Microsoft Speech Recognition Engine 5.1 is over 30 megs, so it was decided that a separate download would be made for it. What is suggested is that you first download and run VoiceAttack. If VoiceAttack does not find a speech recognition engine, you will get a link back to this page. At that point, simply click the, 'Download Additional Components' link below and run the installer. Go back Download VoiceAttack v1.4 for XP Download Additional Components" $$$$$
However, I was running 1.6.1 on XP for years without issue; including using the EDDI callbacks. Other than the EDDI callbacks, VA still works fine; VA's qualification above not withstanding.
EDDI's VoiceAttack Responder tab says that: "EDDI will only work with versions of VoiceAttack 1.5.12.22 and higher."
I am running VA 1.6.1 and, according to that, should still be good with EDDI.
Pretty sure you are right and it is some kind of a XP/VA/EDDI/ED version compatibility issue. But I'm not super sure how to proceed from here to resolve the problem under XP. If I downgrade from 1.6 to 1.4, I know my VA programs will not run as they uses 1.6 features. I'm not positive 1.7 will run 1.6-written code but likely so as to backward compatibility.
What to try next to get it working under XP? Since 1.6 worked for years should I just try installing 1.7 and see if it works in spite of VA's stated limitation? Or maybe Download the VA "Additional Components" but stay at 1.6? Or try an older version of EDDI?
Thanks for your help. I love EDDI ED-event-handling and would love to get it working again.
I think EDDI version 4.0.0 will likely work for the time being - that version used the older method for invoking VoiceAttack commands.
If version 1.6.1 has been working for you then I'd imagine later versions might also. Downloading VA "Additional Components" should be unnecessary if VoiceAttack and EDDI have been working on your system.
If you have the installer for version 1.6.1 then I'd suggest backing up your profile data then giving an updated version of VoiceAttack a try. If not then I'm not sure there's any guarantee that you'll be able to roll back to the same version under Windows XP without a full system restore (I think System Restore Points were first introduced in Windows 7?).
Steps for Voice Attack EDDI callback handling restoration:
Solution Option A: Upgrade VA to latest version to see if it will run on my XP PC and handle EDDI ED events.
I. Prepare to fall back to to VA 1_6_1 in case the latest VA version will not run on my XP PC.
II. Install latest version of VA
Results: Got VA messages Plugin support enabled, The EDDI plugin is fully operational, and Plugin EDDI 'EDDI 4.0.1' initialized. My legacy v1.6.1 VA code seems to run without issue and it seems fully compatible with VA v1.8.9. Ran ED and in-game events were now handled properly as noted in the on-screen VA log: 11:47:53.425 ((EDDI docked)) 11:47:53.403 Plugin command : '((EDDI docked))' 11:47:19.779 Recognized : 'deploy landing gear' 11:46:16.533 ((EDDI docking requested))
Lessons learned:
What's Wrong
The EDDI ED events were not being called in VA handlers. Many error log entries of flavor: "inaccessible due to its protection level" upon EDDI attempt to process events.
Expected
VA starts up as it normally does with the EDDI plugin enabled, should see calls to EDDI VA events such as Docking Requested and the like as well as Welcome Commander flavor announcements. This was working fine for years.
Observed
VA reports nominal startup: 9:15:58 PM - Plugin support enabled. 9:15:58 PM - VoiceAttack privileges not elevated. If you are having trouble with key presses, try running as an administrator. 9:16:03 PM - The EDDI plugin is fully operational. 9:16:03 PM - Plugin 'EDDI 4.0.1' initialized.
I can retrieve state data from VA like Commander Name but do not get any of the ED game event VA handlers called. No errors are reported in VA; the events handlers are just not called. [Note: I have never run VA as admin; never had any issues all these years.]
Steps to reproduce
Configuration
My Investigation
I could not find any reference to this problem on the web or here. Only information was from log files as noted below.
Investigation Notes
Checking the EDDI logs, I see a fairly normal startup:
2021-09-18T18:04:05 [Info] VoiceAttackPlugin:VA_Init1 Initialising EDDI VoiceAttack plugin 2021-09-18T18:04:05 [Info] EDDI:.ctor EDDI 4.0.1 starting 2021-09-18T18:04:06 [Warning] StarMapService:SetEdsmCredentials EDSM Responder not configured: API key not set. 2021-09-18T18:04:06 [Info] CargoMonitor:initializeCargoMonitor Initialized Cargo monitor 2021-09-18T18:04:06 [Info] CrimeMonitor:initializeCrimeMonitor Initialized Crime monitor 2021-09-18T18:04:06 [Info] MaterialMonitor:.ctor Initialized Material monitor 2021-09-18T18:04:06 [Warning] StarMapService:SetEdsmCredentials EDSM Responder not configured: API key not set. 2021-09-18T18:04:06 [Warning] StarMapService:SetEdsmCredentials EDSM Responder not configured: API key not set. 2021-09-18T18:04:06 [Info] StarSystemSqLiteRepository:CreateOrUpdateDatabase Starsystem repository schema is version 2 2021-09-18T18:04:06 [Info] MissionMonitor:initializeMissionMonitor Initialized Mission monitor 2021-09-18T18:04:06 [Info] EDDNResponder:.ctor Initialized EDDN responder 2021-09-18T18:04:06 [Warning] StarMapService:SetEdsmCredentials EDSM Responder not configured: API key not set. 2021-09-18T18:04:06 [Info] EDSMResponder:.ctor Initialized EDSM responder 2021-09-18T18:04:06 [Info] ShipMonitor:.ctor Initialized Ship Monitor 2021-09-18T18:04:06 [Info] StatusMonitor:.ctor Initialized Status monitor 2021-09-18T18:04:06 [Warning] StarMapService:SetEdsmCredentials EDSM Responder not configured: API key not set. 2021-09-18T18:04:06 [Info] SpeechResponder:.ctor Initialized Speech responder 2021-09-18T18:04:06 [Info] VoiceAttackResponder:.ctor Started VoiceAttack responder 2021-09-18T18:04:06 [Info] EDDI:.ctor EDDI 4.0.1 initialised 2021-09-18T18:04:06 [Info] EDDI:Start Starting keepalive for EDDP monitor 2021-09-18T18:04:06 [Info] EDDI:Start Starting keepalive for Journal monitor 2021-09-18T18:04:06 [Info] EDDI:Start Starting keepalive for Mission monitor 2021-09-18T18:04:06 [Info] EDDI:Start Starting keepalive for Status monitor 2021-09-18T18:04:06 [Info] EDDI:Start Started EDDN responder 2021-09-18T18:04:06 [Info] EDDI:keepAlive Starting EDDP monitor (0) 2021-09-18T18:04:06 [Info] EDDI:keepAlive Starting Mission monitor (0) 2021-09-18T18:04:06 [Warning] StarMapService:SetEdsmCredentials EDSM Responder not configured: API key not set. 2021-09-18T18:04:06 [Info] EDDI:keepAlive Starting Journal monitor (0) 2021-09-18T18:04:06 [Info] EDDI:Start Started EDSM responder 2021-09-18T18:04:06 [Info] EDDI:keepAlive Starting Status monitor (0) 2021-09-18T18:04:06 [Info] EDDI:Start Started VoiceAttack responder 2021-09-18T18:04:06 [Info] EDDI:Start Started Speech responder 2021-09-18T18:04:06 [Info] JournalMonitor:ParseJournalEntry GameVersion: 3.8.0.104, Build r269978/r0. 2021-09-18T18:04:06 [Info] EDDI:eventFileHeader On live 2021-09-18T18:04:07 [Warning] StarMapService:SetEdsmCredentials EDSM Responder not configured: API key not set. 2021-09-18T18:04:07 [Info] JournalMonitor:ParseJournalEntry Active expansions... Horizons: True, Odyssey: False. 2021-09-18T18:04:07 [Warning] JournalMonitor:ParseJournalEntry Object reference not set to an instance of an object./r/nRaw event:/r/n{ "timestamp":"2021-09-18T17:23:42Z", "event":"Progress", "Combat":100, "Trade":100, "Explore":46, "Empire":100, "Federation":100, "CQC":0 }: {"ClassName":"System.NullReferenceException","Message":"Object reference not set to an instance of an object.","Data":null,"InnerException":null,"HelpURL":null,"StackTraceString":" at EddiJournalMonitor.JournalMonitor.ParseJournalEntry(String line, Boolean fromLogLoad)","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":"8\nParseJournalEntry\nEddiJournalMonitor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\nEddiJournalMonitor.JournalMonitor\nSystem.Collections.Generic.List
1[EddiEvents.Event] ParseJournalEntry(System.String, Boolean)","HResult":-2147467261,"Source":"EddiJournalMonitor","WatsonBuckets":null} 2021-09-18T18:04:07 [Warning] JournalMonitor:ParseJournalEntry Object reference not set to an instance of an object./r/nRaw event:/r/n{ "timestamp":"2021-09-18T17:23:42Z", "event":"Rank", "Combat":8, "Trade":8, "Explore":7, "Empire":14, "Federation":14, "CQC":0 }: {"ClassName":"System.NullReferenceException","Message":"Object reference not set to an instance of an object.","Data":null,"InnerException":null,"HelpURL":null,"StackTraceString":" at EddiJournalMonitor.JournalMonitor.ParseJournalEntry(String line, Boolean fromLogLoad)","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":"8\nParseJournalEntry\nEddiJournalMonitor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\nEddiJournalMonitor.JournalMonitor\nSystem.Collections.Generic.List
1[EddiEvents.Event] ParseJournalEntry(System.String, Boolean)","HResult":-2147467261,"Source":"EddiJournalMonitor","WatsonBuckets":null} 2021-09-18T18:04:07 [Info] VoiceAttackPlugin:VA_Init1 EDDI VoiceAttack plugin initialization completeBut then a slew of runtime binder errors like this first one shown here for ease of reverence:
2021-09-18T18:04:07 [Error] VoiceAttackPlugin:triggerVACommands Failed to trigger local VoiceAttack command ((EDDI va initialized)): {"ClassName":"Microsoft.CSharp.RuntimeBinder.RuntimeBinderException","Message":"'VoiceAttack.VoiceAttackInitProxyClass.Command' is inaccessible due to its protection level","Data":null,"InnerException":null,"HelpURL":null,"StackTraceString":" at CallSite.Target(Closure , CallSite , Object )\r\n at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)\r\n at EddiVoiceAttackResponder.VoiceAttackPlugin.triggerVACommands(Event event, Object& vaProxy)","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":null,"HResult":-2146233088,"Source":"Anonymously Hosted DynamicMethods Assembly","WatsonBuckets":null}
EDDI Logs
See attached for the full log file. eddi1.log
Player journals
Did a Docking Request to trigger that event handler but it was never called in VA.
Journal.210918140536.01.log