public void addSongs() { //why is this called this
    if(fileChooser.showOpenDialog(mainFrame) == JFileChooser.APPROVE_OPTION) {
      File f = fileChooser.getSelectedFile();
      SoundDialog d = new SoundDialog(f.getName(), listViewControllers, mainFrame);
      d.showDialog();
      if(!d.getOk()) {
        return;
      }
      Sound newSound = null;
      ListViewController lvc = listViewControllers.get(d.getSelectedIndex());
      try {
        newSound = new Sound(DAO.getInstance().getLargestIDFor("sounds")+1, lvc.getList().getID(), d.getName(), d.getDescription(), DAO.copyFile(f));
      } catch(IOException e) {
        JOptionPane.showMessageDialog(mainFrame,
            "There was an unknown error while copying the sound file",
            "Error copying sound",
            JOptionPane.ERROR_MESSAGE);
        return;
      }
      listViewControllers.get(0).addSound(newSound);
      if(newSound.getListID() != -1) {
        lvc.addSound(newSound);
      }
      if(!newSound.save()) {
        JOptionPane.showMessageDialog(mainFrame,
            "Unable to save the sound to the DB",
            "DB error",
            JOptionPane.ERROR_MESSAGE);
        return;
      }
      SwingUtilities.updateComponentTreeUI(mainFrame); //<3
    }
  }