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

Possible To Add JUCE MidiKeyboard Component to use with Piano Roll #259

Open
titus-shoats opened this issue Mar 6, 2023 · 1 comment
Open

Comments

@titus-shoats
Copy link

Hello I would like to know if someone can point me in the right direction on adding JUCE MidiKeyboard Component to use with Helio's Piano Roll? I know its possible. I've built Helio from source, and from looking through the code I'm assuming I would need to use Helio's "Synthesizer" class in DefaultSynth.cpp to route all midi through the juce midi keyboard component. But I'm not to sure how I would then add JUCE MidiKeyboardComponent . Im not sure which of Helio's GUI components I would need to also modify to add the juce midi keyboard component to.

Would anyone be able to help me with this?

Thanks so much

@peterrudenko
Copy link
Member

I would like to know if someone can point me in the right direction on adding JUCE MidiKeyboard Component to use with Helio's Piano Roll?

You can take a look at how JUCE's AudioPluginHost example works with MidiKeyboardComponent: to send notes which are clicked on in the keyboard to instrument(s) of your choice, you maintain a MidiKeyboardState object, and register a specific MidiMessageCollector as it's listener. The list of all instruments is available in Helio's AudioCore class, and the access to instrument's message collector would look like instrument->getProcessorPlayer().getMidiMessageCollector(). Hope it helps.

Im not sure which of Helio's GUI components I would need to also modify to add the juce midi keyboard component to.

I guess it would be somewhere around SequencerLayout class or one of its children, like piano roll, but it totally depends on what you want to do.

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

No branches or pull requests

2 participants