Skip to content
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

XBox 360 Wireless Guitar #11

Open
kicker0429 opened this issue Mar 7, 2020 · 11 comments
Open

XBox 360 Wireless Guitar #11

kicker0429 opened this issue Mar 7, 2020 · 11 comments

Comments

@kicker0429
Copy link

lsusb: Bus 008 Device 002: ID 045e:0719 Microsoft Corp. Xbox 360 Wireless Adapter

Green Button:
000100f0 00130010 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1

Red Button:
000100f0 00130020 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1

Yellow Button:
000100f0 00130080 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1

Blue Button:
000100f0 00130040 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1

Orange Button:
000100f0 00130001 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1

Pick:
000100f0 00130200 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1

Whammy:
000100f0 00130000 7a000000 00000080 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00006f85 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000938d 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000e893 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000c39e 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000e7a6 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00004eb1 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 000084bd 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00002eca 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00001ad9 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 000062e9 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 000006fb 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000b602 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000a81f 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000b33b 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000745a 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000a979 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000ff7f 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000ff7f 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000ff7f 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000ff7f 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000ff7f 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000ff7f 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000ff7f 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000ff7f 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000b56f 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000fa5e 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000134b 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00004536 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00009020 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000660a 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00000000 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000dbf7 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 000014de 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000ebc7 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000c1b1 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000369f 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 0000078e 00000000 00000000 000000 kit type=1
000100f0 00130000 7a000000 00000080 00000000 00000000 000000 kit type=1
000000f0 00000000 00000000 00000000 00000000 00000000 000000 kit type=1

@ssj71
Copy link
Contributor

ssj71 commented Mar 9, 2020

this has the same USB ID as the drumkit, so we'll have to add a flag for you to pass in to differentiate between the two.

@ssj71
Copy link
Contributor

ssj71 commented Mar 9, 2020

ok, I threw something together you can test (again in the rbpro branch). There are likely some bugs, as the whammy bar again has more data than the controllers I've dealt with previously, but you should be able to pass the -xbgtr flag in the command line options for it to treat the device as a guitar rather than the drums. Let me know how it goes.

@kicker0429
Copy link
Author

gdb ./rbdrum2midi

(gdb) r -xbgtr
Starting program: /home/erik/rbdrum2midi -xbgtr
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff74b5700 (LWP 1661)]
claimed interface
error in drum type! 11

Thread 1 "rbdrum2midi" received signal SIGSEGV, Segmentation fault.
0x00007ffff7e6b170 in libusb_submit_transfer () from /usr/lib/libusb-1.0.so.0
(gdb) port created: Game Drumkit Client [130] (capture): Game Drumkit port 2

(gdb) backtrace
#0 0x00007ffff7e6b170 in libusb_submit_transfer () from /usr/lib/libusb-1.0.so.0
#1 0x0000555555558dc3 in init_capture (irq_transfer=0x555555581040) at /home/erik/Build/rbdrum2midi/src/main.c:354
#2 0x000055555555a9aa in main (argc=2, argv=0x7fffffffe898) at /home/erik/Build/rbdrum2midi/src/main.c:802
(gdb)

@ssj71
Copy link
Contributor

ssj71 commented Mar 9, 2020

Ah I missed a spot. Please pull and try again, we'll see what the next error is. :)

@kicker0429
Copy link
Author

@ssj71 , the program runs and there is USB output when I press the keys, but Hydrogen does not register any MIDI input. I'm not sure how to troubleshoot that, so please let me know to proceed.

@ssj71
Copy link
Contributor

ssj71 commented Mar 10, 2020

It could be that you are sending the midi on the wrong channel for what Hydrogen is set to. Have you used a midi sniffer like kmidimon or jack_midi_dump (if you are using jack audio)? That will show us if any midi signal is coming out, rather than trying to connect it to hydrogen and making sure h2 is also configured correctly.

@kicker0429
Copy link
Author

@ssj71 , kmidimon has not been updated to KDE5, so I was not able to compile it. jack_midi_dump is probably my best bet, but I don't know how to use it. The syntax is jack_midi_dump [ OPTIONS ] [CLIENT-NAME]. I tried jack_midi_dump "Game Drumkit Client" but it created a new JACK port with that name instead of monitoring the existing one.

@ssj71
Copy link
Contributor

ssj71 commented Mar 10, 2020

you'll need a connection manager app like qjackctl or Catia (https://kx.studio/Applications:Catia) to manage connect the two jack apps (rbdrum2midi and the monitor). You can also do it through the command line using jack_connect but I don't do it that way myself and I can't remember the exact useage. There's also a gmidimon and I imagine various others, those are just the 2 I use most (kmidimon for alsa, jack_midi_dump for jack).

@kicker0429
Copy link
Author

@ssj71 , I connected rbdrum2midi and the monitor with qjackctl and confirmed that there is not any MIDI output.

This is the rbdrum2midi output:
./rbdrum2midi -xbgtr -r 38 -y 45 -b 43 -g 41 -o 36 -a -v
XBox 360 Wireless Rockband Pro kit found
claimed interface
Setting up alsa
client:port = 130:0
Returning 1
Rock Band Guitar connected.

It looks the same as when I connect my XBox 360 wired guitar, so there must be something wrong even though it is reporting that everything is fine.

@ssj71
Copy link
Contributor

ssj71 commented Mar 10, 2020

since you are using jack audio I would recommend you use the -j option for a jack-midi output rather than -a which makes an alsa midi output. It should send messages any time you press the whammy bar or when you are holding a colored button and press the pick otherwise it will not send any messages. Check if that -j makes any difference.

@kicker0429
Copy link
Author

@ssj71 , I tried with -j and there still is no output. Since I care more about the drums working properly than the wireless guitar, maybe we can focus on that instead for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants