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