Release v1.2.0 elgato stream deck button plugin for elite dangerous

Hello!

I have forked DrFr33ze and added some new functionally, largely for explorers like me. The vertical text height is configurable on most new buttons to be adaptive to any button face you may want to use. Some functions haven't been tested as I am a deep space explorer. I don't have a good way to test and troubleshoot a few items (marked as beta in the plugin) as I'm not near any settlements or stations.

New functionality includes a ship status button (18 different functions on this one), planet gravity button (calculated from orbit to surface), planet atmosphere & temp button (temp updates in realtime when onFoot), a new Alert button, fixed and added text adjustment to the Route button, and I included some sample buttons based on Andechs75's Elite Dangerous Button PowerPoint. The original 'Hyperspace & Supercruise' button is depreciated due to better functionality in Ship Status button.

I think the Explorer version adds some things that were missing from the original Elite Dangerous Button from mhwlng, and it works on all StreamDeck products (thanks to DrFr33ze's .Net10 conversion) - I've tested it on StreamDeck +, StreamDeck Virtual, and StreamDeck Mobile.

If you follow the wiki, I also incorporated DrFr33ze's automatic profile switching, but it has to be done on your own build, which can be a pain. I was going to pre-package it into my build, but it has to be built for specific hardware IDs that are unique to the physical hardware. StreamDeck needs to make this more accessible (or I need to figure out a better way to make it work).

Anywhoo, stop by if you want. Version 2.8.0 was just released. o7 CMDRs!


Why is it that when I install this upgrade, all of my custom button images are gone? And when I try to re-establish the file path to my custom button images, it now shows the path to contain "fakepath"?

As soon as I reinstall the original plugin, this issue goes away. Seems to only happen to these newer forked versions.


RESOLVED EDIT: If you're reading this in the distant future, it just required a .NET update.
 
Last edited:
Why is it that when I install this upgrade, all of my custom button images are gone? And when I try to re-establish the file path to my custom button images, it now shows the path to contain "fakepath"?

As soon as I reinstall the original plugin, this issue goes away. Seems to only happen to these newer forked versions.


RESOLVED EDIT: If you're reading this in the distant future, it just required a .NET update.
I was trying to remember what fixed it for me when I saw "fakepath" trying DrFr33ze's as well... And it was when I installed the .NET. Appreciate you sharing and jogging my memory!

Hey, I'm working on some new functionality including keeping the Planet Info active when targeted (not just in orbit / landing), same with Planet Gravity, and I will be including a customizable gravity warning threshold as well. I'm also adding a new Exobiology button that will assist in tracking progress on scans (shows some pips on the button - configurable), and keeps you updated on how far you need to travel before the next scan. I think it's pretty much ready to go, so I should just build it and get it out there. I will be uploading my additional sample buttons as well with the release. o7 CMDR

EDIT: and 3.0.0 is released. I made a note at the top of the Readme that the .NET10 Runtime should be installed and included a link.
 
Last edited:
Hi macrossmerrell

I'm trying for days now but I can't get your plugin running. I''m having problems with the profile switching as well as with getting icons on the buttons (only \fakepath\....) and there is no functionality of the buttons whatsoever. My bindings are custom as required and I've done a lot of installations/deinstallations but nothing is working. I read about .NET 10 and installed the latest version. Still no function of the plugin. It is not even writing a log-file. Any idea what I could have missed?
 
Hi macrossmerrell

I'm trying for days now but I can't get your plugin running. I''m having problems with the profile switching as well as with getting icons on the buttons (only \fakepath\....) and there is no functionality of the buttons whatsoever. My bindings are custom as required and I've done a lot of installations/deinstallations but nothing is working. I read about .NET 10 and installed the latest version. Still no function of the plugin. It is not even writing a log-file. Any idea what I could have missed?
So, I just looked on my rig, and it appears I have the .NET 10 SDK installed, not the runtime. Maybe that's what it requires... Can you try uninstalling the the current version of .Net10 and install the SDK instead and test? If the SDK is the fix, I'll update the readme, and I owe you an apology! But all that being said, the SDK should only be required to build the app, and the Runtime should run it.

Once that is working, I wish you luck on the profile switching. I tried it for a hot minute and moved on without it.

I also have to assume you are running the latest release(s) of Stream Deck software? I'm on the very latest and it's working swimmingly on both my Stream Deck+ and iOS Stream Deck platforms.
 
Last edited:
So, I just looked on my rig, and it appears I have the .NET 10 SDK installed, not the runtime. Maybe that's what it requires... Can you try uninstalling the the current version of .Net10 and install the SDK instead and test? If the SDK is the fix, I'll update the readme, and I owe you an apology! But all that being said, the SDK should only be required to build the app, and the Runtime should run it.
Appreciate your quick response. I tried the runtime first, and installed the SDK afterwards. It didn't help :confused:

And yes, I'm running the latest version of the Stream Deck software.

I even tried to uninstall your fork of the plugin and gave the original a try and suddenly that was showing the same behavior with the \fakepath\ and buttons not working. Very strange as I had the original one working some days ago except the profile switching. After I had a long discussion with Gemini :p (hoping it could give me advice) I stumbled across your fork and was fascinated by the ship status and exploration buttons you created. I definitely want to get it working.

Many thanks.
 
Update: After another long session with Gemini and some more log-file inspections I finally got it working. It's awesome how the buttons reflect the ship state and so on. I'm just struggeling with static buttons as they do not seem to work as expected. I can't assign *.png's the normal way (only via the little dialog in the bottom left button-icon in the Stream Deck customizing section) and some button function is not recognized by the game while some others are. But that might be an issue with my bindings, I have to check.
 
Update: After another long session with Gemini and some more log-file inspections I finally got it working. It's awesome how the buttons reflect the ship state and so on. I'm just struggeling with static buttons as they do not seem to work as expected. I can't assign *.png's the normal way (only via the little dialog in the bottom left button-icon in the Stream Deck customizing section) and some button function is not recognized by the game while some others are. But that might be an issue with my bindings, I have to check.
So, what was your fix to get rid of the fakepath? Something to do with Windows Firewall, your default browser, or Javascript related?

The original developer states Static buttons are essentially an Elgato 'Hotkey' that will 'press' the assigned key in your Elite bindings, so hopefully that's your issue.

To assign an image to a static button, you click the drop-down arrow on the upper-right hand corner of the button and select 'set from file' and browse to your PNG. I just tested it and it worked OK, so the functionality is intact in the current build.
static.png
 
To be honest, I'm not entirely sure what actually fixed the problem. I tried so many of the AI's suggestions :D

I also installed the .NET Desktop Runtime (8.0.27) and then moved all the old log files in the Elite save folder to a backup directory, since the plugin was reading from an old journal file (I found that in the plugin’s log file). Next, there might have been an incorrect entry in the “StartPreset.start” file (which is strange, since I thought this was set automatically when you select a profile in the game). Last thing that made a difference was starting the Stream Deck software only after the game is started.

And suddenly it worked.

Also got the static buttons working with pics (the way you posted above), I'm just missing the heat sink and shield cell function.

I'm a little afraid that when I try to go for automated profile switching, I will screw up all the hard work.

BTW: How do you manage switching profiles when not automated?
 
Last edited:
I'm a little afraid that when I try to go for automated profile switching, I will screw up all the hard work.

BTW: How do you manage switching profiles when not automated?
Instead of using the automated profile switching, as I was afraid to do all the work again, I decided to use folders inside Stream Deck. Some of them using the auto-return feature (i.e. for emotes on foot) and I'm happy with it.

Everything was working as expected but all of a sudden the planet gravity and planet information stopped showing data and the firegoup buttons all showed "disabled".
I tried restarting game and Stream Deck in different orders several times but no changes. All other buttons are ok so far. Any idea?

Update: After flying to another system and scanning planets, all is good again. I suppose it was just that the journal file was missing the proper information. (y)
 
Last edited:
To be honest, I'm not entirely sure what actually fixed the problem. I tried so many of the AI's suggestions :D

I also installed the .NET Desktop Runtime (8.0.27) and then moved all the old log files in the Elite save folder to a backup directory, since the plugin was reading from an old journal file (I found that in the plugin’s log file). Next, there might have been an incorrect entry in the “StartPreset.start” file (which is strange, since I thought this was set automatically when you select a profile in the game). Last thing that made a difference was starting the Stream Deck software only after the game is started.

And suddenly it worked.

Also got the static buttons working with pics (the way you posted above), I'm just missing the heat sink and shield cell function.

I'm a little afraid that when I try to go for automated profile switching, I will screw up all the hard work.

BTW: How do you manage switching profiles when not automated?
Yup, looks like the original author did not include the Shield Cell, Chaff Launcher, Heatsink, or Silent Running. I'll see if I can incorporate their functionality into the Static button. I have a new button fully baked that adds a Heading & Altitude button, so you can have that next to your Lat Long button for the full cockpit feel. I hold off posting that until I see if I can add those features to the Static button.

I'm not using any of the profile switching. I am using an iPad with the Mobile Stream Deck software so I can have lots of buttons and an arrow at the bottom for more screens of buttons. Your idea of using Folders is most excellent!

On my Stream Deck+, I have a rotation wheel set so I can scroll between multiple button screens. That's how I would do it there (or folders).
 
To be honest, I'm not entirely sure what actually fixed the problem. I tried so many of the AI's suggestions :D

I also installed the .NET Desktop Runtime (8.0.27) and then moved all the old log files in the Elite save folder to a backup directory, since the plugin was reading from an old journal file (I found that in the plugin’s log file). Next, there might have been an incorrect entry in the “StartPreset.start” file (which is strange, since I thought this was set automatically when you select a profile in the game). Last thing that made a difference was starting the Stream Deck software only after the game is started.

And suddenly it worked.

Also got the static buttons working with pics (the way you posted above), I'm just missing the heat sink and shield cell function.

I'm a little afraid that when I try to go for automated profile switching, I will screw up all the hard work.

BTW: How do you manage switching profiles when not automated?
Version 3.2.0 Released. Has new Heading and Altitude button and I added the missing Shield Cell, Heat Sink, Chaff, and Silent Running options to the Static Button.
 
Version 3.2.0 Released. Has new Heading and Altitude button and I added the missing Shield Cell, Heat Sink, Chaff, and Silent Running options to the Static Button.
Glad to hear that this was added.

In the meantime, I took the plunge and tried the automatic profile switching, and lo and behold, I got it working :D

I read the original documentation over and over again, and eventually it just clicked :ROFLMAO:

I was even able to create additional profiles (e.g., Elite docked from the original plugin) since the original profiles-code is still included in your fork. If it’s not a problem for you, it would of course be great if you didn’t remove it.

Your work is highly appreciated, many thanks (y)
 
I did a fork off @macrossmerrell and focused on a couple of specific areas
1. Neutron Plots via Spansh. The Stream Deck can automatically plot a route via Spansh, then give you details on each waypoint. There is a function that you can use as part of a multi-action so you can target each waypoint on the journey with a single macro. I've tested it with short and long range ships and jumps and it works great.

2. Navigation Info. If you aren't using the Neutron highwa and just want to know information about your course (eg number of jumps remaining, distance, system names, fuel remaining, etc).

Both buttons are there to help you when you're going for looooong trips :)
Repo here:

@macrossmerrell, Given you also made recent changes and we both have a 3.2.0 build, it might be useful to merge both forks in future :)
 
