0% found this document useful (0 votes)
8 views23 pages

Final Project Report

Uploaded by

233606
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views23 pages

Final Project Report

Uploaded by

233606
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

WELCOME

TITLE:
MUSIC PLAYER
APPLICATION
3
TEAM MEMBERS:

• MUHAMMAD ALI 233510


• MUHAMMAD HASSAN 233516
• SADIA KHAN 233544
• DANISH BUTT 233606

4
Objectives
Project Goals:
•Develop a functional music player application with
multiple playlists.
•Enable operations like adding, deleting, and shuffling
songs in playlists.
•Implement a real-time playback system with user
controls for play, pause, skip, and like.
•Track recently played and most-played songs for better
user experience.

5
INTRODUCTION

• The project is a C++ based music player application


designed to manage playlists, songs, and playback.
• It includes multiple features like song addition, deletion,
shuffling, playback controls, and more.
• This project implements a dynamic and user-interactive
Music Player Application using C++.
• Features include playlist management, song playback,
recent and liked song tracking, shuffling, and more.
• Utilizes object-oriented programming (OOP), data
structures, and efficient algorithms.
6
 KEY FEATURES

Playlists management: multiple playlists can be


created, and songs can be added or removed from
them.
Playback features: users can play specific songs,
all songs in a playlist, or even shuffl e playlists.
Liked songs: option to like songs and view them
later.
Most played songs: display the most played songs.
Recent songs: keep track of recently played songs.
WORKFLOW
PROCESS:
User chooses a playlist

Actions like
Insert Image
add/delete/play/shuffle are
executed.
Outputs are displayed in real
time
LIBRARIES USED IN THE SYSTEM
•Used for input and output operations,
allowing user
<iostream>
interaction and displaying feedback
during the program’s execution.
• Provides dynamic array functionality,

<vector> used to manage playlists and store


songs efficiently for adding, deleting,
and accessing songs.
LIBRARIES USED IN THE SYSTEM
Includes the Sleep() function for time-based
<windows.h simulations,
used to create pauses during song playback
> to mimic
real-time listening experience.

Implements real-time user input detection using


_kbhit() and _getch(), enabling interactive playbac
<conio.h> controls
such as pause, resume, skip, and like functionality.
MENU-
DRIVEN
INTERFACE
The menu allows users
to perform various
operations such as
adding playlists,
managing songs,
shuffling playlists, and
viewing recently
played or liked songs.
Each option is
validated to ensure
accurate input.
SYSTEM DESIGN
Manages the individual song
Song Class details (e.g., name, play
count, next/previous song).

Manages a collection of songs,


Playlist Class provides functionality for adding,
deleting, and shuffling songs.

Provides a menu-driven interface for


Main users to interact with playlists, songs,
Application and playback functionalities.
12
FUNCTIONALITIES
• Add a Playlist:
• Users can create new playlists.
• Add a Song to Playlist:
• Users can add songs to specific playlists.
• Delete Song by Name:
• Users can search and delete songs by name.
• Shuffle Playlist:
• Randomly reorder the songs within a playlist.
• Play Songs:
• Users can play songs either by index, shuffle, or from recent playlists.
13
Data Structures in Use
Circular Doubly-Linked List: Efficient song
traversal, especially for shuffling.
Dynamic Arrays: Scalable playlist storage.
Vectors: Flexible storage for liked and most
played songs.
Queues: Recent songs tracking.
14
INTERACTIVE PLAYBACK

 Simulates playback using a time delay.


Interactive user controls :
• Pause (P)
• Like (L)
• Stop (S)
• Forward (F)
• Skip Backward (B)

15
PLAYLIST OPERATIONS
SONG ADDITION :
-ALLOWS USER TO EDIT PLAYLIST AND ADD SONGS BY NAME.
-VALID INPUT TO PREVENT ERRORS.

SONG DELETION
USERS CAN DELETE SONG BY :
.INDEX
.NAME

16
SHUFFLE FEATURE

• Randomizes song order using a shuffle


algorithm.
• Enhances user experience with varied
playback order.

Recently Played Songs


• Maintains the last 10 played songs
using a queue.
• Allows quick replay of recent favorites.
17
INPUT VALIDATION

1. Range Validation for Menu Options:


• Ensures the user selects options between 1 and the
available range (e.g., playlists or menu choices)..
2. String Validation:
Validates non-empty and alphanumeric song names.
Prevents invalid characters or blank inputs.
18
3. Three Attempts for Input Correction:
 To handle invalid inputs gracefully, the system allows up to
three attempts for the user to correct their input.

4. Data Consistency Checks:


 Ensures operations like deleting or playing songs are only
performed if valid data exists (e.g., playlists are not empty).
 Prevents crashes by checking preconditions, such as a playlist
containing songs before playback.

19
SCOPE

The project is designed for a console


environment, supporting single-user
operations. Its modular design ensures future
upgrades, such as graphical interfaces or
multi-user database integration.

20
CONCLUSION
: Conclusion
•Title: Final Thoughttent:
 Summarize the innovative aspects of the
project.
 Reiterate why this music player is dynamic,
efficient, and user-friendly.
 End with a statement of confidence in its
scalability and real-world application.

21
ANY
QUESTIONS
?
Insert Image

22
THANK
YOU
Insert Image

2
3

You might also like