Giter Site home page Giter Site logo

autosplit's People

Contributors

avasam avatar faschz avatar kadiwa4 avatar moliman avatar ontwikseltsaar avatar tischel avatar toufool avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

autosplit's Issues

[Linux] No module named 'win32'

Error:

Traceback (most recent call last):
  File "/home/gamebuster/Desktop/autosplit/AutoSplit/scripts/../src/AutoSplit.py", line 20, in <module>
    import error_messages
  File "/home/gamebuster/Desktop/autosplit/AutoSplit/src/error_messages.py", line 13, in <module>
    from utils import FROZEN, GITHUB_REPOSITORY
  File "/home/gamebuster/Desktop/autosplit/AutoSplit/src/utils.py", line 14, in <module>
    from win32 import win32gui
ModuleNotFoundError: No module named 'win32'

I recently updated from a 2.0.0 alpha version to 2.0.0.

I ran ./scripts/install.ps1, and all requirements are satisifed. (output below)

PS /home/gamebuster/Desktop/autosplit/AutoSplit> ./scripts/install.ps1
Requirement already satisfied: wheel in /usr/local/lib/python3.10/dist-packages (0.40.0)
Requirement already satisfied: pip in /usr/local/lib/python3.10/dist-packages (23.1.1)
Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (67.7.2)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Collecting keyboard (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 15))
  Cloning https://github.com/boppreh/keyboard.git to /tmp/pip-install-93xoz959/keyboard_e272845e98e44d40ae0f80ef3932162c
  Running command git clone --filter=blob:none --quiet https://github.com/boppreh/keyboard.git /tmp/pip-install-93xoz959/keyboard_e272845e98e44d40ae0f80ef3932162c
  Resolved https://github.com/boppreh/keyboard.git to commit d232de09bda50ecb5211ebcc59b85bc6da6aaa24
  Preparing metadata (setup.py) ... done
