🎶 Music Player is a command-line based application built in C, designed to manage and play music files with ease. This lightweight music player includes functionalities like adding and removing music, navigating through tracks, and user management through registration and login. It uses a doubly linked list for efficient track management.
- User Management: Register, login, and manage user accounts.
- Music Management: Add, remove, and view your playlist.
- Track Navigation: Play the first, last, next, previous, or a specific track from your playlist.
- Pause Music: Pause any currently playing track.
- Persistent Storage: Save and restore playlists for each user.
- Ensure you have a C compiler installed (e.g., GCC).
- Works on Windows due to the use of
system("cls")
and-lwinmm
.
Clone the repository and navigate to the project directory:
git clone https://github.com/YOUR_GITHUB_USERNAME/music-player.git
cd music-player
Compile the source code using the following command:
gcc music_player.c -o music_player -lwinmm
Run the program:
./music_player
Upon starting the application, you will be greeted with the main menu. You can choose to:
- Register: Create a new user account.
- Login: Access your existing account.
- Show Users: Display all registered users.
- Exit: Quit the application.
After logging in, you will have access to the user panel with the following options:
- Add Music: Add new music files to your playlist.
- Remove Music: Remove music files from your playlist.
- Show Playlist: View the current playlist.
- Play Next File: Play the next track in the playlist.
- Play Previous File: Play the previous track.
- Play First File: Start with the first track in the playlist.
- Play Last File: Play the last track in the playlist.
- Play Specific File: Choose a specific track to play.
- Exit: Exit the user panel.
- Pause Any Music: Pause the currently playing track.
- Use numerical inputs to select options from the menu.
- Follow on-screen instructions for each feature.
Contributions are welcome! If you have suggestions for improvements or want to add new features, feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
Yash Kayastha
If you need any other modifications or have additional requirements, feel free to ask!