+ /**
+ * Adds the given note to the current track, and visualises it.
+ * @param mn the note to add
+ */
+ public void addNote(MooNote mn) {
+ mn.addTo(track);
+ MooNoteElement elem = new MooNoteElement(this, mn);
+ add(elem);
+ layoutElement(elem, false);
+ setPreferredSize(new Dimension(VIEW_WIDTH, viewLength + extraHeight));
+ repaint();
+ }
+
+ /**
+ * Removes the given note element from the view and its note from the current track.
+ * @param elem the note element to remove
+ */
+ public void removeNote(MooNoteElement elem) {
+ elem.getNote().removeFrom(track);
+ remove(elem);