Comments (3)
Oh one more (technical) additional question:
The captured data, do you draw it directly or is it stored as raw data, so it might even be used for reproduction for example for automated testing of Apps in Virtual Machines and to enable statistical analysis over time?
from mousetracks.
Hey, the tracking is done per application window if a valid executable is detected (got from the AppList.txt
file), or per screen if not. Each resolution is tracked separately as raw values in a numpy array, where the image generation process will upscale everything, merge it together, convert to the RGB values and downscale again (last 2 things may be the other way around, it's been a few years since I've looked at it).
As to your specific cases:
- Remote desktop: The app window tracking only requires an executable file, so that's easily possible.
eg.pcoip_client.exe: Remote Desktop
- Browser tab - It's possible but not so ideal. You can filter the executable file with a window title (you can use
<*>
for a wildcard, v2 will switch to regex).
eg.chrome.exe[Play <*> Stadia<*>]: Google Stadia
) - Toolbox inside app - Won't be possible with my current code.
Also, you mentioned you are working on a next version - any blog/changelog/issue-tracker one can follow?
It's not issues holding me back or anything, it's just that my job involves a lot of coding, so when I finish work I don't have the motivation to do any more haha. I may post on reddit if/when it's done, but I plan to upload an executable of it for a Github release too, so I reckon the best way to follow is just click the watch button and forget about it until something pops up :)
Last question: How Python-specific is it - meaning are you using patterns/functions that are exclusive to Python or do you think it can be ported (halfway easily) to a Rust/WebAssembly/Node/Deno-Combo?
Without knowing the other languages, I would say it could be written in them as the concept itself is quite simple. The save files wouldn't be compatible though as they contain numpy arrays. A wiki post on how it works is something I'd like to do, but I'll wait until v2 is more fleshed out.
The captured data, do you draw it directly or is it stored as raw data, so it might even be used for reproduction for example for automated testing of Apps in Virtual Machines and to enable statistical analysis over time?
Even though it's raw data it can't be used this way, I designed it for visualisation and not accuracy. Since it's meant to be run for months/years on end, the older data is squished down when it reaches a certain threshold, and any new data overwrites the old data.
I added a very basic history feature as I thought it'd be interesting watching an animation, but it's only meant to store a few hours, and there's much better solutions for replaying actions anyway.
from mousetracks.
Wow, this is quite a complete answer to all my questions. Insightful - and i totally understand the difficulty of doing coding privately on top of doing it for business, so no excuses needed, lol. The details you gave will allow me to follow through and grasp the projects internals, so: much thanks for taking the time!
If you don't mind, i'd like to know what environment are you coding and testing in? I prefer to set up a vm/lxc with the preferred/tested host-OS and IDE used by the developer(s) of a project to get a feel for the thought-process/workflow drizzling into the resulting code. If possible please share those details as a reference-frame and feel free to close this issue.
Thank you!
from mousetracks.
Related Issues (20)
- API HOT 1
- Reset held keys when switching profile HOT 1
- Steam Controller Support
- Don't allow unauthorized connections to the API HOT 1
- Error HOT 7
- Track inactivity time HOT 1
- Unicode characters cause crash when saving AppList.txt HOT 1
- Custom tracks per application HOT 1
- Track session length and discard if too short
- Allow profiles to be switched in memory without loading/unloading
- Invalid characters in AppList.txt cause regex crash
- Only load required arrays HOT 1
- Generate images not showing anything? HOT 2
- Lazy load bypasses corrupt file check HOT 1
- I have a big question HOT 9
- Install/run? HOT 1
- One important question HOT 7
- Image.ANTIALIAS python problem [Solved] HOT 3
- AttributeError: `np.float_` was removed in the NumPy 2.0 release. Use `np.float64` instead.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mousetracks.