dbkynd / controlcast

A Launchpad Controller desktop application for streamers
MIT License
95 stars 39 forks source link

Would a LaunchPad S work? #18

Closed FeelinBlu closed 7 years ago

FeelinBlu commented 7 years ago

Just wondering if I would be able to use my Launchpad S with this!

dbkynd commented 7 years ago

Sorry, I don't think so. I set it up with the Launchpad Mini in mind specifically. I might be able to support it eventually, but I would need to get one to test with myself. There are a few Launchpad models I would love to support.

FeelinBlu commented 7 years ago

Just to make sure, how would one normally get ControlCast working with the mini? Does it normally automatically detect and connect to the Launchpad once the app is open?

Const4ntFlux commented 7 years ago

Thats the way it works for me, yep. I can't however comment on what happens when the Launchpad is already 'occupied' by another host application (like Ableton).

FeelinBlu commented 7 years ago

Dang, I get nothing when I plug in my Launchpad S. Good to know though! I will be very excited for when you will be able to expand to some of the other models!!

stephanrenggli commented 7 years ago

Hey, I found your program some time ago and would really like to use it with a launchpad s, it's by far the best tool for binding shortcuts to a midi pad. Could you or anyone point me in the right direction on how to adapt it to support the launchpad s? Merry Christmas all!

dbkynd commented 7 years ago

@FeelinBlu @AlienSr1, would either of you be able to tell me what the name of the Launchpad S is in Device Manager? Is it just Launchpad S? Image

ControlCast sees what USB devices are connected/connecting to the PC and attempts to communicate with the launchpad if matched. Currently, it is only matching against Launchpad Mini.

I may be able to make a test build for you to match against other names. I don't have a launchpad pro or S so I wouldn't be able to test this out myself. If that did connect, it would then be an issue of if the midi key codes are different. The 64 normal buttons would likely work fine, but not sure about the side/top keys. They may differ.

stephanrenggli commented 7 years ago

Sure, it's Launchpad S as you thought. I'd be happy to test new builds for you if you wish. Looking at the layout of the Launchpad S and the way your program assigns the keys i'd guess it will work without further modification and if it does, I can provide you with the key codes of the launchpad s.

FeelinBlu commented 7 years ago

As far as I know, they both work identically and the mini is just a smaller body. Of course I could be completely wrong.

stephanrenggli commented 7 years ago

I just successfully tested the change, changing the devicename in init.js made it work perfectly with my Launchpad S. All buttons (including the outer ones) are working.

dbkynd commented 7 years ago

Oh, awesome! I'll just need to figure out how I was users to be able to select that. Maybe I'll try to match any Launchpad, remember what the user last selected, and have a dropdown to change to any connected, supported device.

stephanrenggli commented 7 years ago

I would just have it match both for now and maybe add more later on. I think the S and Mini probably are the most used ones. Thanks again :)

PS: Do you think adding support for FN keys would be a lot of work? Would be very handy for media keys and such.

FeelinBlu commented 7 years ago

Happy to see it appears to be a simple change! How would I get mine functioning? I'm a few years out of practice with my coding. Would I just be replacing "launchpad mini" with "launchpad s"?

stephanrenggli commented 7 years ago

Go to AppData\Local\ControlCast\app-0.2.6\resources\app\js and open the file init.js, then find and replace mini with s.

FeelinBlu commented 7 years ago

Works like a charm thank you so much. So glad to be able to use my launchpad with this!

Rab1dGaming commented 7 years ago

I have an original launchpad and am wanting to know exactly where to find that init file and how to change it to just "Launchpad" so I can use mine for my stream as well. I am not a programmer by any means so it would be very appreciated

stephanrenggli commented 7 years ago
  1. Go to AppData\Local\ControlCast\app-0.2.6\resources\app\js and open the file init.js in an editor like Notepad++.
  2. Open a "find and replace" window.
  3. Type launchpad mini in the find field and launchpad in the replace field.
  4. Click replace all (or go through them one by one).
  5. Done.
skennicutt commented 7 years ago

@AlienSr1 @dbkynd @Rab1dGaming I was just able to change the code in the init to support the original Launchpad MK1 just by having the indexOf() method take "launchpad" in as a paramater (lines 113 and 118 in the most recent master) . I think that basic support for other Launchpad models could work with a little more config stuff. It seems that the "launchpadder" library is just an abstraction for all of the Launchpad devices, so it might just be a matter of loading the proper UI that reflects the user's device.

dbkynd commented 7 years ago

Thanks for all the help figuring out what other launchpad devices work with ControlCast! I do want to get a new version out, but normal work stuff has all my time currently. Hoping to be able to poke at it this weekend or next. Thanks again!

dbkynd commented 7 years ago

Was able to get to this finally. 😄 Your apps should auto update to 0.3.1. With more Launchpad devices supported #515d79a I'm not sure how it will handle the files that were manually changed by you guys. If the update does not take or errors, please first, backup your config.json file in %localappdata%/ControlCast, then download and run the .exe from the releases page.