Announcement

Collapse
No announcement yet.

Midi Controlchange MSB + LSB

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Midi Controlchange MSB + LSB

    Hallo

    Ich bin an einer Projektarbeit in Java. Die Applikation wechselt über einen USB-Midi Adapter an diversen Musikinstrumenten die Bank und das Programm. Dies gelingt mir auch an einem Gerät, jedoch der Synthesizer (Korg Triton) nimmt den Befehl nicht an. Um Ihn zu steuern müsste ich beide Bank-select Controller senden MSB Controller 00 mit dem Wert 0 und den LSB Controller 32 mit dem Wert der Bank 0 - 30. Leider finde ich nicht die geeignete Methode um beide Controller senden zu können.
    Könnte mir von Euch jemand behilflich sein?

    Danke schon mal

    Hier mein Code:

    public void setProgramChange(int deviceNumber, int channel,
    int bank, int program) throws Exception {
    // Device anlegen
    MidiDevice device = MidiSystem.getMidiDevice(MidiSystem.getMidiDeviceI nfo()[deviceNumber]);

    // Device öffnen
    openDevice(device);

    Receiver r = null;
    try {
    r = device.getReceiver();
    } catch (MidiUnavailableException ex) {
    System.out.println("- Receiver kann nicht geöffnet werden.");
    }

    // Message erzeugen
    ShortMessage msgControlChange = new ShortMessage();
    ShortMessage msgProgramChange = new ShortMessage();

    // Message mit Daten füllen
    msgControlChange.setMessage(ShortMessage.CONTROL_C HANGE, channel,00, bank);

    msgProgramChange.setMessage(ShortMessage.PROGRAM_C HANGE,channel, Program,0);

    // Message an Receiver senden
    try {
    r.send(msg, -1);
    } catch (NullPointerException ex) {
    System.out.println("- Message kann nicht gesendet werden, da kein
    Receiver vorhanden");
    }
    // Device schliessen
    device.close();
    }
Working...
X