I want to populate a ComboBox with the default 128 MIDI instruments, but calling Synthesizer.getDefaultSoundbank().getInstruments() returns a list of every instrument available (more than 400 on my machine).
I then copy the list of all the available instruments into an Object array (named _instruments), although it gives me everything I could ever need, I only need the first 128 elements.
_soundbank = _synthesizer.getDefaultSoundbank();
_synthesizer.loadAllInstruments(_soundbank);
_synthesizer.close();
_instrument = _soundbank.getInstruments();
Is there a specific way to get the first set of instruments or would it be possible to simply trim anything after the first 128 elements in an array? That way I would only be left with the first full set.
I hope that makes sense, it’s an awkward scenario. Thanks!
The shortest and more comfortable way to do it would be using
Arrays.copyOf. See below:See the Javadoc for more info.