X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=MooView.java;h=1d15f2c8918fedfb1240e3051940fa67263568f6;hb=e471d9aaa190fa2a38f3eb08bbc4c6a29681d91e;hp=a5ceea42b9f5646924d9004b4caeab0d6a9eacd3;hpb=2ee5615787c8377a17a91158ea18adbae1aa74c2;p=moosique.git diff --git a/MooView.java b/MooView.java index a5ceea4..1d15f2c 100644 --- a/MooView.java +++ b/MooView.java @@ -14,6 +14,7 @@ public class MooView extends JScrollPane { private JPanel trackPanel; private JPanel titlePanel; + private MooViewCounter viewCounter; private int numberOfTracks; /** @@ -25,10 +26,15 @@ public class MooView extends JScrollPane { setViewportView(trackPanel); titlePanel = new JPanel(new GridLayout(1,3),true); - JViewport columnHeader = new JViewport(); columnHeader.setView(titlePanel); setColumnHeaderView(columnHeader); + + viewCounter = new MooViewCounter(4, 4); + JViewport rowHeader = new JViewport(); + rowHeader.setView(viewCounter); + setRowHeaderView(rowHeader); + setTracks(tracks); } @@ -37,6 +43,7 @@ public class MooView extends JScrollPane { * @param tracks the tracks for which to add views */ public void setTracks(Track[] tracks) { + setDoubleBuffered(true); numberOfTracks = tracks.length; trackPanel.removeAll(); titlePanel.removeAll(); @@ -61,7 +68,7 @@ public class MooView extends JScrollPane { for (int i = 1; i < tracks.length; i++) { trackPanel.add(new MooTrackView(tracks[i])); titlePanel.add(new MooTrackTitle(tracks[i],i)); - progressBar.setValue(i+1); + progressBar.setValue(i); } progressDialog.dispose(); } @@ -83,7 +90,7 @@ public class MooView extends JScrollPane { * Calls on each track view to update itself. */ public void update(long tickPosition) { - getViewport().setViewPosition(new Point((int)getViewport().getViewPosition().getX(), (int)(tickPosition / 24) * MooTrackView.NOTE_HEIGHT)); + getViewport().setViewPosition(new Point((int)getViewport().getViewPosition().getX(), (int)(tickPosition / (Moosique.getSequence().getResolution() / 4)) * MooTrackView.NOTE_HEIGHT)); Component[] comps = getComponents(); for (int i = 0; i < comps.length; i++) { if(comps[i] instanceof MooTrackView) ((MooTrackView)comps[i]).update(tickPosition);