List of usage examples for javax.sound.midi ShortMessage getCommand
public int getCommand()
From source file:de.ailis.midi4js.MessageReceiver.java
/** * Processes a short message.//from w ww . ja v a2s . c o m * * @param message * The message to process. * @param json * The JSON stringer. * @throws JSONException * When JSON output fails. */ private void processShortMessage(final ShortMessage message, final JSONStringer json) throws JSONException { json.key("class").value("ShortMessage"); json.key("channel").value(message.getChannel()); json.key("command").value(message.getCommand()); json.key("data1").value(message.getData1()); json.key("data2").value(message.getData2()); }
From source file:org.monome.pages.MachineDrumInterfacePage.java
public void send(MidiMessage message, long timeStamp) { if (this.recv == null) { return;//from w w w. j av a 2 s . c om } // pass midi clock messages on to the machinedrum for tempo sync ShortMessage shortMessage; if (message instanceof ShortMessage) { shortMessage = (ShortMessage) message; switch (shortMessage.getCommand()) { case 0xF0: // midi clock message if (shortMessage.getChannel() == 0x08) { this.recv.send(message, timeStamp); } // midi start message if (shortMessage.getChannel() == 0x0A) { this.recv.send(message, timeStamp); } // midi stop message if (shortMessage.getChannel() == 0x0C) { this.recv.send(message, timeStamp); } break; default: this.recv.send(message, timeStamp); break; } } }
From source file:org.monome.pages.Configuration.java
public void send(MidiMessage message, long lTimeStamp) { ShortMessage shortMessage; // pass all messages along to all monomes (who pass to all pages) for (int i = 0; i < this.numMonomeConfigurations; i++) { this.monomeConfigurations.get(i).send(message, lTimeStamp); }//w ww . j a v a 2s. com // filter for midi clock ticks or midi reset messages if (message instanceof ShortMessage) { shortMessage = (ShortMessage) message; switch (shortMessage.getCommand()) { case 0xF0: if (shortMessage.getChannel() == 8) { for (int i = 0; i < this.numMonomeConfigurations; i++) { this.monomeConfigurations.get(i).tick(); } } if (shortMessage.getChannel() == 0x0C) { for (int i = 0; i < this.numMonomeConfigurations; i++) { this.monomeConfigurations.get(i).reset(); } } break; default: break; } } }
From source file:org.monome.pages.configuration.MonomeConfiguration.java
/** * Called every time a MIDI message is received, the messages are passed along to each page. * /* w w w.ja va 2 s. c o m*/ * @param message The MIDI message received * @param timeStamp The timestamp of the MIDI message */ public synchronized void send(MidiDevice device, MidiMessage message, long timeStamp) { if (this.useMIDIPageChanging) { if (message instanceof ShortMessage) { ShortMessage msg = (ShortMessage) message; int velocity = msg.getData1(); if (msg.getCommand() == ShortMessage.NOTE_ON && velocity > 0) { int channel = msg.getChannel(); int note = msg.getData1(); for (int j = 0; j < this.pageChangeMidiInDevices.length; j++) { if (this.pageChangeMidiInDevices[j] == null) { continue; } if (this.pageChangeMidiInDevices[j].compareTo(device.getDeviceInfo().getName()) == 0) { for (int i = 0; i < this.midiPageChangeRules.size(); i++) { MIDIPageChangeRule mpcr = this.midiPageChangeRules.get(i); if (mpcr.checkNoteRule(note, channel) == true) { int switchToPageIndex = mpcr.getPageIndex(); Page page = this.pages.get(switchToPageIndex); this.switchPage(page, switchToPageIndex, true); } } } } } if (msg.getCommand() == ShortMessage.CONTROL_CHANGE) { int cc = msg.getData1(); int ccVal = msg.getData2(); int channel = msg.getChannel(); for (int j = 0; j < this.pageChangeMidiInDevices.length; j++) { if (this.pageChangeMidiInDevices[j] == null) { continue; } if (this.pageChangeMidiInDevices[j].compareTo(device.getDeviceInfo().getName()) == 0) { for (int i = 0; i < this.midiPageChangeRules.size(); i++) { MIDIPageChangeRule mpcr = this.midiPageChangeRules.get(i); if (mpcr.checkCCRule(cc, ccVal, channel) == true) { int switchToPageIndex = mpcr.getPageIndex(); Page page = this.pages.get(switchToPageIndex); this.switchPage(page, switchToPageIndex, true); } } } } } } } for (int i = 0; i < this.numPages; i++) { for (int j = 0; j < this.midiInDevices[i].length; j++) { if (this.midiInDevices[i][j] == null) { continue; } if (this.midiInDevices[i][j].compareTo(device.getDeviceInfo().getName()) == 0) { this.pages.get(i).send(message, timeStamp); } } } }
From source file:org.monome.pages.configuration.Configuration.java
/** * Called by MIDIInReceiver objects when a MIDI message is received. * /* w ww .j a va2 s . c o m*/ * @param device The MidiDevice the message was received from * @param message The MidiMessage * @param lTimeStamp The time when the message was received */ public void send(MidiDevice device, MidiMessage message, long lTimeStamp) { ShortMessage shortMessage; // pass all messages along to all monomes (who pass to all pages) for (int i = 0; i < MonomeConfigurationFactory.getNumMonomeConfigurations(); i++) { MonomeConfiguration monomeConfig = MonomeConfigurationFactory.getMonomeConfiguration(i); if (monomeConfig != null) { monomeConfig.send(device, message, lTimeStamp); } } for (int i = 0; i < ArcConfigurationFactory.getNumArcConfigurations(); i++) { ArcConfiguration arcConfig = ArcConfigurationFactory.getArcConfiguration(i); if (arcConfig != null) { arcConfig.send(device, message, lTimeStamp); } } // filter for midi clock ticks or midi reset messages if (message instanceof ShortMessage) { shortMessage = (ShortMessage) message; switch (shortMessage.getCommand()) { case 0xF0: if (shortMessage.getChannel() == 8) { for (int i = 0; i < MonomeConfigurationFactory.getNumMonomeConfigurations(); i++) { MonomeConfiguration monomeConfig = MonomeConfigurationFactory.getMonomeConfiguration(i); if (monomeConfig != null) { monomeConfig.tick(device); } } for (int i = 0; i < ArcConfigurationFactory.getNumArcConfigurations(); i++) { ArcConfiguration arcConfig = ArcConfigurationFactory.getArcConfiguration(i); if (arcConfig != null) { arcConfig.tick(device); } } } if (shortMessage.getChannel() == 0x0C) { for (int i = 0; i < MonomeConfigurationFactory.getNumMonomeConfigurations(); i++) { MonomeConfiguration monomeConfig = MonomeConfigurationFactory.getMonomeConfiguration(i); if (monomeConfig != null) { monomeConfig.reset(device); } } for (int i = 0; i < ArcConfigurationFactory.getNumArcConfigurations(); i++) { ArcConfiguration arcConfig = ArcConfigurationFactory.getArcConfiguration(i); if (arcConfig != null) { arcConfig.reset(device); } } } break; default: break; } } }