Using Juce to assign Phrases and midi notes to trigger pads

Hi there,

I am going to be completely honest and say I am very new to programming and need some advice.

I am trying to design a windows app that can assign midi notes or actual musical phrases to a midi device such as the korg nanopad
which is a simplistic device with a few trigger pad on it.

Iv read through and googled a lot but I haven’t found anything specific on this topic, Iv read through some of the API docs for juce as well, but im not sure where to start, so I have two questions

  1. does Juce have the capabilites to specifically do what I have outlined above
  2. Where is a good place to start reading

A picture of the korg nanopad ca be found here if you’re interested

I appreciate all the help, advice and input!!


Can you please elaborate on exactly what you want to program?

I’m not familiar with the device in question, so I have a few questions for clarification:

  • Do you plan to use the nanopad as a trigger for the application to eventually send the specified messages,
    or do you rather have in mind a kind of editor software directly programming the device to send these messages?
  • Have you read the datasheet for the nanopad already?

You won’t find anything specific on this, but you could easily assemble the needed information from more generic use cases.

If your plan is to program the device, the possibility depends on the actual device’s capabilities and MIDI (SysEx) implementation details.
If you just want to create a “translator” application, that’s easy. Something to have as a guideline would be this application,
although I personally find it less than ideal :wink:

In any case, I’d encourage you to further detail what exactly you want to do.

Thanks for your input lucem, I am going to take your advice and do a little bit more focused research and brainstorming and hopefully come back with a more descriptive answer! :smiley:

Each of the Nanopad pads can be assigned a MIDI note. You can use something like ReaSamplOMatic 5000 (in Reaper) to load a WAV sample and have it triggered by that MIDI note. Zero lines of code :slight_smile:

HI there,

Well i did some more research and also looked more into the JUCE docs, and what I am trying to build is an app to program the device

I have included an image of what im trying to achieve:

the image is located at this address if it doesn’t load properly

I have been looking around for the actual sysex info for the nanopad, but what iv found seems very incomplete, is getting the sysex info the only way to program it?

thanks so much!!!

Programming the device requires that the device actually supports the features you want, and allows you to program it.
SysEx is the only way to go there, and the Korg manual should have an appendix on the actual implementation of MIDI and SysEx in it.
Anything that is not supported by the device cannot be done for what you are planning to do.

— accidental double post deleted —

Midi sysex docs are often sparse, or just not available. But, the good news is, you can usually reverse engineer them. I had to do this for the dk10 editor I wrote. It can be a time consuming process, but it is relatively simple. The basics are, download a sysex dump, edit a single parameter on the device, download another sysex dump, compare and find where tge data changed. Rinse and repeat until you’ve covered all parameters.

@lucem, thanks for your continued input!! I really appreciate it.
@cpr, yah that is an awesome idea, I have dl’d midiox and have started investigating that possiblity alrdy!!

Does any1 know any good source code where I can see how the midi classes from Juce are used, cos I cant seem to find any good examples and the Juce demos dont really use the midi classes that much

Thanks so much!! :smiley:

Give me your email, and I can send you some code. :slight_smile:

Dude, not for that :wink:

The rest, like cpr said :slight_smile:
The MIDI classes are actually really straighforward to use, you can deduce the way they work really well from the documentation.
On the audio side of things, it’s a bit harder, but you’re not doing that, so you should be fine :slight_smile:

Cool thanks for the all the help guys!!! :smiley: