Author Topic: Elite Dangerous Events trigger animatons on virtual dashboard  (Read 9334 times)

Brigetiol

  • Guest
Hi,

I have a virtual dashboard for Elite on a secondary monitor. With Elite Companion App, Voiceattack (cut out with OnTopReplica), and a third display for animgifs. This is how I made my Animgifs connected to Elite events.

This is how it looks like:
http://i.imgur.com/ZBPvLTe.jpg

After checking lots of picviewers, there was two remaining: Irfanview and Honeyview. Irfan has direct controls to step to a specific pic, 9 forward, 9 back. This works very fast. BUT IT TURNS OFF ANIMATIONS AND GOES TO BLANK BLACK, WHEN I START A PROGRAM IN FULL SCREEN MODE!!! So, Honeyview is the winner. With less smooth control to change pics, but still, it is doing the job. I use the controls: First pic, next pic, next folder, prev folder. Global hotkeys are attached with Autohotkey.

Next issue: how to cache the pics to speed up things. Hehe. Good old MS DOS trick: virtual disk in memory. ImDisk Virtual Disk Driver is a free software to do this trick. I created a 256Mbyte virtual disk in the memory for my pics. There are now 130 pics in my collection, roughly 160Mbytes. The handling speed is the same, like if they were all cached in the memory. The fastest, what is possible !

Collecting pics for different events: Giphy.com . Unbelievable huge collection of animgifs!
I have now 12 different events connected with animations:

0_Standby -basic neutral animations for travelling, this is the 'nothing special happening' screen
1_Enter fight -get ready to rumble!
2_bounty awarded - Victory themed gifs
3_docking
4_funny - My EDDI profile, Silvia can say funny-interesting facts
5_goodbye - leaving station
6_hello - entering station
7_joke - Silvia has a huge collection of jokes
8_jumping - FSD jump
9_money - mission complete/commodity sold/etc...
91_red alert - at any warning messages, like interdiction, attacked...
92_rythm - don't know yet, they are looped dance moves, maybe at changing radio channel...
93_weather - Silvia has some weather reports too

I have these folders, in each folder, there are 9 different animgifs, and a blank black pic, at the first place (0black.jpg). It makes faster the directory changes, when I have to step one by one to the 9th-12th directory.

In VoiceAttack, I made a script to handle all this, there are commands which can be attached to an EDDI event. Currently, it is adjusted to display the animations for 5 secs, then returns to the standby directory, and selects a random pic. At each call, it shows a random picture from the actual directory. To avoid repeating, I adjusted it to remember the last picture in each directory (except for Standby), and it will select for sure a different one.

So a step-by-step solution would look like this:

1. Install Honeyview

http://www.bandisoft.com/honeyview/

-in Configurations/View, remove all menus, bars, toolbars, borders..., change default background color to black
-Config/Image processing, Page turning effect to No effect. Because it is the fastest.
-Config/Keyboard, set Enter to Next image, Esc to Previous Image, Space to Next Folder, Backspace to previous Folder, Tab to First Image
-Config/misc, UNCHECK adjust window size to image
-View image (right click on the picture), Stretch small images check, Fit to window check
-Also check No filter for the images, because it is fast.
-then move the window to your secondary monitor, adjust the size, width, height, position, the program will remember at the next start.
-I hope, that is all, but I may missed something. Feel free to ask!

2. Create the above mentioned directory structure

-for example in .../My Pictures/Elite/ on your HDD
-put a simple black jpg into each of them, make sure, that the name starts with 0(zero), so that one will be the first file.

3. Install ImDisk Virtual Disk Driver

http://www.ltr-data.se/opencode.html/#ImDisk

-Create virtual drive in the memory, as large as you need. Mine is 256Mbytes.

4. Collect Animgifs

https://giphy.com/