Ignoring pygrabber: markers 'sys_platform == "win32"' don't match your environment
Ignoring pywin32: markers 'sys_platform == "win32"' don't match your environment
Ignoring winsdk: markers 'sys_platform == "win32"' don't match your environment
Ignoring D3DShot: markers 'sys_platform == "win32"' don't match your environment
Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 13)) (2022.12.7)
Requirement already satisfied: ImageHash>=4.3.1 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 14)) (4.3.1)
Requirement already satisfied: numpy>=1.23.2 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 16)) (1.24.3)
Requirement already satisfied: opencv-python-headless>=4.6 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 17)) (4.7.0.72)
Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 18)) (23.1)
Requirement already satisfied: Pillow>=9.2 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 19)) (9.5.0)
Requirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 20)) (5.9.5)
Requirement already satisfied: PyAutoGUI in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 21)) (0.9.53)
Requirement already satisfied: PyQt6>=6.4.0 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 24)) (6.5.0)
Requirement already satisfied: requests<=2.28.1 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 25)) (2.28.1)
Requirement already satisfied: toml in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 26)) (0.10.2)
Requirement already satisfied: pyinstaller>=5.5 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 29)) (5.10.1)
Requirement already satisfied: pyinstaller-hooks-contrib>=2022.9 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 30)) (2023.2)
Requirement already satisfied: PySide6-Essentials>=6.4.0.1 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 31)) (6.5.0)
Requirement already satisfied: bandit in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 10)) (1.7.5)
Requirement already satisfied: flake8>=6 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 11)) (6.0.0)
Requirement already satisfied: flake8-builtins in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 12)) (2.1.0)
Requirement already satisfied: flake8-bugbear in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 13)) (23.3.23)
Requirement already satisfied: flake8-class-attributes-order in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 14)) (0.1.3)
Requirement already satisfied: flake8-comprehensions>=3.8 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 15)) (3.12.0)
Requirement already satisfied: flake8-datetimez in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 16)) (20.10.0)
Requirement already satisfied: flake8-noqa>=1.3.0 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 17)) (1.3.1)
Requirement already satisfied: flake8-pyi>=22.11.0 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 18)) (23.4.1)
Requirement already satisfied: flake8-simplify in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 19)) (0.20.0)
Requirement already satisfied: pep8-naming in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 20)) (0.13.3)
Requirement already satisfied: pylint<3.0.0,>=2.14 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 21)) (2.17.3)
Requirement already satisfied: add-trailing-comma>=2.3.0 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 23)) (2.4.0)
Requirement already satisfied: autopep8>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 24)) (2.0.2)
Requirement already satisfied: isort in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 25)) (5.12.0)
Requirement already satisfied: unify in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 26)) (0.5)
Requirement already satisfied: types-d3dshot in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 32)) (0.1.0.5)
Requirement already satisfied: types-keyboard in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 33)) (0.13.2.7)
Requirement already satisfied: types-Pillow in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 34)) (9.5.0.1)
Requirement already satisfied: types-psutil in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 35)) (5.9.5.12)
Requirement already satisfied: types-PyAutoGUI in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 36)) (0.9.3.5)
Requirement already satisfied: types-pyinstaller in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 37)) (5.10.0.0)
Requirement already satisfied: types-pywin32 in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 38)) (306.0.0.1)
Requirement already satisfied: types-requests in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 39)) (2.28.11.17)
Requirement already satisfied: types-toml in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 40)) (0.10.8.6)
Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from -r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 41)) (4.5.0)
Requirement already satisfied: PyWavelets in /usr/local/lib/python3.10/dist-packages (from ImageHash>=4.3.1->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 14)) (1.4.1)
Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from ImageHash>=4.3.1->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 14)) (1.10.0)
Requirement already satisfied: pymsgbox in /usr/local/lib/python3.10/dist-packages (from PyAutoGUI->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 21)) (1.0.9)
Requirement already satisfied: PyTweening>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from PyAutoGUI->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 21)) (1.0.4)
Requirement already satisfied: pyscreeze>=0.1.21 in /usr/local/lib/python3.10/dist-packages (from PyAutoGUI->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 21)) (0.1.28)
Requirement already satisfied: pygetwindow>=0.0.5 in /usr/local/lib/python3.10/dist-packages (from PyAutoGUI->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 21)) (0.0.9)
Requirement already satisfied: mouseinfo in /usr/local/lib/python3.10/dist-packages (from PyAutoGUI->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 21)) (0.1.3)
Requirement already satisfied: python3-Xlib in /usr/local/lib/python3.10/dist-packages (from PyAutoGUI->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 21)) (0.15)
Requirement already satisfied: PyQt6-sip<14,>=13.4 in /usr/local/lib/python3.10/dist-packages (from PyQt6>=6.4.0->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 24)) (13.4.0)
Requirement already satisfied: PyQt6-Qt6>=6.5.0 in /usr/local/lib/python3.10/dist-packages (from PyQt6>=6.4.0->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 24)) (6.5.0)
Requirement already satisfied: charset-normalizer<3,>=2 in /usr/local/lib/python3.10/dist-packages (from requests<=2.28.1->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 25)) (2.1.1)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3/dist-packages (from requests<=2.28.1->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 25)) (3.3)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3/dist-packages (from requests<=2.28.1->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 25)) (1.26.5)
Requirement already satisfied: setuptools>=42.0.0 in /usr/local/lib/python3.10/dist-packages (from pyinstaller>=5.5->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 29)) (67.7.2)
Requirement already satisfied: altgraph in /usr/local/lib/python3.10/dist-packages (from pyinstaller>=5.5->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 29)) (0.17.3)
Requirement already satisfied: shiboken6==6.5.0 in /usr/local/lib/python3.10/dist-packages (from PySide6-Essentials>=6.4.0.1->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 31)) (6.5.0)
Requirement already satisfied: GitPython>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from bandit->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 10)) (3.1.30)
Requirement already satisfied: PyYAML>=5.3.1 in /usr/lib/python3/dist-packages (from bandit->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 10)) (5.4.1)
Requirement already satisfied: stevedore>=1.20.0 in /usr/local/lib/python3.10/dist-packages (from bandit->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 10)) (4.1.1)
Requirement already satisfied: rich in /usr/local/lib/python3.10/dist-packages (from bandit->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 10)) (13.3.4)
Requirement already satisfied: mccabe<0.8.0,>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from flake8>=6->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 11)) (0.7.0)
Requirement already satisfied: pycodestyle<2.11.0,>=2.10.0 in /usr/local/lib/python3.10/dist-packages (from flake8>=6->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 11)) (2.10.0)
Requirement already satisfied: pyflakes<3.1.0,>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from flake8>=6->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 11)) (3.0.1)
Requirement already satisfied: attrs>=19.2.0 in /usr/local/lib/python3.10/dist-packages (from flake8-bugbear->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 13)) (22.2.0)
Requirement already satisfied: astor>=0.1 in /usr/local/lib/python3.10/dist-packages (from flake8-simplify->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 19)) (0.8.1)
Requirement already satisfied: platformdirs>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from pylint<3.0.0,>=2.14->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 21)) (2.6.2)
Requirement already satisfied: astroid<=2.17.0-dev0,>=2.15.4 in /usr/local/lib/python3.10/dist-packages (from pylint<3.0.0,>=2.14->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 21)) (2.15.4)
Requirement already satisfied: tomlkit>=0.10.1 in /usr/local/lib/python3.10/dist-packages (from pylint<3.0.0,>=2.14->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 21)) (0.11.6)
Requirement already satisfied: dill>=0.2 in /usr/local/lib/python3.10/dist-packages (from pylint<3.0.0,>=2.14->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 21)) (0.3.6)
Requirement already satisfied: tomli>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from pylint<3.0.0,>=2.14->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 21)) (2.0.1)
Requirement already satisfied: tokenize-rt>=3.0.1 in /usr/local/lib/python3.10/dist-packages (from add-trailing-comma>=2.3.0->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 23)) (5.0.0)
Requirement already satisfied: untokenize in /usr/local/lib/python3.10/dist-packages (from unify->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 26)) (0.1.1)
Requirement already satisfied: types-PyScreeze in /usr/local/lib/python3.10/dist-packages (from types-PyAutoGUI->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 36)) (0.1.0.7)
Requirement already satisfied: types-setuptools in /usr/local/lib/python3.10/dist-packages (from types-pyinstaller->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 37)) (67.7.0.0)
Requirement already satisfied: types-urllib3<1.27 in /usr/local/lib/python3.10/dist-packages (from types-requests->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 39)) (1.26.25.10)
Requirement already satisfied: lazy-object-proxy>=1.4.0 in /usr/local/lib/python3.10/dist-packages (from astroid<=2.17.0-dev0,>=2.15.4->pylint<3.0.0,>=2.14->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 21)) (1.8.0)
Requirement already satisfied: wrapt<2,>=1.11 in /usr/local/lib/python3.10/dist-packages (from astroid<=2.17.0-dev0,>=2.15.4->pylint<3.0.0,>=2.14->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 21)) (1.14.1)
Requirement already satisfied: gitdb<5,>=4.0.1 in /usr/local/lib/python3.10/dist-packages (from GitPython>=1.0.1->bandit->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 10)) (4.0.10)
Requirement already satisfied: pyrect in /usr/local/lib/python3.10/dist-packages (from pygetwindow>=0.0.5->PyAutoGUI->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 21)) (0.2.0)
Requirement already satisfied: pbr!=2.1.0,>=2.0.0 in /usr/lib/python3/dist-packages (from stevedore>=1.20.0->bandit->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 10)) (5.8.0)
Requirement already satisfied: pyperclip in /usr/local/lib/python3.10/dist-packages (from mouseinfo->PyAutoGUI->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements.txt (line 21)) (1.8.2)
Requirement already satisfied: markdown-it-py<3.0.0,>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich->bandit->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 10)) (2.2.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich->bandit->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 10)) (2.15.1)
Requirement already satisfied: smmap<6,>=3.0.1 in /usr/local/lib/python3.10/dist-packages (from gitdb<5,>=4.0.1->GitPython>=1.0.1->bandit->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 10)) (5.0.0)
Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py<3.0.0,>=2.2.0->rich->bandit->-r /home/gamebuster/Desktop/autosplit/AutoSplit/scripts/requirements-dev.txt (line 10)) (0.1.2)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

