Project 5 - myTunes++

Due Friday 5/8 - 5PM

The goals of this project are as follows:
  • practice implementing sorting algorithms
  • gain experience with modular code design/redesign
For this project you will extend your original myTunes music player to support searching, sorting, and an additional feature of your choice. 
  1. Required: (20 points) Search by artist - allow the user to enter the name, or partial name, of an artist and display all songs by that artist.  When the user is finished looking at the search results, allow the user to go back to the main library (e.g., by clicking a button).
  2. Required: (20 points) Search by title - allow the user to enter a title, or partial title, and display all songs with a title that matches or contains the search term.  When the user is finished looking at the search results, allow the user to go back to the main library (e.g., by clicking a button).
  3. Required: (20 points) Sort by artist - allow the user to view the songs sorted by artist name.  For full credit, you must implement your own sorting algorithm, not use a library.
  4. Required: (20 points) Sort by title - allow the user to view the songs sorted by title.  For full credit, you must implement your own sorting algorithm, not use a library.
  5. Choose 1 or more of the following optional features.  Your grade will be out of 100 total points.  Extra points may be awarded for extra features.  No points will be awarded for features implemented as extra credit features for Project 4.
    1. Add - (5 points) Provide a menu option that will allow a user to add songs to an existing library.
    2. Previous - (10 points) Allow the user to go back to the previous song.
    3. Podcasts - (20 points) Allow the user to download and listen to podcasts.
    4. Merge Libraries - (10 points) Allow the user to merge two existing libraries.
    5. Playlists - (20 points) Allow the user to create playlists that contain only a subset of the songs in a given library.  The playlist will be saved, along with the full song list, when the library is exported.  If a user selects a playlist, the player will play only the songs in the list.

Comments