|
1 | 1 | # Python Music Player |
| 2 | +[](https://github.com/MelleDijkstra/PythonMusicPlayer/blob/master/LICENSE) |
| 3 | +[](https://badge.fury.io/py/melon-music-player) |
| 4 | +[](http://pythonmusicplayer.readthedocs.io/en/latest/?badge=latest) |
| 5 | + |
| 6 | +[](https://twitter.com/intent/tweet?text=MelonMusicPlayer:&url=https%3A%2F%2Fgithub.com%2FMelleDijkstra%2FPythonMusicPlayer) |
2 | 7 |
|
3 | 8 | ## Introduction |
4 | 9 |
|
5 | 10 | This repository contains a python music player which acts as a server. It uses the vlc python bindings to play the music and socket communication to communicate with the Android Application which can be found [here](https://github.com/MelleDijkstra/AndroidMusicPlayerClient) |
6 | 11 |
|
7 | 12 | ## Installation |
8 | 13 |
|
9 | | -If you want to run this program you need: |
| 14 | +### Windows |
| 15 | + |
| 16 | +Download executable from here |
| 17 | +[Download link]() |
| 18 | + |
| 19 | +__*! I experienced a bug with the windows executable, you sometimes need to press `enter` |
| 20 | +to activate the server again !*__ |
| 21 | + |
| 22 | +Besides that, it should work fine ;) |
| 23 | + |
| 24 | +### Linux (Debian | Raspberry Pi) |
| 25 | + |
| 26 | +(coming soon, on my todo list) |
| 27 | +I published a PyPi package, but I haven't tested it yet. |
| 28 | +To install run the following command: |
| 29 | +`pip install melon-music-player` |
| 30 | + |
| 31 | +### From source |
| 32 | + |
| 33 | +If you want to install/run the MelonMusicPlayer from source, |
| 34 | +or if you want to develop on the current code base (please feel free) |
| 35 | +run the following instructions: |
| 36 | + |
| 37 | +- Make sure you have installed python 3.5 or higher. [Python Download](https://www.python.org/downloads/) |
| 38 | +- The actual VLC program which can be found here ([VLC Download](http://www.videolan.org/vlc/)). |
| 39 | + |
| 40 | + **Windows**: For windows you can just install the executable |
| 41 | + |
| 42 | + **Linux**: For linux system it should be as easy as running `$ sudo apt-get install vlc`. |
| 43 | + |
| 44 | + **!Although, check their site for correct installation!** |
| 45 | + |
| 46 | +- Clone the project if you haven't already `$ git clone https://github.com/MelleDijkstra/PythonMusicPlayer` |
| 47 | +- Go to cloned folder `$ cd PythonMusicPlayer` |
| 48 | +- Then run `$ pip install -r requirements.txt` to install the packages needed |
| 49 | + |
| 50 | + (If you are installing the MelonMusicPlayer server on raspberry pi this process |
| 51 | + can take some time. The reason is because the server runs on gRPC which |
| 52 | + has to compile when installing for raspbian. This will hopefully be changed in the future (Please be patient!)) |
| 53 | + |
| 54 | +- Change any settings needed in `config.ini`. This is the configuration file for the server |
| 55 | +- Start the music server by running `$ python main.py`. |
| 56 | + |
| 57 | + Then use a client/controller to connect to the server. |
| 58 | + if you downloaded the source, there should be a `client.py`. Run this in another terminal/process to test the server. |
| 59 | + The client has quite some functionality but I will not be maintaining them. For full experience use one of the controllers |
| 60 | + like the [Android App](https://github.com/MelleDijkstra/AndroidMusicPlayerClient). |
| 61 | + |
| 62 | +### TODO |
| 63 | +(only server related tasks) |
10 | 64 |
|
11 | | -* The actual VLC program which can be found here ([VLC](http://www.videolan.org/vlc/)). |
12 | | -Windows can just install the executable and for linux system it should be as easy as running `$ sudo apt-get install vlc`. **Check their site for correct installation** |
13 | | -* Make sure you have installed python 3.5 or higher. [Python install](https://www.python.org/downloads/) |
14 | | -* Clone the project if you haven't already `$ git clone https://github.com/MelleDijkstra/PythonMusicPlayer` |
15 | | -* Go to cloned folder `$ cd PythonMusicPlayer` |
16 | | -* Then run `$ pip install -r requirements.txt` to install the packages needed |
17 | | -* Change any settings needed in `config.ini` |
18 | | -* Start the music server by running `$ python server-v2.py`. And then use the application to connect to the server |
| 65 | +- [ ] Able to send an MRL link to server to download |
| 66 | +- [ ] Handle all MediaDownloader RPC calls |
| 67 | +- [ ] Create distributions for: |
| 68 | + - [x] Windows |
| 69 | + - [ ] Debian |
| 70 | + - [ ] Ubuntu |
| 71 | + - [ ] Mac OS |
| 72 | +- [ ] Write good tests ;) |
| 73 | +- [ ] Retrieve album covers from media files and send them |
| 74 | +- [ ] Able to sync media files with clients/controllers |
| 75 | +- [ ] SoundCloud support |
| 76 | +- [ ] Store radio station urls in file and be able to stream them |
| 77 | +- [x] gRPC implementation |
| 78 | +- [x] Handle all MusicPlayer RPC calls (play, pause, ...) |
| 79 | +- [x] Retrieve album & song list |
| 80 | +- [x] Volume control |
| 81 | +- [x] Queue music (next & previous song selection) |
| 82 | +- [x] Write tests |
0 commit comments