changed 1 package, and audited 2 packages in 2s

found 0 vulnerabilities
Generated code from .ui files
Generated build number: "2304251358"
Set repository to "ool/AutoSplit"

I then tried to launch the program by calling ./scripts/start.ps1, and get the no module named 'win32' error.

Am I missing a dependency?

Linux multiple-monitor support

Linux in VMWare freaks out as soon as I try to have multiple monitors, the mouse and clicks locations are just way off. I'm not gonna attempts developing a solution in this state.

Missing Wayland support

None of our capture methods support Wayland atm.
Possibly even our window position algorithms.

This is not important. Wayland still need to mature a lot. Just keeping this here as a note.

Linux support

Support for other OS is important. Not possible at the moment. Completing #32 first would help a lot.

Linux icon

So as far as I understand it, Linux is dumb with icons and doesn't let you ship an icon as part of the file.

So what if instead we just ran some variant of gio set ./AutoSplit.elf metadata::custom-icon file://./icon.ico during boot? The icon will show up after first launch :)

Here's a possible sensible location to extract the icon into:
https://martin.hoppenheit.info/blog/2016/where-to-put-application-icons-on-linux/
https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-0.13.html#install_icons
/usr/share/icons/hicolor/256x256/apps/AutoSplit.png

start_auto_splitter doesn't start split

