Remote for Clementine Music Player (github) developed in C++/QT5/QML to be available on any OS.
It is published under licence GPL v3
You can fully control the music on your Clementine server: create playlists, browse the file system or the library, launch your saved internet radios...
It's designed like a player, so from any Menu you're seeing the current played track and can pause, change the position, go to the next one... and also change the level of the volume.
It's also possible to download the songs, albums or playlist
I've built the v1.2 for Linux, MacOS and Win64 (there is also a portable version for win64).
It is availabe on Google Play, on FDroid on izzysoft repo or here is the apk.
and on the Apple Store for iOS (for 2.29€ cause I need to pay the Apple developer licence)
- start Previous track (the one from the Active Playlist, you may be looking another one)
- start Next track (the one from the Active Playlist, you may be looking another one)
- Play/Pause or Stop current track
- change the volume
- jump to current Track (from whatever Menu or Playlist)
- change the position in the playing track
- change the reapeat mode
- change the shuffle mode
- download the playing track
From the header Menu:
- Change Playlist (from those opened in Clementine on the server)
- search for text (regular expression for track name, album and artist)
- save/favourite a Playlist (requires Clementine v1.4.0rc1ClemRemote)
- rename current playlist (requires Clementine v1.4.0rc1ClemRemote)
- clear current playlist (requires Clementine v1.4.0rc1ClemRemote)
- close current playlist
- download current playlist
- open a closed playlist that is in favourite (requires Clementine v1.4.0rc1ClemRemote)
- create a new playlist (requires Clementine v1.4.0rc1ClemRemote)
You can also:
- Double click on a Track to play it
- Long press on a Track to switch in Selection mode from where you can select more tracks or all (cf button in the bottom) to:
- Copy tracks to another Playlist (requires Clementine v1.4.0rc1ClemRemote)
- download the selected tracks (requires Clementine v1.4.0rc1ClemRemote)
- remove the selected tracks from the playlist.
- click on the cursor button to exit the Selection mode
Files Menu (requires Clementine v1.4.0rc1ClemRemote)
You need to have set up the Files root folder in Clementine settings (cf Tools -- Preferences -- Network Remote)
- you can jump into a folder
- go to the parent folder
- go back to the home folder
- long press on a track or use the cursor button (bottom right) to switch in Selection Mode
- download selected tracks
- append selected tracks to the current Playlist
- create a new playlist with the selected tracks
The library is downloaded automatically when you first log to a Clementine server
- search for text (regular expression for track name, album and artist)
- redownload the library
- download an Album or a single track
- append a Album or a single track to the current playlist
- create a new playlist with the selected Album or single track
- double click on an Artist or an Album will expand all / collapse its content
Internet Radio Menu (requires Clementine v1.4.0rc1ClemRemote)
The internet radio must be set on Clementine server, in the section Internet -- Your radio streams
From Clementine v1.4.0rc1ClemRemote or above, you can add the url of logo of your radios in Clementine :)
double click on a Radio to append it to the current playlist and start to play it
As I don't use any Internet Storage, I've not implemented this part...
If you'd be interested in it, please open a request issue here on GitHub or drop me an email at Matthieu.Bruel@gmail.com
The modification needed in Clementine can be found on my fork. I've asked 4 pull requests that are not yet merged so I've build the release myself for Linux, MacOS and Windows (using the Clementine workflow on my branch)
You can download and try Clementine v1.4.0rc1ClemRemote (you then need to activate the network remote in Tools -- Preferences -- Network Remote)
- build-essential (C++ compiler, libstdc++, make,...)
- qt5-default (Qt5 libraries and headers)
- qt5-qmake (to generate the moc files and create the Makefile)
- protobuf-compiler and libprotobuf-dev
- go to
src/protobuf/
and generate the protobuf C++ file with the commandprotoc remotecontrolmessages.proto --cpp_out=.
- go to
src
- qmake
- make
//======================================================================== // // Copyright (C) 2020 Matthieu Bruel // This file is a part of ClementineRemote : https://github.com/mbruel/ClementineRemote // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, version 3.. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see // //========================================================================
- if you've any troubles to build or run ClemRemote, feel free to drop me an email
- if you've some comments on the code, any questions on the implementation or any proposal for improvements, I'll be happy to discuss it with you so idem, feel free to drop me an email
- if you'd like some other features, same same (but different), drop me an email ;)
Here is my email: Matthieu.Bruel@gmail.com
For now it's only in english but it is possible to add translation packages
If you'd like to translate ngPost in your language, it's easy to do (there is a nice GUI for that: QtLinguist), please get in touch with me (Matthieu.Bruel@gmail.com)
Thanks to Clementine team to have made this great Music Player and allowing the remote control functionality for their Android Remote. The functionality is basic, not a real protocol, but that more than enough on a LAN ;)
I'm Freelance nowadays, working on several personal projects, so if you use the app and would like to contribute to the effort, feel free to donate what you can.
or in Bitcoin at this address: 3BGbnvnnBCCqrGuq1ytRqUMciAyMXjXAv6