-Try to select ones, which are smaller than 2Mbytes, preferably around 1Mb. The smaller the files, the faster and more stable will things work.
-Put them into the folder they belong, I renamed all to like: Hello1, Hello2, etc. based on the events they are connected to.
-Test all your pics in Honeyview, there are sometimes ones with some issues (wrong speed, not able to read...), then find some other one. There is a huge collection.
-When finished, copy your folders to the virtual memory disk. At this moment, I have to repeat the 'create virtual disk-copy folders to it' process at each startup, but I am sure, it can be automatized with a batch file.
-In Honeyview, open an image from the Standby directory (from the virtual disk), preferably not the empty black one. I couldn't find a way yet to automatize this, so it has to be done manually at startup.

5. Install AutoHotKey

https://autohotkey.com/download/

Here is the script what I use:
Quote
SetTitleMatchMode, 2

^!1::next() ;next pic
^!2:rev() ;prev pic
^!5::fpic() ;first pic
^!3::nfol() ;next folder
^!4:fol() ;prev folder

next()
{ControlSend,,{Enter}, Honeyview
}
prev()
{ControlSend,,{Esc}, Honeyview
}
fpic()
{ControlSend,,{Tab}, Honeyview
}
nfol()
{ControlSend,,{Space}, Honeyview
}
pfol()
{ControlSend,,{BS}, Honeyview
}

-Create file, for example Honeview.ahk in Notepad containing the script above, save wherever you want, mine is in C:/ root folder
-theoretically a double-click will load it

6. Start VoiceAttack Profile

-Fingers crossed, start testing with the voice commands, f.e.: Honeyview Bounty. It should go from the Standby directory to the Bounty folder (2 steps forward, so sequence of directories is important!). I each VA event command it is adjusted, how many steps is needed to go to the specified directory. It will show a random animation selected from the 9 GIFs for 5 seconds, then returns to the Standby directory.
-If it gets lost, try to increase the delays in the Next pic/prev pic/next folder/prev folder VA commands
-If it works, import the commands to your VA profile, attach them to the EDDI events, enjoy!

IMPORTANT NOTE! This is Version 0.01! I'm a mechanical engineer, not a Programming Wizard! I'm just happy, that I had an idea, and could make it work somehow. So, if you like the idea and you have the skills to improve it, then Rock 'n Roll, lets do it!

Best regards!

Brigetiol

  • Guest
Re: Elite Dangerous Events trigger animatons on virtual dashboard
« Reply #1 on: June 20, 2017, 02:27:02 AM »
Hi,

small modifications. For some reason, after a while VA got a bit confused and slowed down. I tried to make it more stable with a few ideas:

-I increased the delays
-modified the directory structure. Now Standby is the 7th dir (so it is the in middle), instead of first. This way now I just need to make a maximum of 6 steps to the more 'distant' folder. Still quite fast, even with the increased delays.
-I found an extension for ImDisk, called ImDisk Toolkit, it can automatically initialize the RAMDisk at PC startup, and copy the desired folders to it.

Still testing, testing....

Best regards!

Brigetiol

  • Guest
Re: Elite Dangerous Events trigger animatons on virtual dashboard
« Reply #2 on: June 21, 2017, 05:27:46 AM »
Hi,

things are more simplified, since I realized, that my keyboard is not a standard one, so I succeeded to make  Honeyview's built in Random Image to work. In Honeyview at Config/Keyboard I attached DEL to Next random picture, instead of ctrl+alt+fn+down.

Because the built-in Random image function will pick any of the files in the actual directory, but I still need a small .jpg as first file, to be able to change directories quickly, it happened sometimes, that the random animation was a blank black picture. No problemo, I created a 'title picture' for all of the folders (filename starts still with 0(zero)!), just simple black background, and some text, like in case of RedAlert, text is: Wake up! Size is 20Kbytes. So I still can change dirs (very) fast, and I don't get an empty black pic.

There is an additional advantage too: I can use not just 9 animgifs in the folders, but I CAN USE AS MANY AS I WANT! And I haven't measured, but from the Standby animation, when an event happens, the animgif for that starts to play in appr 0,5sec!

Regarding Animgifs: I still prefer to use small ones, maximum 2Mbytes.
There is an online animgif optimizer at:

