title: Java result 1 error
body: <p>I wanted to create a midi file which consist of these notes. I took this code from internet. If i can find out the problem to this i can go further. When i run this application i only get an error call "java result 1" error. What i need is after i run this there there should be a midi file generated which consist of the notes which i have passed. The complete code is available. </p>
  
  <pre><code>public class CreateSequence{
    private static final int VELOCITY = 64;
    public static void main(String[] args) {
      if (args.length != 1) {
          printUsageAndExit();
      }
      File outputFile = new File(args[0]);
      Sequence    sequence = null;
      try {
          sequence = new Sequence(Sequence.PPQ, 1);
      } catch (InvalidMidiDataException e) {
          e.printStackTrace();
          System.exit(1);
      }   
      Track track = sequence.createTrack();
  
      // first chord: C major
      track.add(createNoteOnEvent(60, 0));
      track.add(createNoteOnEvent(64, 0));
      track.add(createNoteOnEvent(67, 0));
      track.add(createNoteOnEvent(72, 0));
      track.add(createNoteOffEvent(60, 1));
      track.add(createNoteOffEvent(64, 1));
      track.add(createNoteOffEvent(67, 1));
      track.add(createNoteOffEvent(72, 1));
  
      // second chord: f minor N
      track.add(createNoteOnEvent(53, 1));
      track.add(createNoteOnEvent(65, 1));
      track.add(createNoteOnEvent(68, 1));
      track.add(createNoteOnEvent(73, 1));
      track.add(createNoteOffEvent(63, 2));
      track.add(createNoteOffEvent(65, 2));
      track.add(createNoteOffEvent(68, 2));
      track.add(createNoteOffEvent(73, 2));
  
      // third chord: C major 6-4
      track.add(createNoteOnEvent(55, 2));
      track.add(createNoteOnEvent(64, 2));
      track.add(createNoteOnEvent(67, 2));
      track.add(createNoteOnEvent(72, 2));
      track.add(createNoteOffEvent(64, 3));
      track.add(createNoteOffEvent(72, 3));
  
      // forth chord: G major 7
      track.add(createNoteOnEvent(65, 3));
      track.add(createNoteOnEvent(71, 3));
      track.add(createNoteOffEvent(55, 4));
      track.add(createNoteOffEvent(65, 4));
      track.add(createNoteOffEvent(67, 4));
      track.add(createNoteOffEvent(71, 4));
  
      // fifth chord: C major
      track.add(createNoteOnEvent(48, 4));
      track.add(createNoteOnEvent(64, 4));
      track.add(createNoteOnEvent(67, 4));
      track.add(createNoteOnEvent(72, 4));
      track.add(createNoteOffEvent(48, 8));
      track.add(createNoteOffEvent(64, 8));
      track.add(createNoteOffEvent(67, 8));
      track.add(createNoteOffEvent(72, 8));
  
      //Now we just save the Sequence to the file we specified.
      //The '0' (second parameter) means saving as SMF type 0.
      //Since we have only one Track, this is actually the only option
      //(type 1 is for multiple tracks).
      try {
          MidiSystem.write(sequence, 0, outputFile);
      } catch (IOException e) {
          e.printStackTrace();
          System.exit(1);
      }
    }
  
    private static MidiEvent createNoteOnEvent(int nKey, long lTick) {
      return createNoteEvent(ShortMessage.NOTE_ON, nKey, VELOCITY, lTick);
    }
  
    private static MidiEvent createNoteOffEvent(int nKey, long lTick) {
      return createNoteEvent(ShortMessage.NOTE_OFF, nKey, 0, lTick);
    }
  
    private static MidiEvent createNoteEvent(int nCommand, int nKey,
                                             int nVelocity, long lTick) {
      ShortMessage message = new ShortMessage();
      try {
          message.setMessage(nCommand, 0, nKey, nVelocity); // 0 always on channel 1
      } catch (InvalidMidiDataException e) {
          e.printStackTrace();
          System.exit(1);
      }
      MidiEvent event = new MidiEvent(message, lTick);
      return event;
    }
  
    private static void printUsageAndExit(){
          out("usage:");
          out("java CreateSequence &lt;midifile&gt;");
          System.exit(1);
    }
  
    private static void out(String strMessage) {
      System.out.println(strMessage);
    }
  }
  </code></pre>
  
  <p>This is the output</p>
  
  <pre><code>   usage:
     java CreateSequence &lt;midifile&gt;
     Java Result: 1
  </code></pre>