]> ruin.nu Git - moosique.git/blobdiff - MooNote.java
no message
[moosique.git] / MooNote.java
index cd71ffbc1f065e98c89616c849bc4a6610b157ca..78e1564064161aac20851980d249eb97771efaf5 100644 (file)
@@ -50,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!");}
        }
 
        /** 
@@ -75,6 +75,14 @@ public class MooNote extends MidiEvent {
                } catch (InvalidMidiDataException e) {}
        }
 
+       /** 
+        * Transposes the current note the given number of halftones.
+        * @param halftones             the number of halftones to transpose - positive for up, negative for down
+        */
+       public void transpose(int halftones) {
+               setPitch(getPitch() + halftones);
+       }
+
        /** 
         * Sets the velocity of the current note.
         * @param vel   the velocity of the note (0-127)
@@ -99,7 +107,7 @@ public class MooNote extends MidiEvent {
         * @param tick  the timestamp of the note in ticks (96 per beat)
         */
        public void setTick(long tick) {
-               if (hasNoteOffEvent()) noteOffEvent.setTick(tick +  getDuration());
+               if (hasNoteOffEvent()) noteOffEvent.setTick(tick + getDuration());
                super.setTick(tick);
        }
 
@@ -144,11 +152,19 @@ public class MooNote extends MidiEvent {
                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);