private void updateTrackListView() {
        trackList.clear();

        ArrayList<Track> availableTracks = (ArrayList<Track>) library.clone();

        //if there is an artist selected, filter the results
        if(selectedArtist != null && !selectedArtist.isEmpty()) {
            availableTracks = Database.search(availableTracks, "artist", selectedArtist);
        }

        //likewise for albums
        if(selectedAlbum != null && !selectedAlbum.isEmpty()) {
            availableTracks = Database.search(availableTracks, "album", selectedAlbum);
        }

        //add selected tracks to listmodel, wrapping in TrackJListItem objects
        for(Track t : availableTracks) {
            trackList.add(new TrackListItem(t));
        }
    }