-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The v0.3.7 release is messed up #29
Comments
Download interception.zip from the link. Read the instructions. Copy the x64 and x86 folder from that zip and paste it inside lib folder of ahi. I am using it and it works. |
@evilC you might want to delete the default interception.dll from the lib folder and instead supply both x64 and x86 folders from interception. Please close the issue. |
I supply the x86 version, because many people, even on x64 systems, just use x86 AHK, because then compiled scripts etc work on all PCs. |
If you recall my pull request #22 I have changed the way AutoHotInterception library loads interception.dll by loading the correct bitness automatically from the x86 and x64 folders inside the Lib folder. Seems like you forgot how it works and added Lib\interception.dll and Lib\x86\interception.dll to v0.3.7 which is both unnecessary and I think violates Interception license (LGPLv3) since you forgot to include the license with the release zip. You also "fixed" (broken) the build event with 9c80a5b by removing my script and restoring yours instead of actually fixing your own workspace like I commented on that exact commit. Alas, I would like to help you sort these little issues out. I have been working on my own fork for quite some time now but I believe it has changed to much to issue a pull request. I would appreciate if you took a look at it and if you want we could work on implementing those changes on this repo. TLDR: ReadME needs a build guide to fix these simple problems and clearer instructions... |
I made the mess, I guess I need to clean it up... I don't see too much in the way of new functionality, only really the concurrency switch, otherwise it just seems to be tweaks to the implementation? There also seems to be a shit-ton of formatting changes (Spaces, line breaks etc) which I guess will make it harder to merge. Do you maybe want to hook up at some point in Discord or something and we can go thru what you have changed? Either I can merge my changes into your branch, or vice versa, depending on what we decide would be best. |
Yeah I would like to integrate those changes into the main repo but as ReSharper got mad and I hate it when it spews yellow warnings I let it do a code cleanup. Well the most significant change as you have said is the concurrency switch with it being off by default meaning the events will be processed in a single thread per subscription opposed to it being multi-threaded with a thread pool. Of course the TestApp is tuned for my specific hardware and it is only testing the concurrency. My problem was when I wanted to use the mouse wheel as a volume controller with it being jittery and jumpy. So after many hours of trying to fix it in AutoHotkey I decided to change the library itself... |
I don't see why mouse wheel would be inherently jittery for volume control? |
OK, so I just sat down to start fixing this mess, but it looks like you beat me to it? |
Oh yeah, and notice my tweaks to the syntax of your build events. |
I didn't really use the media keys to change volume but implemented my own little class for adjusting volume using SoundSet and SoundGet... If you are interested you can take a look here. Since each event is processed in parallel and every time it is handled I get current volume, change it, set modified volume and they weren't synchronized it was failing miserably. That's why I implemented the single-threaded event processing...
Sure, I'll post a reply here when I'm done! |
Okay so it is building successfully once you add the interception dlls. On the side note I think you kinda went overboard with the readmes and that there should be only one build instruction file in the root of the repo. That could be done later on though.
|
One of the points of having it in there was to force the Dependencies folder to exist in the repo. |
@evilC typically the way to do that is to commit a file named eg. |
Should be fixed in 0.4.1 |
If running x64 version of AHK it will fail.
"You should extract both x86 and x64 folders from the library folder in interception.zip into AHI's lib folder."
There is no x64 folder in the zip file, only an x86 one so either need to change how interception searches for dlls or the folder needs to be created (and a 64bit dll placed in it).
There is an "interception.dll" in the base Lib folder inside the zip, unfortunately it also is x86. So there are no x64 dlls included in the current release,
The text was updated successfully, but these errors were encountered: