parent
325ff8b550
commit
555ca9618e
@ -0,0 +1,51 @@
|
||||
# Project Title: MIDI Song Player
|
||||
|
||||
This project is a MIDI song player that allows users to request songs from a server and play them on their local machine. The project is written in Python and uses the `mido` library for MIDI file handling.
|
||||
|
||||
## Getting Started
|
||||
|
||||
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
The project requires Python 3 and the following Python packages:
|
||||
|
||||
- mido==1.3.2
|
||||
- packaging==23.2
|
||||
- python-rtmidi==1.5.8
|
||||
|
||||
You can install these packages using pip:
|
||||
|
||||
```python
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### Project Structure
|
||||
|
||||
The project is divided into a client and a server. The server hosts a library of MIDI songs and handles requests from the client. The client allows users to request and play songs from the server.
|
||||
|
||||
#### Server
|
||||
|
||||
The server is implemented in the `server.py` file. It uses the `Library` class to manage the song library and the `Song` class to represent individual songs. The server listens for incoming connections and spawns a new thread to handle each client.
|
||||
|
||||
#### Client
|
||||
|
||||
The client is implemented in the `client.py` file. It uses the `MediaPlayer` class to play songs and the `Requestor` class to request songs from the server. The client provides a simple GUI for users to select and play songs.
|
||||
|
||||
## Running the Project
|
||||
|
||||
To run the project, start the server:
|
||||
|
||||
```python
|
||||
python server/server.py
|
||||
```
|
||||
|
||||
Then, in a separate terminal, start the client:
|
||||
|
||||
```python
|
||||
python client/client.py
|
||||
```
|
||||
|
||||
## Authors
|
||||
|
||||
- FosanzDev
|
Binary file not shown.
Loading…
Reference in new issue