public class MooTrackView extends JPanel implements ActionListener {
private Track track;
- private MooTrackTitle title;
private NoteArea notes;
private Rectangle box;
private JPopupMenu popup;
public MooTrackView (Track track) {
super(true);
this.track = track;
- //setPreferredSize(new Dimension(200, 9000));
setLayout(new BorderLayout());
- // setBorder(BorderFactory.createLineBorder(Color.black));
-
- //title = new MooTrackTitle(track);
- //title.setBorder(BorderFactory.createLineBorder(Color.black));
- //add(title, BorderLayout.NORTH);
notes = new NoteArea(track);
notes.setBackground(Color.white);
menuItem.addActionListener(this);
popup.add(menuItem);
-
notePopup = new JPopupMenu();
menuItem = new JMenuItem("Preferences...");
menuItem.addActionListener(this);
notePopup.add(menuItem);
- notes.addMouseListener(new PopupListener());
+// notes.addMouseListener(new PopupListener());
add(notes, BorderLayout.CENTER);
}
MidiEvent note;
MooNoteElement elem;
int x, y, height;
+ int beatsPerSixteenth = Moosique.getSequence().getResolution() / 4;
rects = new ArrayList(track.size() / 2);
// Placing note elements
// Moves the note element to the appropriate place.
x = insets.left;
- y = insets.top + (int)(mn.getTick() / 24) * NOTE_HEIGHT;
- height = (mn.getDuration() / 24) * NOTE_HEIGHT;
+ y = insets.top + (int)(mn.getTick() / beatsPerSixteenth) * NOTE_HEIGHT;
+ height = (mn.getDuration() / beatsPerSixteenth) * NOTE_HEIGHT;
if (height == 0) height = NOTE_HEIGHT;
Rectangle r = new Rectangle(x, y, NOTE_WIDTH, height);
while(isOccupied(r)) r.translate(NOTE_WIDTH, 0);