I'm quite new to this awesome tool, but I think the start_auto_splitter-feature might be broken. As I understand it, if I specify a png-image called start_auto_splitter.png that should trigger the start of a new split?

If I add an image called that and press "Reload Start Image" the image is shown in "Current Split Image", but it never triggers any start. It also seems like there isn't any "live similarity" shown, so might be related to that?

Not sure if it's relevant, but I'm using a masked image. It however doesn't seem to make any difference if there's an {m} in the file name or not.

I'm using version v1.5.A6. Let me know if you want more info as I'm not sure what makes sense to provide.

Windows Graphics Capture API's region is misaligned from selection

This is due to a hacky workaround to fix selection in other methods.
Said workaround offsets the selection to deal with the bordering shadows which are part of the window's Rect. But WGC doesn't have this issue. A quick fix would be to not apply the offset on WGC selection.

A better fix will be to apply the offset on capture for the methods that do have extra bordering shadow. So that coordinate 0,0 actually starts on the visual window (just like WGC) instead of outside of it.
It's especially visible if you change between the WGC method and other (ie BitBlt) as you can see the captured content shift for the same coordinates.

Capture Method Interface

I'd like to abstract all capture methods behind an interface. This will allow the main logic to be independent of any method's quirks or platform/OS dependency. The interface and all capture methods will go in their own module.

