Dunkalunk / drumsniffer

Used to get data for Rock Band 4 drums made for Xbox One
GNU General Public License v3.0
0 stars 0 forks source link

Fork Suggestion #1

Open artman41 opened 4 years ago

artman41 commented 4 years ago

If you rename the packages to remove the guitar prefix so that they become

But keep the cmd/drumsniffer name, we can then merge your branch in to the master branch of guitarsniffer and rename the repo to something smart

That way we can keep it all together rather than duplicating code that'll be identical

Dunkalunk commented 4 years ago

Sounds great to me!

Do you want it like this? So there's a guitarsniffer.go from yours and a drumsniffer.go from mine in the package? image

Or would we just rename the package altogether and rename everything from "guitar" to "controller" or something like that and just add the logic needed for the drums instead of completely replacing it? (still new to all this so want to make sure we take the best route!)

artman41 commented 4 years ago

So, guitarsniffer can be renamed to sniffer, no changes required to the code other than that

For the drum stuff, we should likely have a drumpacket, drumjoypad and a cmd/drumsniffer

we could then merge those 3 new packages in to the main repo 👍

so the hierarchy will look like

drumjoypad/
|   ./drumjoypad.go
drumpacket/
|   ./drumpacket.go
sniffer/
|   ./sniffer.go
guitarjoypad/
|   ./guitarjoypad.go
guitarpacket/
|   ./guitarpacket.go
cmd/
|   drumsniffer/
    |   main.go
|   guitarsniffer/
    |   main.go
artman41 commented 4 years ago

so, basically what this branch looks like https://github.com/artman41/guitarsniffer/tree/example_for_dunkalunk

Dunkalunk commented 4 years ago

K I'm pulling now and I'll get to work

I noticed something today when going through the packets. All the drum data packets are 36 in length, and the guitar is 40. It should be easy to separate those. So we should be able to get a guitar and drums working together fairly easily I think. Adding another guitar might be tricky so we'll see

artman41 commented 4 years ago

@Dunkalunk my main issue with more guitars is that I can't see any identifiable indicators that say the current Controller ID (i.e which player it represents)

Once we work out what represents that, it should be really easy to support multiple controllers

Dunkalunk commented 4 years ago

Right, I figured that would be the difficult part. Trying to track that down will be what I do next after I get drums going since I have 2 guitars.

Also, I realized that the variable data on the yellow and blue drums and the cymbals is more than likely pressure sensitivity like you were thinking. I was playing through a song in my head and they have "cymbal rolls" where you're hitting two cymbals back and forth and if you hit them harder they get a little louder. So that's definitely it. I'll see if there's an exact range or not.