Git Product home page Git Product logo

joydance's Introduction

JoyDance

image

Demo

https://youtu.be/f_1IkUHFdH8

Features

  • Play Just Dance 2016 and later on all platforms with Joy-Cons.
  • Playing with a Joy-Con (+ its strap) is safer and more comfortable than holding a phone.
  • No latency.
  • Better score than using a phone (hopefully).
  • No random disconnection.
  • Support up to 6 players.
  • Support all platforms:
Xbox Series Xbox One PS4/5 NSW Stadia PC Wii U
2020-2022
2016-2019 ⚠️

⚠️ Important: Can't use buttons on Joy-Con to navigate the UI in JD 2016-2019 (you'll have to use controllers/keyboard). See #6.

How does it work?

It pretends to be the Just Dance Controller app, sends movements of the Joy-Con to your game console.

Tested on

Requirements

  • PC/Mac/Linux with bluetooth support. Doesn't work with Chrome OS/Crostini (#15).
  • Python 3.7+ and pip installed.
  • 1 to 6 Joy-Cons.
  • It's RECOMMENDED to:
    • Use a Bluetooth dongle, because built-in Bluetooth sucks (or you will get disconnected constantly while playing). Make sure you buy a dongle with game controllers support, not just for audio devices. Not all dongles support Mac/Linux, so remember to check compatibility before buying.
    • Use a Nintendo Switch to update Joy-Con to the latest firmware & calibate its motion sensors. Ask your friends or bring it to the game shop if you don't have one.

Installation

  1. Download the latest version and extract it into a folder.
  2. Open that folder in Terminal/Command Prompt, then run this command:
pip3 install -r requirements.txt

Extra steps for Linux users

Click to expand!
  1. Linux users may need to use hid instead of hidapi (not sure why hidapi couldn't find Joy-Cons on Linux).
pip3 uninstall hidapi
sudo apt install libhidapi-dev
pip3 install hid
  1. Create a new udev rule file at /etc/udev/rules.d/50-nintendo-switch.rules (Source)
# Switch Joy-con (L) (Bluetooth only)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0005:057E:2006.*", MODE="0666"

# Switch Joy-con (R) (Bluetooth only)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0005:057E:2007.*", MODE="0666"

# Switch Pro controller (USB and Bluetooth)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0666"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0005:057E:2009.*", MODE="0666"

# Switch Joy-con charging grip (USB only)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="200e", MODE="0666"

Reload udev rules:

sudo udevadm control --reload-rules
sudo udevadm trigger
  1. Install dkms-hid-nintendo (Joy-Con driver) if you're running Linux kernel older than 5.16.

Usage

  1. Open the phone pairing screen on Just Dance.

  2. Connect your PC/Mac/Linux to the same Wi-Fi or LAN network as your game console. For Stadia you just need to connect to the internet.

  3. Run this command:

    python3 dance.py
    

    or

    python dance.py
    
  4. Open http://localhost:32623 (not https://...) in a web browser (32623 = DANCE). You can also open JoyDance on another device (connected to the same network) with this link: http://[JOYDANCE_DEVICE_IP]:32623 (for example: http://192.168.1.100:32623).

  5. Turn on Bluetooth and pair with Joy-Con by holding down the SYNC button until the light move up and down. Press the "Refresh" button until your Joy-Con shows up.

  6. Fill the form.

    • Pairing Method:

      Default Fast Stadia Old
      Platforms All but Stadia X1/PS/NSW Stadia All, incl. PC & Wii U
      Game versions 2020-2022 2020-2022 2020-2022 2016-2019
      Pairing Speed Slow Fast Slow Fast
      Pairing Code Require Require
      Private IP Address Host Console PC/Console
    • Host's Private IP Address:

      • The private IP address of your PC/Mac/Linux running JoyDance. Find this in the Wi-Fi settings.
      • Starts with 192.168. or 10..
    • PC/Console's Private IP Address:

      • The private IP address of your PC/console. Find this in the Wi-Fi settings on PC/console.
      • Starts with 192.168. or 10..
    • Pairing Code: get this from the game.

  7. Press the "Connect" button next to Joy-Con to start the pairing process.

  8. 💃🕺

FAQ

  1. What is the correct way to hold a Joy-Con?
    Please follow these images for Joy-Con (L) and Joy-Con (R).

  2. How to control with Joy-Con (L)?

    Joy-Con (L) Joy-Con (R)
    Up X
    Right A
    Down B
    Left Y
    L R
    ZL ZR
    Minus Plus
  3. How to exit JoyDance?
    Press Ctrl + C two times or close the Terminal window.

  4. Is it possible to port JoyDance to wearable devices like smart watches (Wear OS, watchOS...)?
    Yes. I tested on a tiny M5StickC Plus and it worked! But remember, some movements require you to move only the palm of your hand won't be recognized correctly.

  5. Can I play Just Dance 2017 (PC) and run JoyDance on the same PC?
    Yes, you can.

Acknowledgements

joydance's People

Contributors

redphx avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

joydance's Issues

Python not recognized

Typing python dance.py or python3 dance.py doesn't work

Adding python to environment variables doesn't work

Typing py dance.py works for whatever reason

It would be cool if instead of having to do everything in command prompt this came with an installer and launcher, if that's at all doable for dev. thanks.

joydance isnt working on pc

i tried to get it running on Just Dance 2017 PC but when i click connect the script crashes and im getting it "{'pairing_method': 'old', 'host_ip_addr': '192.168.1.109', 'console_ip_addr': '192.168.1.109', 'pairing_code': '', 'joycon_serial': 'idhere'}"

Movedance (suggestion)

Basically the same thing joydance does, but with a psmove, maybe even a add on that changes the primary ps move buttons and maps them to the switch buttons

Feedback about tracking accuracy

What do you think about the tracking? Is it accurate or not?

Please also include these info in your response:

  • Operating System
  • Just Dance version + platform
  • JoyDance version
  • Bluetooth built-in or dongle

Thank you.

[Suggestion] PS move port

With PS5 and Xbox series JD versions only available to play with a phone, I think it'd be cool if you could play with a PS move too. I'd attempt to port it myself, but I'm a bit swamped with finals right now, so if anyone would like to try feel free to to use my idea.

add pro controller support

as bad as it sounds, my joy cons are broken and i play jd with the nx pro controller, can you add this to joydance?

'sudo udevadm trigger' Results in 'Permission Denied' Errors - Chromebook

Hi, I really want to use Joydance, but I'm having trouble getting it to recognize my Joy Cons. I've followed all the steps, including the extra steps for Linux users, but when I run sudo udevadm trigger, I get a ton of messages that read:

Failed to write 'change' to '<folder path>': Permission denied

I get this error 137 times, and it's super annoying and confusing. I'm pretty new to Linux, so I might be doing something wrong, and this error may or may not be affected by Joydance but either way... please help me! I really want to try out Joydance!

Thanks in advance

CMD Building error

Hi. Having issue with building this software:
I Have python and pip installed, all Visual studio builds installed too (I think, at least I literally ticked all of them in the main Modify page of the Visual installer)

Microsoft Windows [Version 10.0.19045.4046]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Trey\Desktop\Games\joydance-0.5.2>pip3 install -r requirements.txt
Collecting websockets==10.2 (from -r requirements.txt (line 1))
Using cached websockets-10.2-cp312-cp312-win_amd64.whl
Collecting aiohttp==3.8.1 (from -r requirements.txt (line 2))
Using cached aiohttp-3.8.1.tar.gz (7.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting hidapi==0.11.2 (from -r requirements.txt (line 3))
Using cached hidapi-0.11.2.tar.gz (144 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting attrs>=17.3.0 (from aiohttp==3.8.1->-r requirements.txt (line 2))
Using cached attrs-23.2.0-py3-none-any.whl.metadata (9.5 kB)
Collecting charset-normalizer<3.0,>=2.0 (from aiohttp==3.8.1->-r requirements.txt (line 2))
Using cached charset_normalizer-2.1.1-py3-none-any.whl.metadata (11 kB)
Collecting multidict<7.0,>=4.5 (from aiohttp==3.8.1->-r requirements.txt (line 2))
Using cached multidict-6.0.5-cp312-cp312-win_amd64.whl.metadata (4.3 kB)
Collecting async-timeout<5.0,>=4.0.0a3 (from aiohttp==3.8.1->-r requirements.txt (line 2))
Using cached async_timeout-4.0.3-py3-none-any.whl.metadata (4.2 kB)
Collecting yarl<2.0,>=1.0 (from aiohttp==3.8.1->-r requirements.txt (line 2))
Using cached yarl-1.9.4-cp312-cp312-win_amd64.whl.metadata (32 kB)
Collecting frozenlist>=1.1.1 (from aiohttp==3.8.1->-r requirements.txt (line 2))
Using cached frozenlist-1.4.1-cp312-cp312-win_amd64.whl.metadata (12 kB)
Collecting aiosignal>=1.1.2 (from aiohttp==3.8.1->-r requirements.txt (line 2))
Using cached aiosignal-1.3.1-py3-none-any.whl.metadata (4.0 kB)
Collecting setuptools>=19.0 (from hidapi==0.11.2->-r requirements.txt (line 3))
Using cached setuptools-69.2.0-py3-none-any.whl.metadata (6.3 kB)
Collecting idna>=2.0 (from yarl<2.0,>=1.0->aiohttp==3.8.1->-r requirements.txt (line 2))
Using cached idna-3.6-py3-none-any.whl.metadata (9.9 kB)
Using cached aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
Using cached async_timeout-4.0.3-py3-none-any.whl (5.7 kB)
Using cached attrs-23.2.0-py3-none-any.whl (60 kB)
Using cached charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
Using cached frozenlist-1.4.1-cp312-cp312-win_amd64.whl (50 kB)
Using cached multidict-6.0.5-cp312-cp312-win_amd64.whl (27 kB)
Using cached setuptools-69.2.0-py3-none-any.whl (821 kB)
Using cached yarl-1.9.4-cp312-cp312-win_amd64.whl (76 kB)
Using cached idna-3.6-py3-none-any.whl (61 kB)
Building wheels for collected packages: aiohttp, hidapi
Building wheel for aiohttp (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for aiohttp (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [106 lines of output]
*********************
* Accelerated build *
*********************
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-312
creating build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\abc.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\base_protocol.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\client.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\client_exceptions.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\client_proto.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\client_reqrep.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\client_ws.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\connector.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\cookiejar.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\formdata.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\hdrs.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\helpers.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\http.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\http_exceptions.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\http_parser.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\http_websocket.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\http_writer.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\locks.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\log.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\multipart.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\payload.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\payload_streamer.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\pytest_plugin.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\resolver.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\streams.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\tcp_helpers.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\test_utils.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\tracing.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\typedefs.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_app.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_exceptions.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_fileresponse.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_log.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_middlewares.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_protocol.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_request.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_response.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_routedef.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_runner.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_server.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_urldispatcher.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\web_ws.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\worker.py -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_init_.py -> build\lib.win-amd64-cpython-312\aiohttp
running egg_info
writing aiohttp.egg-info\PKG-INFO
writing dependency_links to aiohttp.egg-info\dependency_links.txt
writing requirements to aiohttp.egg-info\requires.txt
writing top-level names to aiohttp.egg-info\top_level.txt
reading manifest file 'aiohttp.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'aiohttp' anywhere in distribution
warning: no previously-included files matching '.pyc' found anywhere in distribution
warning: no previously-included files matching '
.pyd' found anywhere in distribution
warning: no previously-included files matching '.so' found anywhere in distribution
warning: no previously-included files matching '
.lib' found anywhere in distribution
warning: no previously-included files matching '.dll' found anywhere in distribution
warning: no previously-included files matching '
.a' found anywhere in distribution
warning: no previously-included files matching '*.obj' found anywhere in distribution
warning: no previously-included files found matching 'aiohttp*.html'
no previously-included directories found matching 'docs_build'
adding license file 'LICENSE.txt'
writing manifest file 'aiohttp.egg-info\SOURCES.txt'
copying aiohttp_cparser.pxd -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_find_header.c -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_find_header.h -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_find_header.pxd -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_headers.pxi -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_helpers.c -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_helpers.pyi -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_helpers.pyx -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_http_parser.c -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_http_parser.pyx -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_http_writer.c -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_http_writer.pyx -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_websocket.c -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp_websocket.pyx -> build\lib.win-amd64-cpython-312\aiohttp
copying aiohttp\py.typed -> build\lib.win-amd64-cpython-312\aiohttp
creating build\lib.win-amd64-cpython-312\aiohttp.hash
copying aiohttp.hash_cparser.pxd.hash -> build\lib.win-amd64-cpython-312\aiohttp.hash
copying aiohttp.hash_find_header.pxd.hash -> build\lib.win-amd64-cpython-312\aiohttp.hash
copying aiohttp.hash_helpers.pyi.hash -> build\lib.win-amd64-cpython-312\aiohttp.hash
copying aiohttp.hash_helpers.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp.hash
copying aiohttp.hash_http_parser.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp.hash
copying aiohttp.hash_http_writer.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp.hash
copying aiohttp.hash_websocket.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp.hash
copying aiohttp.hash\hdrs.py.hash -> build\lib.win-amd64-cpython-312\aiohttp.hash
running build_ext
building 'aiohttp._websocket' extension
creating build\temp.win-amd64-cpython-312
creating build\temp.win-amd64-cpython-312\Release
creating build\temp.win-amd64-cpython-312\Release\aiohttp
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.39.33519\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\Trey\AppData\Local\Programs\Python\Python312\include -IC:\Users\Trey\AppData\Local\Programs\Python\Python312\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.39.33519\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcaiohttp/_websocket.c /Fobuild\temp.win-amd64-cpython-312\Release\aiohttp/_websocket.obj
_websocket.c
aiohttp/_websocket.c(198): fatal error C1083: Cannot open include file: 'longintrepr.h': No such file or directory
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.39.33519\bin\HostX86\x64\cl.exe' failed with exit code 2
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for aiohttp
Building wheel for hidapi (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for hidapi (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [9 lines of output]
running bdist_wheel
running build
running build_ext
C:\Users\Trey\AppData\Local\Temp\pip-build-env-1bcte29o\normal\Lib\site-packages\Cython\Compiler\Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: C:\Users\Trey\AppData\Local\Temp\pip-install-ba7cx5nj\hidapi_62827e50e5ad4e85b7d4a4f77f939df2\hid.pyx
tree = Parsing.p_module(s, pxd, full_module_name)
Compiling hid.pyx because it changed.
[1/1] Cythonizing hid.pyx
building 'hid' extension
error: unknown file type '.pxd' (from 'chid.pxd')
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for hidapi
Failed to build aiohttp hidapi
ERROR: Could not build wheels for aiohttp, hidapi, which is required to install pyproject.toml-based projects

C:\Users\Trey\Desktop\Games\joydance-0.5.2>

Add Stadia support

Stadia isn't available in where I live, so I couldn't test it myself.
With the console version, JD has a local websocket server running inside the game, but for Stadia I think it uses a live server somewhere. If you're able to test JoyDance on Stadia, please help me on this issue.

Thank you.

JoyCon issue.

When I try to connect, it say, couldn't connect to console or whatever.

Wiimote support?

I have wiimote and i am able to connect them to Yuzu via WiimoteHook. Could you add support to wiimote?

Motion server is on port 127.0.0.1:26760

Support For Just Dance 2023 Edition

Just Dance 2023 is confirmed to be utilizing a Brand New Application on the Google Play Store and the App Store. Wondering if we will ever get a program as good as this for the future of the new game?

Grey Screen when loading the localhost page

Operating System: windows11 22H2
JoyDance version: 0.5.2
Browser name & version: Microsoft Edge 105.0.1343.53 and Chrome 106.0.5249.91 and I opened the DevTools

chrome console tab :
image
edge console tab :
image
sorry something is Chinese, because I am Chinese.

Add a license

JoyDance currently doesn't have a license. However, since you're encouraging people to use it, it would be good to add a license for legal and clarity reasons.

Just Dance on PC

I know this script is almost 2 years old, but I am curious if it still works. I tried to run dance.py but it doesn't work.
I tried to use help from #53 but still nothing...

Getting an access token

I am playing Just Dance 2017 on PC with 2023 mod, and I always play as Happy. When I looked into the code, you use a pre-defined guest token by Ubisoft for authorization. Is there a way for me to get my access token from ubisoft account for playing with my profile?

read error on Windows 10

Get an error on windows10, if try to Connect, defender is off

Error handling request
Traceback (most recent call last):
File "aiohttp\web_protocol.py", line 435, in _handle_request
File "aiohttp\web_app.py", line 504, in _handle
File "dance.py", line 313, in websocket_handler
joycon_list = await get_joycon_list(request.app)
File "dance.py", line 76, in get_joycon_list
joycon = JoyCon(dev['vendor_id'], dev['product_id'], dev['serial'])
File "pycon\joycon.py", line 46, in init
self._read_joycon_data()
File "pycon\joycon.py", line 137, in _read_joycon_data
color_data = self._spi_flash_read(0x6050, 6)
File "pycon\joycon.py", line 106, in _spi_flash_read
ack, report = self._send_subcmd_get_response(b'\x10', argument)
File "pycon\joycon.py", line 94, in _send_subcmd_get_response
report = self._read_input_report()
File "pycon\joycon.py", line 72, in _read_input_report
return bytes(self._joycon_device.read(self._INPUT_REPORT_SIZE))
File "hid.pyx", line 219, in hid.device.read
OSError: read error

32623 site doesn't work for Stadia

after installing i opened stadia and on another tab on another monitor i opened the site and selected Stadia, i entered my pairing code and an alert pops up stating "ERROR: Invalid IP Address" however there isnt a box to enter my IP?

Suggestions for ease of use

Hi, I've looked at this project and have two suggestions:

  1. You could bundle the app into a single package and generate releases, if there's any hope of non-techies to use it. :) I've experimented with pyInstaller (https://github.com/pyinstaller/pyinstaller), and I was able to bundle your project into a single exe file, so no more messing with python for the regular users.
  2. I believe the app could open a webview automatically, once the server is started (some people want to host from their computers, not raspberry pi's or servers). I've experimented with webview, and came up with this (dance_client.py):
import os
import subprocess
import webview

webview.create_window('Just dance!', 'http://localhost:32623', confirm_close=True)
dance_server = subprocess.Popen(["python", "dance.py"])
webview.start()

#terminate server on window close
dance_server.terminate()

image

It can still be improved, but that's my idea.

Is this project open to pull requests? I'd share my code :)

JD2017 PC

Can i use the same PC to play and use the software? Or i need a second PC?

Unauthorized error when default pairing with Just Dance 2021

Hi, I have noticed that on Just Dance 2021 with Xbox Series X/S or Xbox One, it's not possible to pair with the game when using the default method.

It seems like that the API maybe changed for the pairing, as it seems to send the pairing code to the JD prod servers but it fails with an Unauthorized error by the servers:

<ClientResponse(https://prod.just-dance.com/sessions/v1/pairing-info?code=467455) [401 Unauthorized]>
<CIMultiDictProxy('Date': 'Tue, 16 Aug 2022 13:40:00 GMT', 'Content-Type': 'text/plain; charset=utf-8', 'Content-Length': '12', 'Connection': 'keep-alive', 'X-Powered-By': 'Express', 'Access-Control-Allow-Origin': '*', 'Vary': 'Accept-Encoding')>

I have double-checked that the pairing code is correct. Also, I have restarted the game just to be sure. It seems to work fine if I use the JD Controller app and type in the pairing code on the screen.

The only way to make it work is by using the Fast method when playing the Xbox One version specifically.

Compatibility with PS move

Hi! I was wondering whether it would be possible to adapt this to work with PS move controllers? I may try look at the software myself but as a novice, I thought to ask :)

Just dance Now

It'll be great to work with Just Dance Now. The idea is to control actions with phone and moves with joycon.

Doesn't work with the 2019 Wii U version

I haven't seen anybody talk about this and I got confused but the just dance controller app doesn't work on the Wii U version of just dance 2019, so as a result neither does the app.

Just Dance Now compatibility

Hello,
Was curious if there is a way to connect to Just Dance Now via PC.
I seem to have run into needing a pairing code but Just Dance Now works with dance room numbers that are typically 4 digits.

Just Dance 2017 PC / Wii U Profile Issue

So when you connect the Joycon the user always shows up as Happy. I believe this is because newer versions of the controller app don't let you log in to your Ubisoft account. If you try this with the app itself on the latest version the same problem will occur. I only tested this on the Wii U and PC version of Just Dance 2017. On Just Dance 2016 Wii U this wasn't an issue however. Is there anything that can be done to make it so you can still play with your regular Ubisoft account?

Future of Stadia Support?

Now that Stadia has shut down, will support for it be removed? That would be the logical thing to do, since no one benefits from it anymore.

Python 3.11+

Hey man, how are you?
I noticed that on python 3.11 + some requirements are incompatible.
3.10 works good, so you can add this to description.
Thanks again for your work.

Stuck at Finish screen (after selecting panda)

My setup: Just Dance 2021 on Xbox One S
Joy-Con connected to Raspberry Pi
I'm able to connect to Just Dance successfully, then the game asks me to select Panda which works ok and then it gets stuck on next screen asking to press any button.
20220604_124522
Output from joydance:
20220604_125611

kinect support?

since windows (this could be a windows only thing) has kinect drivers, maybe u could add that?

IP Address not 192.168.

My personal IP address for my network is not the required 192.168. but it starts with 10.0. Is there a workaround to this or some way to convert my IP address to be what is needed? Sorry, my knowledge is quite limited.

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.