The interface needs to expose:

  • A function to initialize the capture method (some methods need to hook/create/initialize resources).
  • A function to get the current frame. If frame is not ready it should return the previous frame, with an indication as such (so far only the only method that will implement this is device capture. It'll act the same way as WGC API)
  • A function to close the capture method (some methods need to release resources).
  • A function to try and recover the captured window (happens if the captured window was closed, then re-opened)
  • A property is_available to keep platform-specific checks in the capture-method module.

start_auto_splitter starts immediately

When using a start_auto_splitter image AutoSplit is not checking the CaptureRegion but instead immediately starting as soon as you click on "Reload Start Image" or on "Reset".

I expect it to start when the image in the capture region matches (respecting the set threshold) the start_auto_splitter image.

I used version AutoSplit v2.0.0-alpha-avasam-1.

Feature Request: Take Screenshot hotkey and separate folder for screenshots and split images

When building a split image folder, I like to take several images at a time to evaluate good candidates for split points, and then mask the selected image as needed before inserting it into my actual series of split images. I think this flow would be easier if I could bind a key to taking a screenshot (preferably without opening the image immediately), as well as set a separate folder path where these images would be saved, so they wouldn't clutter my in-progress split image folder with images that I probably won't use.

Unhandled Exception while using Video Capture Device

I had AutoSplit open, with my capture card selected as the video stream. My console was off, so there was no signal. When I turned on the console, I got the following error in AutoSplit Version: 2.0.0-beta.1-2211241633

Traceback (most recent call last):

  File "capture_method\VideoCaptureDeviceCaptureMethod.py", line 41, in __read_loop

cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\videoio\src\cap.cpp:365: error: (-2:Unspecified error) could not retrieve channel 0 in function 'cv::VideoCapture::retrieve'

Window recovery crashes with WGC + LiveSplit integration

This line hard crashes. Python can't even catch the exception. No errors in standalone mode.
self.windows_graphics_capture = create_windows_graphics_capture(create_for_window(hwnd))
Error from DebugView++:
AutoSplit.exe <process started at 00:05:37.020 has terminated with 0xc0000409 (EXCEPTION_STACK_BUFFER_OVERRUN)>

A IDirect3DDevice Mediacapture alternative.

Hey - great fork, just was floating around and noticed you are using the media capture work around for initialising a IDirect3DDevice.

Here is something if you want something that works even without a Capture Device connected and enabled. Save you some pain.

from winsdk.windows.ai.machinelearning import LearningModelDevice, LearningModelDeviceKind
device  = LearningModelDevice(LearningModelDeviceKind.DIRECT_X_HIGH_PERFORMANCE)

Doesn't require the media device.

Should be an easy change, enjoy.

Autosplit does not work properly with v4l2loopback virtual devices

Using v4l2loopback, I have created a virtual device, and piped my capture card's output into the new virtual device.

https://askubuntu.com/a/1244152/1061866

Virtual devices created with v4l2loopback can be accessed by multiple programs simultaneously. I'm trying to allow both OBS and Auto-Split to access the new virtual device at /dev/video5

In autosplit, I see two devices with the same name as my capture card:

image

When selecting either of these devices, I get the following error:

Traceback (most recent call last):

  File "/home/gamebuster/Desktop/autosplit/src/capture_method/CaptureMethodBase.py", line 56, in __read_loop
    self._last_captured_frame, self.__is_old_image = self._read_action(autosplit)

  File "/home/gamebuster/Desktop/autosplit/src/capture_method/VideoCaptureDeviceCaptureMethod.py", line 39, in _read_action
    result, image = self.capture_device.read()

cv2.error: OpenCV(4.7.0) /io/opencv/modules/videoio/src/cap.cpp:349: error: (-2:Unspecified error)  in function 'grab'

Other programs are able to access /dev/video5 simultaneously just fine (in the image below, you see VLC has the device open, and OBS also has it open at the same time.

image

Linux: Detect window shadow and adjust region

Windows Shadows/Borders are a thing too on Linux (an easy example is Finder in Ubuntu/GNOME). It seems kinda rare that's actually an issue. Might be so specific to just the finder that it's not even something I should bother with? Time will tell if users encounter this. Very low priority until an issue actually arise.

Not able to use any Video Capture Device

Hello, i'm trying to put my OBS virtual camera as capture method but it's not working as soon as I select the "Video Capture Device" option

Here's the error:
"Traceback (most recent call last):

File "menu_bar.py", line 303, in

File "menu_bar.py", line 165, in __capture_method_changed

File "capture_method_init_.py", line 196, in change_capture_method

File "capture_method\VideoCaptureDeviceCaptureMethod.py", line 73, in init

File "pygrabber\dshow_graph.py", line 371, in add_video_input_device

File "pygrabber\dshow_graph.py", line 366, in __add_filter

File "pygrabber\dshow_graph.py", line 299, in build_filter

File "pygrabber\dshow_graph.py", line 288, in get_filter_by_index

ValueError: NULL COM pointer access
"

Thank you guys for helping

AutoSplit 2.0 alpha 5 crashes after changing Capture Method to my capture card

After creating a settings file with my capture card as the capture method on Alpha 5, I receive this error message on startup.

"Traceback (most recent call last):

File "AutoSplit.py", line 914, in main

File "AutoSplit.py", line 211, in init

File "user_profile.py", line 189, in load_settings_on_open

File "user_profile.py", line 165, in load_settings

File "user_profile.py", line 150, in __load_settings_from_file

File "capture_method\VideoCaptureDeviceCaptureMethod.py", line 80, in recover_window

NotImplementedError"

Curiously, this does not happen on Alpha 4. Everything works normally.

My capture device is the EVGA XR1 Lite, if that matters.

Linux capture device support

My c920 webcam simply won't work (may or may not be a vmware issue).
I can't get the virtual cam working in OBS.

So I can't test or implement this feature myself ๐Ÿ˜• (for all I know it's already working as-is).

Double hotkey input

Hotkeys are always sent with a command, even when the command was triggered by the user pressing said hotkey. Leading to double inputs.

We should specify if a command was user-prompted or automated (like auto start/reset/split).

Feature Request: Auto Start on Reset

Auto start on reset is a feature on the upstream branch. I don't know if it was removed for some reason or during the settings revamp was forgotten about. There is a section for it in the read me of this repository so I can only imply it is not implemented yet. This feature lets my split images(Halo 5) run without any input from the runner. The start image feature would be a good alternative to auto start on reset however the first image is a dummy split. Start image will always hit the split key even with the dummy flag.

I am seeing two solutions to this. Solution one would be to add auto start on reset like how it is on the upstream branch. Solution two is to make the start image work with the dummy flag. Either solution will work for me. Solution one being preferred.

MacOS support

This will be a doozy...

Things left to do on Mac:
https://github.com/Avasam/Auto-Split/tree/macos

  • Investigate more capture methods
  • Figure out OR disable numpad hotkeys
  • Figure out the illegal hardware instruction from keyboard (see boppreh/keyboard#562)
  • Test multi-monitors support (with weird position/configuration)
  • Test hotkey modifiers
  • Make the webcam capture work
  • Improve literally anything about MacOS window management performance and upstream to https://github.com/Kalmat/PyWinCtl

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.