@macrossmerrell I took the liberty of syncing the forks so my repo now has all of your magical updates added in your 3.2.0. It's a combined 3.3.0 now. Feel free to test it out if you want. I'm happy to raise a PR and have my stuff merged into your project. I'm not sure exactly what else I'd be wanting to add (at this stage) and you're probably already thinking of new stuff :)
 
v4.0.0 Released!
  • Complete replacement of EliteJournalReader with latest version! Now I finally have access to all the Odyssey flags :cool:
    • Coding logic changed so most buttons needed modifications to work.
  • (NEW) On Foot Exploration Button - All the stuff you want to know on foot.
  • (NEW) Advanced Route Button - Lots of details about your current route.
  • (NEW) Odyssey Ship Status Button - Supercruise Assist and Supercruise Overdrive now detected. Some statuses were bugged / beta and are now fixed to properly read the new flag events. Changed the design so you can use just images, or type your own text.
  • Updated - Planet Info Button — Full Atmosphere Display - 3 lines baby!
  • Removed - (Deprecated) Hyperspace Button. No longer relevant so I've removed it entirely. If you were using it, it will be blank now - time to move on to the Odyssey Ship Status Button.
  • Added - some blank color button background images in the EDSI style for inspiration.
Good news is, the upgrade process is the same and nothing should be lost. All my buttons (original and new) worked as expected when I replaced the plugin.

 
Last edited:
Question: Does it work in OpenDeck?
TL;DR - the app would probably need to be rebuilt from the ground up to address differences of core functionality. But, please test it out and let me know :)

From my understanding, Proton converts Win32 calls in realtime to linux, but it would fail due to filesystem differences, potential issues with native Win32 API calls, hard coded bindings location, and GDI+ rendering (which Microsoft dropped from .NET 6 or 7), so chances are slim.
 
Last edited:
Back
Top Bottom