Release EDDI - Windows app for immersion and more

Status
Thread Closed: Not open for further replies.
Okay, so if you look at the script for in the speech responder for the Docking granted event it starts like this:

Code:
{set station to StationDetails(event.station)}

StationDetails() is a function that pulls the station details out of EDDB (well, a server that frontends EDDB with an API because themroc is allergic to REST, but hey). It returns a Station object. The problem with trying to incorporate this in to VoiceAttack is two-fold. First, there's no way of VoiceAttack running these ad-hoc functions and being able to return data. Second, even if it could then the question is how to return the data, as it's an entire object. Flattening it is one of the problems I was talking about that requires lots of work in VoiceAttack because it just doesn't have any idea of arrays or dictionaries, or anything else that would allow a complex object.

These are the types of issues that led me to give up on using VoiceAttack as the primary scripting language for EDDI. It just isn't designed with these complex use cases in mind.

Understood, thanks.

Is there any method within the Cottle speech responder scripts to save any variable within the Event object (such as event.station, event.landingpad) to a non-volatile variable that persists outside that particular event script and can be used within other event scripts or user written Cottle scripts. If so, this is not clear to me in Cottle documentation.

Again, I would happily dump VA script (other than simple keypress commands) for the speech responder.
 
Last edited:
EDDI 2.0.11 is now available. The reason for the release is to fix some of the undocumented changes that went in to the latest Elite patch, but there are a few other minor features as well. The changelog is:

  • Further fixes for renamed and missing fields in 2.2.02
  • Add "log out" option for companion API tab in UI
  • Provide internal Nullable values in VoiceAttack
  • Update VoiceAttack documentation with new variables
  • Credentials are removed on EDDI uninstall
 
I installed EDDI 2.0.11 as best as I can confirm. "Tell me about this system" no longer gives a response.

I did not remove all the old EDDI commands from my profile, however I overwrote the old conflicts.
 
I just uploaded the log. I also just installed the new EDDI version and the issue still persists. Thank you for your time.

It sounds like your ship configuration has become corrupted somehow. Please could you PM me a copy of your %APPDATA%\EDDI\ships.json file? You can then remove this file and try again.
 
I installed EDDI 2.0.11 as best as I can confirm. "Tell me about this system" no longer gives a response.

I did not remove all the old EDDI commands from my profile, however I overwrote the old conflicts.

I just tested this with a fresh 2.0.11 install and it works. Note that the spoken command is "system report", so it's possible that you are triggering an old command lying around that doesn't reference the new system report speech.
 
I just tested this with a fresh 2.0.11 install and it works. Note that the spoken command is "system report", so it's possible that you are triggering an old command lying around that doesn't reference the new system report speech.
I'll follow your instructions in the previous message. This morning when I try either command it responds just "damage check".
 
I'll follow your instructions in the previous message. This morning when I try either command it responds just "damage check".

If it still doesn't work after you've installed the updated eddi commands please PM me a copy of your VoiceAttack profile and I'll see what I can find.
 
jgm,

FYI, 2.0.11 resolved both the docking event and 'EDDI ship refuelled total' after scooping issues I was experiencing. To the extent of my typical game play, EDDI is working just fine.

Thanks for all your efforts.
 
Experiencing something new and I'm sure it's my coding based on EDDI 1.4. This is my old Voiceattack command to get the EDDI voice to say "Aye sir" after I issue a custom "clear the pad" command but now EDDI simply seems to repeat my last valid command back to me:

Set Text [clear the pad script] to 'Aye Sir!'
Execute external plugin, 'EDDI 2.0.11' and wait for return
Press R key and hold for 4.5 seconds and release
Pause 0.08 seconds
Press L key and hold for 0.08 seconds and release
Set Text [clear the pad script] to 'helm is yours sir'
Execute external plugin, 'EDDI 2.0.11' and wait for return

What should the correct syntax be now?
 
Experiencing something new and I'm sure it's my coding based on EDDI 1.4. This is my old Voiceattack command to get the EDDI voice to say "Aye sir" after I issue a custom "clear the pad" command but now EDDI simply seems to repeat my last valid command back to me:

Set Text [clear the pad script] to 'Aye Sir!'
Execute external plugin, 'EDDI 2.0.11' and wait for return
Press R key and hold for 4.5 seconds and release
Pause 0.08 seconds
Press L key and hold for 0.08 seconds and release
Set Text [clear the pad script] to 'helm is yours sir'
Execute external plugin, 'EDDI 2.0.11' and wait for return

What should the correct syntax be now?

The context in the "Execute external plugin" command should be "say" (without the quotes) and the text variable should be Script in both the Set Text command and the plugin call.
 
Just a quick one

