Commit 2ac7bb21 authored by Trisha Gee's avatar Trisha Gee
Browse files

[Ch14] Updating MiniMusicPlayer2 with updated makeEvent method, and to use lambdas

parent 8d9b8b35
Loading
Loading
Loading
Loading
+5 −8
Changes for src/main/java/ch14/MiniMusicPlayer2.java: 5 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ import javax.sound.midi.*;

import static javax.sound.midi.ShortMessage.*;

public class MiniMusicPlayer2 implements ControllerEventListener {
public class MiniMusicPlayer2 {
  public static void main(String[] args) {
    MiniMusicPlayer2 mini = new MiniMusicPlayer2();
    mini.go();
@@ -16,7 +16,7 @@ public class MiniMusicPlayer2 implements ControllerEventListener {
      sequencer.open();

      int[] eventsIWant = {127};
      sequencer.addControllerEventListener(this, eventsIWant);
      sequencer.addControllerEventListener(event -> System.out.println("la"), eventsIWant);

      Sequence seq = new Sequence(Sequence.PPQ, 4);
      Track track = seq.createTrack();
@@ -35,15 +35,12 @@ public class MiniMusicPlayer2 implements ControllerEventListener {
    }
  }

  public void controlChange(ShortMessage event) {
    System.out.println("la");
  }

  public MidiEvent makeEvent(int comd, int chan, int one, int two, int tick) {
  // for some commands one = note, and for others one = instrument
  public static MidiEvent makeEvent(int cmd, int chnl, int one, int two, int tick) {
    MidiEvent event = null;
    try {
      ShortMessage msg = new ShortMessage();
      msg.setMessage(comd, chan, one, two);
      msg.setMessage(cmd, chnl, one, two);
      event = new MidiEvent(msg, tick);
    } catch (Exception e) {
      e.printStackTrace();
+3 −5
Changes for src/main/java/ch14/MiniMusicPlayer3.java: 3 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -50,21 +50,19 @@ public class MiniMusicPlayer3 {
    }
  }


  public MidiEvent makeEvent(int comd, int chan, int one, int two, int tick) {
  // for some commands one = note, and for others one = instrument
  public static MidiEvent makeEvent(int cmd, int chnl, int one, int two, int tick) {
    MidiEvent event = null;
    try {
      ShortMessage msg = new ShortMessage();
      msg.setMessage(comd, chan, one, two);
      msg.setMessage(cmd, chnl, one, two);
      event = new MidiEvent(msg, tick);

    } catch (Exception e) {
      e.printStackTrace();
    }
    return event;
  }


  class MyDrawPanel extends JPanel implements ControllerEventListener {
    private boolean msg = false;