26.07.2013 Views

Java How to Program Fourth Edition - DCC

Java How to Program Fourth Edition - DCC

Java How to Program Fourth Edition - DCC

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 22 <strong>Java</strong> Media Framework and <strong>Java</strong> Sound (on CD) 1293<br />

49<br />

50 if ( receiver == null ) {<br />

51 System.err.println(<br />

52 "Receiver unavailable for sequencer" );<br />

53 return false;<br />

54 }<br />

55<br />

56 // set receiver for transmitter <strong>to</strong> send MidiMessages<br />

57 transmitter.setReceiver( receiver );<br />

58<br />

59 makeTrack();<br />

60 }<br />

61<br />

62 // invalid timing division specification for new sequence<br />

63 catch ( InvalidMidiDataException invalidMidiException ) {<br />

64 invalidMidiException.printStackTrace();<br />

65 return false;<br />

66 }<br />

67<br />

68 // sequencer or receiver unavailable<br />

69 catch ( MidiUnavailableException noMidiException ) {<br />

70 noMidiException.printStackTrace();<br />

71 return false;<br />

72 }<br />

73<br />

74 // MIDI recorder initialization successful<br />

75 return true;<br />

76<br />

77 } // end method initialize<br />

78<br />

79 // make new empty track for sequence<br />

80 public void makeTrack()<br />

81 {<br />

82 // if previous track exists, delete it first<br />

83 if ( track != null )<br />

84 sequence.deleteTrack( track );<br />

85<br />

86 // create track in sequence<br />

87 track = sequence.createTrack();<br />

88 }<br />

89<br />

90 // start playback of loaded sequence<br />

91 public void play()<br />

92 {<br />

93 sequencer.start();<br />

94 }<br />

95<br />

96 // start recording in<strong>to</strong> sequence<br />

97 public void startRecord()<br />

98 {<br />

99 // load sequence in<strong>to</strong> recorder and start recording<br />

100 try {<br />

101 sequencer.setSequence( sequence );<br />

Fig. Fig. 22.8 22.8 MidiRecord enables a program <strong>to</strong> record a MIDI sequence (part 2 of 3).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!