X-Git-Url: https://ruin.nu/git/?p=moosique.git;a=blobdiff_plain;f=MooView.java;h=d64f8852610d874a4039291e392b3970e1c8a1bd;hp=29314d96abc22b5a8409f197e3f24ccd9c2ce2aa;hb=948e069926266ead58bc5466520e131941f2466c;hpb=ae45edfc5dff1e0a098df4afe747a2dec6c90362 diff --git a/MooView.java b/MooView.java index 29314d9..d64f885 100644 --- a/MooView.java +++ b/MooView.java @@ -37,6 +37,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(); @@ -44,7 +45,7 @@ public class MooView extends JScrollPane { // If MIDI file is of type 0, creates a view for the track. trackPanel.setLayout(new FlowLayout()); trackPanel.add(new MooTrackView(tracks[0])); - titlePanel.add(new MooTrackTitle(tracks[0])); + titlePanel.add(new MooTrackTitle(tracks[0],0)); } else { // Creates dialog for progress bar. JDialog progressDialog = new JDialog(Moosique.getGUI(), "Visualizing...", false); @@ -60,8 +61,8 @@ public class MooView extends JScrollPane { trackPanel.setLayout(new GridLayout(1,numberOfTracks)); for (int i = 1; i < tracks.length; i++) { trackPanel.add(new MooTrackView(tracks[i])); - titlePanel.add(new MooTrackTitle(tracks[i])); - progressBar.setValue(i+1); + titlePanel.add(new MooTrackTitle(tracks[i],i)); + progressBar.setValue(i); } progressDialog.dispose(); } @@ -83,7 +84,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); @@ -99,7 +100,7 @@ public class MooView extends JScrollPane { ((GridLayout)trackPanel.getLayout()).setColumns(++numberOfTracks); ((GridLayout)titlePanel.getLayout()).setColumns(++numberOfTracks); trackPanel.add(new MooTrackView(track), index); - titlePanel.add(new MooTrackTitle(track), index); + titlePanel.add(new MooTrackTitle(track,index), index); validate(); }