Granjow / launchpad-mini

Node.js library for the Novation Launchpad Mini
145 stars 25 forks source link

Extended device support + TypeScript migration #13

Open Granjow opened 3 years ago

Granjow commented 3 years ago

As discussed in previous issues like #11 and #9 and #10 and #2, this module should support additional launchpad models and sould additionally be ported to TypeScript.

An early draft (2019) to port this module to TypeScript was started here, but it was mainly a 1:1 port without other devices in mind.

The goal of this issue is to plan the next steps to add support for additional devices while keeping/improving usability of the module.

I suggest to follow these steps:

  1. Create list of Launchpad models including links to their dev docs (MIDI communication)
  2. Check what functionality they have in common
  3. Create a draft API and architecture and review it
  4. Implement all required functionality

I can spend a very limited amount of time only atm (but I'm happy to do so). I have the Launchpad Mini and the Mk2 available for testing.

@Tolfx Does this sound reasonable to you? Which steps would you like to do/support?

Additional help (coding, feedback from library usage, etc.) by coders/users is appreciated too!

Tech docs for different Launchpad models (Mini, X, Pro) can be found on these pages.

Tolfx commented 3 years ago

I'm not very experienced with the documents and the root of the launchpad, which then I need to dig deeper to understand the logic. But by time I could help writing code when I have enough documents and information.

When it comes to testing I only have the mini version, so I'm limited there sadly.

Also if we want to migrate to TypeScript I suggest we do that first, since it will help more in production (At least in my experience). Perhaps rewritting everything or use what we already got and implement from there, up to you @Granjow. I can help with creating interfaces and types etc, or just TypeScript in general.

LitoMore commented 3 years ago

For TypeScript part, I suggest to use @sindresorhus/tsconfig for our base configurations.

Granjow commented 3 years ago

@Tolfx Okay! I think that a plain TypeScript port will not provide much value and I'd rather re-design the library from scratch for improved launchpad and typing support. But once that is ready I'd be happy for support!

@LitoMore Looks useful, will have a look!

CrazyH2 commented 1 year ago

@Granjow is this still happening?

Granjow commented 1 year ago

@CrazyH2 Plans are still here, but currently my focus lies on other areas as I don't use the Launchpad atm. If there is enough interest, I might work on it some day, but currently I don't see that either.

CrazyH2 commented 1 year ago

Oh ok thx! :)

CrazyH2 commented 1 year ago

Don't worry its fine