downloadThread.checkAutoDownload(); previous.setEnabled(playThread.hasHistory());
finally { if (monitor[0] != null) synchronized (monitor[0]) { monitor[0].notify(); } }
      public void run() {        //synchronizePlaylist(playListManager, tblSongs);        Track track = playThread.getCurrentTrack();        String s = track.toString();        //    lblTitle.setText(s);        shell.setText("iRATE radio - " + s);        volumeScale.setSelection(          (track.getVolume() + VOLUME_OFFSET) / VOLUME_RESOLUTION);        TableItem item = (TableItem) hashSongs.get(track);        tblSongs.select(tblSongs.indexOf(item));        tblSongs.showItem(item);        //just in case :)        track2TableItem(track, item);        if (track != previousTrack) {          if (previousTrack != null)            track2TableItem(              previousTrack,              (TableItem) hashSongs.get(previousTrack));          previousTrack = track;        }        downloadThread.checkAutoDownload();        previous.setEnabled(playThread.hasHistory());      }