setVolumeSlider(0);
  public void createToolBar() {    trackGroup = new Composite(topPanel, SWT.BORDER);    skinManager.addControl(trackGroup, "panel.track");    trackGroup.setEnabled(false);    GridData gridData = new GridData();    gridData.horizontalAlignment = GridData.FILL;    gridData.grabExcessHorizontalSpace = true;    gridData.horizontalSpan = 1;    gridData.horizontalIndent = 10;    trackGroup.setLayoutData(gridData);        {        GridLayout layout = new GridLayout(2, false);        layout.marginHeight = 0;        trackGroup.setLayout(layout);    }        /*    expandButton = new Button(trackGroup, SWT.ARROW|SWT.RIGHT);    gridData = new GridData();    gridData.horizontalSpan = 1;    expandButton.setLayoutData(gridData);    */        trackLabel = new AlphaLabel(trackGroup, SWT.NONE);          // If you click on the title of the playing track, then the track table will      // jump to that track.    trackLabel.addMouseListener(new MouseAdapter() {      public void mouseDown(MouseEvent e)       {        trackTable.select(getSelectedTrack(), true);      }    });    skinManager.add(trackLabel, "label.track");    gridData = new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);    trackLabel.setLayoutData(gridData);     /*    expandButton.addSelectionListener(new SelectionAdapter() {        public void widgetSelected(SelectionEvent arg0) {          if(expandButton.getAlignment() == SWT.RIGHT) {              expandRatingMenu();          }          else {              collapseRatingMenu();          }        }          });      */        Composite trackToolbar = new Composite(trackGroup, SWT.FLAT);    skinManager.addControl(trackToolbar, "panel.trackToolbar");    {        GridData gd = new GridData();        gd.horizontalAlignment = GridData.END;        trackToolbar.setLayoutData(gd);        }    {        GridLayout layout = new GridLayout(7, false);        layout.horizontalSpacing = 3;        layout.marginHeight = 0;        trackToolbar.setLayout(layout);    }    final ThreeModeButton[] ratingButtons = new ThreeModeButton[ratingFunctions.length];    for (int i = 0; i < ratingFunctions.length; i++) {      RatingFunction rf = ratingFunctions[i];      ThreeModeButton button = ratingButtons[i] = new ThreeModeButton(trackToolbar, SWT.FLAT);      button.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_CENTER));      final int value = rf.getValue();      button.addSelectionListener(new SelectionAdapter() {        public void widgetSelected(SelectionEvent e) {          for (int i = 0; i < ratingButtons.length; i++) {            ThreeModeButton button = ratingButtons[i];            button.setSelection(button == e.widget);          }          Track track = getSelectedTrack();          if (track != null)              setRating(track, value);        }      });      rf.setItem(button);      button.setToolTipText(Resources.getString(rf.getName()));      skinManager.add(button, i == 0 ? rf.getName() : "button.star");    }      new AlphaLabel(trackToolbar, SWT.CENTER).setText("  ");    ThreeModeButton info = new ThreeModeButton(trackToolbar, SWT.FLAT);    info.setLayoutData(new GridData(GridData.FILL_VERTICAL));    final Client clientToPass = this;    info.addSelectionListener(new SelectionAdapter() {      public void widgetSelected(SelectionEvent e) {        Track track = getSelectedTrack();        if (track == null)          return;                TrackInfoDialog trackInfoDialog = new TrackInfoDialog(display, shell);        trackInfoDialog.displayTrackInfo(track, clientToPass);         }    });    info.setToolTipText(Resources.getString("button.info.tooltip"));    skinManager.add(info, "button.info");    /************ PREVIOUS BUTTON (<<) ****************/    previous = new ThreeModeButton(topPanel, SWT.NONE);    previous.setEnabled(false);//    gridData = new GridData();//    gridData.verticalAlignment = GridData.VERTICAL_ALIGN_END;//    previous.setLayoutData(gridData);        previous.addMouseListener(new MouseListener() {      public void mouseDoubleClick(MouseEvent arg0) {}      public void mouseDown(MouseEvent arg0) {}      public void mouseUp(MouseEvent arg0) {        if(previous.isEnabled()) {          skip(true);        }      }        });        previous.setToolTipText(Resources.getString("button.previous.tooltip"));    skinManager.add(previous, "button.previous");        /************ PLAY / PAUSE BUTTON  ****************/    play = new ThreeModeButton(topPanel, SWT.NONE);    //    gridData = new GridData();//    gridData.verticalAlignment = GridData.VERTICAL_ALIGN_END;//    play.setLayoutData(gridData);        play.addMouseListener(new MouseListener() {      public void mouseDoubleClick(MouseEvent arg0) {}      public void mouseDown(MouseEvent arg0) {}      public void mouseUp(MouseEvent arg0) {        setPaused(!isPaused());      }        });        skinManager.add(play, "button.play");        /************ NEXT BUTTON  ****************/    ThreeModeButton next = new ThreeModeButton(topPanel, SWT.NONE);        next.addMouseListener(new MouseListener() {      public void mouseDoubleClick(MouseEvent arg0) {}      public void mouseDown(MouseEvent arg0) {}      public void mouseUp(MouseEvent arg0) {        skip(false);      }        });        next.setToolTipText(Resources.getString("button.next.tooltip"));    skinManager.add(next, "button.next");        volumeScale = new Scale(topPanel, SWT.VERTICAL | SWT.FLAT);    volumeScale.setIncrement(1);    volumeScale.setPageIncrement(2);    volumeScale.setMaximum(VOLUME_SPAN / VOLUME_RESOLUTION);    setVolumeSlider(0);    volumeScale.setToolTipText(Resources.getString("slider.volume.tooltip"));    volumeScale.addSelectionListener(new SelectionAdapter() {      public void widgetSelected(SelectionEvent e) {        setPlayerVolume(getVolumeSlider());      }    });    gridData = new GridData();    gridData.heightHint = 75;    volumeScale.setLayoutData(gridData);        //songProgressBar = new TrackProgressBar(shell, SWT.NONE);  }