tlewis17 / MSFSTouchPortalPlugin

The goal of this repository is to create a connection between Touch Portal and MSFS through SimConnect in order to allow users to create buttons to control or view data for your aircraft. While this is for MSFS, in theory it could be used with other SimConnect compatible games.
MIT License
61 stars 9 forks source link

Add "On Hold" (repeating) actions feature; Also with new TP Settings support. #49

Closed mpaperno closed 2 years ago

mpaperno commented 2 years ago

Changes are best reviewed by individual commit.

My main goal was to add repeating actions, so for example I can just hold down my Alt. Adjust bug button until I get to my value, instead of repeated presses. The first 3 commits do that, with a preset repeat delay rate (450ms).

But a set rate is limited (too fast for some things, too slow for others) so I decided to add a Setting for it that the user can control and would persist between runs. Long story short, this is how the other 2 commits happened, adding overall support for TP Settings. It's not ideal combining changes like this and I can certainly break things up more (I have everything on separate branches) but with all the other changes/PRs this is getting quickly confusing and interdependent.

On that note, this version is going to have 2 minor conflicts with one or two of the other pending PRs I submitted. Once those are decided (merged or not), I can rebase this branch on top to ensure no conflicts. It would be better to get those others out of the way before merging this one, hence I'm marking it as a Draft for now. But I wanted to get the review/comments flowing.

Thanks! -Max

mpaperno commented 2 years ago

I have consolidated and published all the changes so far (including my other PRs) on my fork's main branch: https://github.com/mpaperno/MSFSTouchPortalPlugin/tree/mp/main

This includes the updated DOCUMENTATION and CHANGELOG

I also have made a Release v0.5.4-mp of all the changes for others to test with: https://github.com/mpaperno/MSFSTouchPortalPlugin/releases

mpaperno commented 2 years ago

I think this looks pretty good, only had one conflicting line. I haven't tested this particular version (in the middle of a bunch of other changes) but it looks clean to me.

I have 2 more commits in my main branch which would sync us up, if you're interested (I can PR or you can cherry pick): [SimConnectService] Add optional debug "harness" for diagnosing failed requests to SimConnect. This helped me diagnose "UNKNOWN ID" and "UNKNOWN NAME" error messages SimConnect was responding with sometimes... otherwise there's no way to find out what caused the error response. Update project files, mostly for specific x64 build vs. AllCPU. Fix publish.ps1 not respecting $DistFolderPath in some cases. Just build stuff, and obviously the version number would now be old. I wanted to target x64 specifically.

And whoops, just realized I forgot a change to the logging which I forgot to PR... coming up.

Thanks, -Max

mpaperno commented 2 years ago

I'll submit PRs and request/wait for reviews before merging anything, unless you tell me otherwise :)

tlewis17 commented 2 years ago

There are some conflicts that need to be resolved.

mpaperno commented 2 years ago

There are? GH says no conflicts...? I haven't checked with actual git.

tlewis17 commented 2 years ago

Weird, it shows for me: This branch cannot be rebased due to conflicts

mpaperno commented 2 years ago

I see that also if I select the Rebase & Merge option. But the "Merge pull request" is green and OK. I've never actually used that GH feature... on GH I usually just Merge (or sometimes Squash & merge). Rebasing is for a "real" UI :) Do you prefer one over the other?

mpaperno commented 2 years ago

Something strange is going on... my git just hangs when trying to merge this branch into the current !release/1.0, and so does a rebase of this branch onto !release. I'm tempted to push the GH Merge button just to see what happens... :)