https://ezgif.com/optimize

It can also resize/crop/modify animgifs, a very good app.

Autohotkey script:

Quote
SetTitleMatchMode, 2

^1::next() ;next pic
^2::prev() ;prev pic
^3::nfol() ;next folder
^4::pfol() ;prev folder
^5::fpic() ;first pic
^9::nxtrndpic() ;next rnd pic

next()
{ControlSend,,{Enter}, Honeyview
}
prev()
{ControlSend,,{Esc}, Honeyview
}
fpic()
{ControlSend,,{Tab}, Honeyview
}
nfol()
{ControlSend,,{Space}, Honeyview
}
pfol()
{ControlSend,,{BS}, Honeyview
}
nxtrndpic()
{ControlSend,,{Del}, Honeyview
}

Best regards!


sutex

  • Jr. Member
  • **
  • Posts: 91
Re: Elite Dangerous Events trigger animatons on virtual dashboard
« Reply #3 on: July 16, 2017, 06:45:36 PM »
WOW... the things people think up. Any chance of a video

I take it all this works only for 2nd monitor,  would luv some focus on those using Single screen ,with Tablets as 2nd and 3rd screens. no-idea if that's possible.

Brigetiol

  • Guest
Re: Elite Dangerous Events trigger animatons on virtual dashboard
« Reply #4 on: July 17, 2017, 01:12:58 AM »
Hi,

Good news: works on single monitor! It needs the OnTopReplica software (it is free).

https://github.com/LorenzCK/OnTopReplica

There is a quite good description about the setup there, but if you get stuck somewhere, feel free to ask for help :) !

Regarding Androids, it is also possible to make it work there: with the Spacedesk software:

http://spacedesk.ph/

It is a 2nd PC screen emulator for Android. At the moment, it is in beta state, and it is free. I used it for a while, I had no issues with it. There are also lots of 2nd screen emulators for Android for a few bucks.

This is all I can do, because I have a very minimal programming knowledge, I'm just trying to "wire" things together, for fun :) .

If you are interested to try it, I have now a simplified version, which works during the game quite well. Still WIP, but there is a complete package, I have now a Dropbox account, so I can make for you a "starter package", and you can modify it to your taste. Because I am not a programmer, I am not able to make a fully "plug-and-play" stuff, it will need some work to make it alive.

If there is someone out there who has higher programming skills and finds this idea interesting, maybe looking for a good challenge, I would be happy to work together and make a more compact, "ready to use" version. To tell you the truth, this was my secret intension: I had an idea, I wanted to see, if it possible to realize it, and I was curious to see, how it works in reality. Now I have a complicated way as it works, but it works! Using it during game is fun? Definitely! As the current version works, I personally enjoy it very much, but my skills are limited to make huge steps forward :) .

Best regards! 

sutex

  • Jr. Member
  • **
  • Posts: 91
Re: Elite Dangerous Events trigger animatons on virtual dashboard
« Reply #5 on: July 17, 2017, 09:29:31 AM »
Awesome ,  http://spacedesk.ph/download/

It's 1am , more Awesome tomorrow , and dropbox link would be great :)

Brigetiol

  • Guest
Re: Elite Dangerous Events trigger animatons on virtual dashboard
« Reply #6 on: July 17, 2017, 01:20:12 PM »
Hi Sutex,

The link:

https://www.dropbox.com/sh/pieq8wt3holhx38/AABmOdFz4GBrRfxv3kIOKY2Ba?dl=0

Full EDDI profile
Full VA profile
Autohotkey script
Animgifs

I wanted to explain, how to use the whole thing, but it is larger than I've thought. So this is what I can present to you quickly, I will make a short version, just regarding the Animgif Thingy in the near future. At this moment I am quite busy with real life things, to be honest. I hope, this collection can give you at least some ideas.
Hardcore coding stuff was mainly done by Darkcyde (EDDI) and Ishmair (VA), and many others from the forums, I just re-mixed them. My only strength is to have insane ideas :) .

Best regards!