]> ruin.nu Git - moosique.git/blobdiff - MooNote.java
font settings..
[moosique.git] / MooNote.java
index 6cb9f9e49d7051773ff44575df0a42074deb7479..fbc0668a4381b2b64d24bec2ac2d7ea9a499f793 100644 (file)
@@ -36,14 +36,13 @@ public class MooNote extends MidiEvent {
 
        /** 
         * Creates a MooNote of the given pitch, velocity and duration in the current track.
-        * @param track         the track to which the MooNote was added
         * @param channel       the channel of the note (1-16)
         * @param pitch         the pitch of the note (0-127)
         * @param velocity      the velocity of the note (0-127)
         * @param timestamp     the timestamp of the note in ticks (96 per beat)
         * @param duration      the duration of the note in ticks (96 per beat)
         */
-       public MooNote (int track, int channel, int pitch, int velocity, long timestamp, int duration) {
+       public MooNote (int channel, int pitch, int velocity, long timestamp, int duration) {
                super(new ShortMessage(), timestamp);
                noteOffEvent = new MidiEvent(new ShortMessage(), timestamp + duration);
                noteOnMsg = (ShortMessage)getMessage();
@@ -51,7 +50,7 @@ public class MooNote extends MidiEvent {
                try {
                        noteOnMsg.setMessage(ShortMessage.NOTE_ON, channel, pitch, velocity);
                        noteOffMsg.setMessage(ShortMessage.NOTE_OFF, channel, pitch, 0);
-               } catch (InvalidMidiDataException e) {}
+               } catch (InvalidMidiDataException e) {System.out.println("Invalid data!");}
        }
 
        /** 
@@ -144,4 +143,22 @@ public class MooNote extends MidiEvent {
        public boolean hasNoteOffEvent() {
                return noteOffEvent != null;
        }
+
+       /**
+        * Adds this note (both noteOn and noteOffEvents) to a track.
+        * @param track the track it'll be added to.
+        */
+       public void addTo(Track track){
+               track.add(this);
+               if (hasNoteOffEvent()) track.add(noteOffEvent);
+       }
+       
+       /**
+        * Removes this note (both noteOn and noteOffEvents) from a track.
+        * @param track the track it'll be removed from.
+        */
+       public void removeFrom(Track track){
+               track.remove(this);
+               if (hasNoteOffEvent()) track.remove(noteOffEvent);
+       }
 }