Discussion EDDI 2

This is a heads-up that EDDI 2 is on the way.

EDDI started out life as a VoiceAttack plugin, but in fact doesn't have that much interaction with VoiceAttack outside of publishing a large number of variables for use in scripts. As such, the next release of EDDI is moving away from requiring VoiceAttack and runs as a standalone program.

EDDI now acts as a message hub, with monitors that generate messages and responders that act on them. The only monitors in place today are for the netlog and the journal. There is a slightly wider range of responders today, including:

  • A speech responder, which reads scripts for each relevant event
  • An EDSM responder, which sends real-time flight logs to EDSM
  • An EDDN responder, which sends relevant journal entries such as market and outfitting information to EDDN
  • A VoiceAttack responder, which populates VoiceAttack variables with up-to-date values and triggers VoiceAttack events

Events are individual classes (e.g. DockedEvent) and contain well-formatted information using appropriate types and with links to common objects (ships, stations, systems etc) for more detail.

If you are thinking of writing some additional functionality for Elite it might be worth considering using EDDI as the base for your code. It means that you don't have to carry out all of the tedious work of reading log files, formatting them, translating the FD item keys in to sane names, etc. and can instead focus on your own features.

Right now EDDI is under pretty heavy development as it gets ready for the 2.2 release. If you have an idea for a program that uses information from the journal (or elsewhere) and would like to know if EDDI can cut down your development time then feel free to ask away in this thread and I'll let you know if it's possible and of course help you to integrate your idea with EDDI.
 
jgm—are you doing this development privately? I don't see any 2.0 branch in GitHub (and I noticed that the 1.4.0 release was never posted to GitHub).

