private void listenForSeqrEvents(final Sequencer seqr) throws Throwable { // Code initially copied from jsresources.org seqr.addMetaEventListener(new MetaEventListener() { public void meta(MetaMessage message) { getLogger().info("%%% MetaMessage: " + message); getLogger().info("%%% MetaMessage type: [{}] length: {}", message.getType(), message.getLength()); String decodedMsg = decodeMessage(message); getLogger().info("Decoded as: " + decodedMsg); // Meta event 47 is "end of track" if (message.getType() == 47) { noticeSeqrTrackEnd(seqr); } } }); int[] allControllersMask = new int[128]; for (int i = 0; i < allControllersMask.length; i++) { allControllersMask[i] = i; } seqr.addControllerEventListener( new ControllerEventListener() { public void controlChange(ShortMessage message) { getLogger().info("%%% ShortMessage: {}", message); getLogger().info("%%% ShortMessage controller={}, value={} ", message.getData1(), message.getData2()); } }, allControllersMask); } private void noticeSeqrTrackEnd(final Sequencer seqr) {
sequencer.addControllerEventListener(dp, new int[]{0}); return sequencer; } catch (InvalidMidiDataException | MidiUnavailableException e) {
int[] listeningTo = sequencer.addControllerEventListener(cel, types); StringBuilder sb = new StringBuilder(); for (int ii = 0; ii < listeningTo.length; ii++) {
Sequencer sequencer = MidiSystem.getSequencer(); sequencer.open(); sequencer.addControllerEventListener(ml, new int[] { 127 });