Skip to content

Remote for Clementine Music Player developped in C++/QT5/QML to be available on any OS. Its main goal is to add the Files View missing in the Android Remote.

License

Notifications You must be signed in to change notification settings

mbruel/ClementineRemote

Repository files navigation

ClementineRemote

ClemRemote v1.2

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).
Clementine Remote for Android
It is availabe on Google Play, on FDroid on izzysoft repo or here is the apk.


Clementine Remote for iOS
and on the Apple Store for iOS (for 2.29€ cause I need to pay the Apple developer licence)


ClementineRemote on Debian ClementineRemote on Debian ClementineRemote on iPhone SE ClementineRemote on iPhone SE ClementineRemote on iPhone SE

Features

Player

  • 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

Playlist Menu

From the header Menu:

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

Library Menu

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

Global Search Menu

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 [email protected]

Clementine version

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)

How to build

Dependencies:

  • 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

Build:

  • go to src/protobuf/ and generate the protobuf C++ file with the command protoc remotecontrolmessages.proto --cpp_out=.
  • go to src
  • qmake
  • make

Licence

//========================================================================
//
// 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 
//
//========================================================================

Questions / Issues / Requests

  • 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: [email protected]

Supported Languages

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 ([email protected])

Thanks

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 ;)

Donations

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.

ClementineRemote or in Bitcoin at this address: 3BGbnvnnBCCqrGuq1ytRqUMciAyMXjXAv6 ngPost_QR

About

Remote for Clementine Music Player developped in C++/QT5/QML to be available on any OS. Its main goal is to add the Files View missing in the Android Remote.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published