I understand trepidation (as in your reply in the other thread to sutex) about posting server-side code that hasn't been carefully sanitized and security-checked, but assuming you are planning on open-sourcing EDDI 2, it would be great if you could create a branch (or a new repo if it's an entire rewrite) on GitHub so others could follow along. (Feel free to put big bold "Not ready for use, do not look for releases, try to build yourself, or report bugs" at the top of the README.md—of course, if it were in a non-master branch, it's less likely anyone who might have reasonable expectations will stumble upon it. :) )
 
Last edited:
jgm—are you doing this development privately? I don't see any 2.0 branch in GitHub (and I noticed that the 1.4.0 release was never posted to GitHub).

I understand trepidation (as in your reply in the other thread to sutex) about posting server-side code that hasn't been carefully sanitized and security-checked, but assuming you are planning on open-sourcing EDDI 2, it would be great if you could create a branch (or a new repo if it's an entire rewrite) on GitHub so others could follow along. (Feel free to put big bold "Not ready for use, do not look for releases, try to build yourself, or report bugs" at the top of the README.md—of course, if it were in a non-master branch, it's less likely anyone who might have reasonable expectations will stumble upon it. :) )

It's all sitting in the 'feature/journal' branch at the moment.

And yeah I forgot to tag the 1.4.0 release so it never pushed from develop to master. I'll do that before I finish the journal branch (which will be when I want to push a beta release).
 
It's all sitting in the 'feature/journal' branch at the moment.

Ah, I'm totally blind, I saw the feature/coriolis branch and missed the rest somehow. (Though I would have guessed the "develop" branch would have been the one.)

So sorry about that (especially if it sounded like I was intimating you were closing up development, which I wasn't meaning to but I see it could have sounded that way) and thanks for the reply!
 
jgm - I've been following your 2.0 work on github... very excited about the new features and events. A couple of things...

- As a Rift & VA & HCS Voicepak user, an 'Interdicted' event would be very useful as a VA event for UI panel management. I don't see it in your current list of events... Would you consider adding it?
- When you're ready for beta testers, just say the word, I'd be happy to assist.
 
jgm - I've been following your 2.0 work on github... very excited about the new features and events. A couple of things...

- As a Rift & VA & HCS Voicepak user, an 'Interdicted' event would be very useful as a VA event for UI panel management. I don't see it in your current list of events... Would you consider adding it?
- When you're ready for beta testers, just say the word, I'd be happy to assist.

I'm planning to add all of the events, it's just a case of going through and rationalising them where necessary. Interdiction is a good case in point, where the journal entries are a little over-complex. I've just added interdiction and a few others.

I'm hoping to release a beta version the end of this week; I'll have to see how well internal testing goes.
 
Just like to say I love you man.

Found EDDI 1 not long ago and was playing about making my own little scripts and as soon as I heard that 2.2 was going to have a whole load of new log variables first thing I thought was hoping this was going to get updated
 
In EDDI 2 will there be a way to silence the voice at times? (Not sure if thats in the current version) sometimes I would like EDDI to be quiet other than maybe critical alerts like shields going down or hull etc or completely silent.

When exploring and doing alot of jumps having EDDI telling me the star or that I'm jumping every time can be abit tiresome.
 
In EDDI 2 will there be a way to silence the voice at times? (Not sure if thats in the current version) sometimes I would like EDDI to be quiet other than maybe critical alerts like shields going down or hull etc or completely silent.

When exploring and doing alot of jumps having EDDI telling me the star or that I'm jumping every time can be abit tiresome.

EDDI 2 will have the ability for the user to select which events they want to hear, and to customise them if required.
 
Idea popped in my head about a "Engineering Cookbook"

Im always on the look out for certain materials while out in the black but never remember exactly what.

Would it be possible to make a plugin that anytime a CMDR comes across materials for "recipes" for engineer upgrades they are looking for and voice attack informs them of this

The materials scanned, what upgrades they can be used on ( CMDR selects and prioritises certain recipes)

When all materials gathered can say which engineer can do upgrade & even plot a course there.

I'm not programmer so have no idea if this is even possible but I thought I'd put it out there.

Basically a voice attack plugin for http://collector-drone.one which I use a lot.
 
Last edited:
EDDI 2 will have the ability for the user to select which events they want to hear, and to customise them if required.

i'm new to this whole voice topic; but willing do dive in. In my previous MMos i often saw someone with textmacros, some where bad and annoying others quite entertaining, but they have all the same drawback in common. After you read them for the x time they all become boring. Mostly because of the limitation of the macro system. But randomness would be the key to keep them enjoyable.

So i ask you, have you thought of this ? if not, would it be possible to add ? e.g. that you can add many (at least 10 the more the better) responses for the same event and also configure that an event has only a certain % chance to trigger the response
 
i'm new to this whole voice topic; but willing do dive in. In my previous MMos i often saw someone with textmacros, some where bad and annoying others quite entertaining, but they have all the same drawback in common. After you read them for the x time they all become boring. Mostly because of the limitation of the macro system. But randomness would be the key to keep them enjoyable.

So i ask you, have you thought of this ? if not, would it be possible to add ? e.g. that you can add many (at least 10 the more the better) responses for the same event and also configure that an event has only a certain % chance to trigger the response

Yep that's all in there. There is a scripting system that allows the events to be quite customised. Taking a very simple example of purchasing exploration data, the script is:

Code:
{OneOf("Purchased {OneOf('system', 'exploration')} data for {P(event.system)}",
           "{OneOf('system', 'exploration')} data for {P(event.system)} now available",
           "{Occasionally(3, '{ship.name} has')} Received {OneOf('system', 'exploration')} data for {P(event.system)} from station services",
           "Receipt of {P(event.system)} {OneOf('system', 'exploration')} data confirmed")}.

Which results in one of the following phrases being generated (for system Sol and ship Enforcer):

  • Purchased system data for Sol.
  • Purchased exploration data for Sol.
  • System data for Sol now available.
  • Exploration data for Sol now available.
  • Received system data for Sol from station services. (Triggered 2/3 times this phrase is chosen)
  • Enforcer has Received system data for Sol from station services. (Triggered 1/3 times this phrase is chosen)
  • Received exploration data for Sol from station services. (Triggered 2/3 times this phrase is chosen)
  • Enforcer has Received exploration data for Sol from station services. (Triggered 1/3 times this phrase is chosen)
  • Receipt of Sol system data confirmed.
  • Receipt of Sol exploration data confirmed.

And adding more possible phrases is just a case of expanding the script.
 
Events not being detected

Hey jgm, much thanks for everything. I am going to try to consolidate my post on github here, as it is probably a better place for it.

Reading further into the documentation, and responses here I see that the new EDDI is a bit more self-contained. With that in mind, it is starting to clarify some of my questions about the variables in EDDI vs VoiceAttacks.

That said, I still have one particularly annoying problem:

Several Events do not seem to be detected.

I have tried all manner of combinations, to no avail. No matter what I do, neither the speech responder scripts (set in EDDI GUI), nor any voice attack commands I assign to said events (i.e. ((EDDI docked)) or ((EDDI docking requested)) Run.


On further testing, several of the events are detected (such as Jumping).

I assume this is an internal problem in EDDI? Not sure how else to explain it.

To add a little more specificity (and clarify above):

I'm primarily speaking about EDDI (with voice attack off for now). Under speech responder the "Docked" and "Docking Requested" simply do not run. Above I referrenced the Voice Attack commands ((EDDI docked)), and ((EDDI docking requested)), which also do not run, but for now one problem at a time.
 
Last edited:
Hey jgm, much thanks for everything. I am going to try to consolidate my post on github here, as it is probably a better place for it.

Reading further into the documentation, and responses here I see that the new EDDI is a bit more self-contained. With that in mind, it is starting to clarify some of my questions about the variables in EDDI vs VoiceAttacks.

That said, I still have one particularly annoying problem:

Several Events do not seem to be detected.

I have tried all manner of combinations, to no avail. No matter what I do, neither the speech responder scripts (set in EDDI GUI), nor any voice attack commands I assign to said events (i.e. ((EDDI docked)) or ((EDDI docking requested)) Run.


On further testing, several of the events are detected (such as Jumping).

I assume this is an internal problem in EDDI? Not sure how else to explain it.

To add a little more specificity (and clarify above):

I'm primarily speaking about EDDI (with voice attack off for now). Under speech responder the "Docked" and "Docking Requested" simply do not run. Above I referrenced the Voice Attack commands ((EDDI docked)), and ((EDDI docking requested)), which also do not run, but for now one problem at a time.

Are you running the 2.2 beta of Elite?
 
I am not. I am running v 2.1.05

Oh, and for what it is worth, I attached the eddi log.

Although, given many of the journal additions are new, your post suddenly makes me realize my problems might very well be linked to NOT running the beta...hmm

View attachment 112142r

That will indeed be the problem. With 2.1 the only events available are FSD jumps and entering/leaving supercruise. 2.2 brings the journal log and with it the vast majority of events.
 
Great. I just purchased the beta to give it a go. I'll let you know if I have any similar issues, but otherwise--Thanks! 1 huge problem solved (and likely the source of many of my other woes...)
 
Back
Top Bottom