Using VA, I would like to have the option of silencing EDDI response on some events (by using a small integer compare). Specifically when jumping (so when I'm in TS I can follow the live chat). Now my profile recognises ((EDDI: Jumping)) but I cannot see where to enter the integer value compare as this read log event has no obvious trigger other than the event itself.

I'm sure this has been addressed previously, I am however having difficulty fining it in the threads

Thanks in advance

Carlos
 
Just a quick one

Using VA, I would like to have the option of silencing EDDI response on some events (by using a small integer compare). Specifically when jumping (so when I'm in TS I can follow the live chat). Now my profile recognises ((EDDI: Jumping)) but I cannot see where to enter the integer value compare as this read log event has no obvious trigger other than the event itself.

I'm sure this has been addressed previously, I am however having difficulty fining it in the threads

Thanks in advance

Carlos

To do this I've made two commands in VA. The first, "Eddi shut up" sets an integer called SilentEddi to 1 and the second, "Eddi speak up" sets it to 0. In my VA command ((EDDI Jumping")) I've made a integer compare that, when SilentEddi does not equal 1 calls the EDDI plugin with Script is "Jumping Full".
In Eddies Speechresponder I made a new script called "Jumping Full" and just copied the contents of "Jumping" to "Jumping Full" and unchecked "Jumping".
 
Last edited:
The context in the "Execute external plugin" command should be "say" (without the quotes) and the text variable should be Script in both the Set Text command and the plugin call.

Thank you. I also had to change the set text commands to the Script variable. It works fine now. I ended up with this:

Set Text [Script] to 'Aye Sir!'
Execute external plugin, 'EDDI 2.0.11' and wait for return
Press R key and hold for 4.5 seconds and release
Pause 0.08 seconds
Press L key and hold for 0.08 seconds and release
Set Text [Script] to 'helm is yours sir'
Execute external plugin, 'EDDI 2.0.11' and wait for return

Many thanks!
 
To do this I've made two commands in VA. The first, "Eddi shut up" sets an integer called SilentEddi to 1 and the second, "Eddi speak up" sets it to 0. In my VA command ((EDDI Jumping")) I've made a integer compare that, when SilentEddi does not equal 1 calls the EDDI plugin with Script is "Jumping". In Eddies Speechresponder I've unchecked "Jumping".

I like where you're going with this but I have another solution.

Use the silent_EDDI small variable (or Boolean) and for each event you would like to silence, put a conditional block in each (EDDI event)) where the plugin call 'shutup' is invoked if the conditional block is true... no need to uncheck speech responder boxes. This would work for Jumping, Jumped, Docked, Docking granted, etc... as long as you have the conditional block in each VA event, that is.

Going to try this when I get home! Good stuff!
 
Last edited:
To do this I've made two commands in VA. The first, "Eddi shut up" sets an integer called SilentEddi to 1 and the second, "Eddi speak up" sets it to 0. In my VA command ((EDDI Jumping")) I've made a integer compare that, when SilentEddi does not equal 1 calls the EDDI plugin with Script is "Jumping". In Eddies Speechresponder I've unchecked "Jumping".
Thanks for that. So although you unchecked Eddis speech responder for jumping, you can still call it via VA by executing the plugin with script "jumping" lowercase "j"?
 
.... where the plugin call 'shutup' is invoked ...

Not at my PC now so I can't try it but I think the plugin call 'shutup' stops all active Eddi speech so that would kill the Jumping speech while it's active and you'ld have to say it at every jump. But sometimes I don't want it to even start so, in my case, it keeps the Jumping silent until I tell it to speak up again.
 
Thanks for that. So although you unchecked Eddis speech responder for jumping, you can still call it via VA by executing the plugin with script "jumping" lowercase "j"?

Yes. When you call it via VA it executes. The reason I uncheck the Jumping event in the speechresponder is because otherwise it will play two times at once, one from being called via VA and one from the event itself.


UPDATE: I must have been sleepy and not at my PC. Not a good combination because when I checked this morning I noticed my answer was wrong. I don't call "Jumping" in my VA command ((EDDI jumping)) but I call "Jumping Full". In Eddies Speechresponder I made a new script called "Jumping Full" and just copied the contents of "Jumping" to "Jumping Full" and unchecked "Jumping".
Now when I jump the VA command ((EDDI jumping)) is executed but the script "Jumping" isn't because it's unchecked. Instead the script "Jumping Full" is executed when SilentEddi does not equal 1.
 
Last edited:
Not at my PC now so I can't try it but I think the plugin call 'shutup' stops all active Eddi speech so that would kill the Jumping speech while it's active and you'ld have to say it at every jump. But sometimes I don't want it to even start so, in my case, it keeps the Jumping silent until I tell it to speak up again.

Pretty sure it only stops the current speech reposnder event... if you have multiple events queued up, you have to 'shutup' each one.

My guess (Jim can correct me if I'm wrong) is that a Journal event invokes both the Speech & Voice Attack Responders. If the VA ((EDDI event)) has a 'shutup' plugin call, it will (should? Might?) act on the incoming associated speech responder event.

i will also give this a go on my computer and report back
 
Status
Thread Closed: Not open for further replies.
Back
Top Bottom