{"id":8482,"date":"2019-01-23T02:20:22","date_gmt":"2019-01-23T02:20:22","guid":{"rendered":"https:\/\/www.appservgrid.com\/paw92\/?p=8482"},"modified":"2019-03-09T20:48:36","modified_gmt":"2019-03-09T20:48:36","slug":"mellowplayer-multi-platform-cloud-music-integration","status":"publish","type":"post","link":"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/01\/23\/mellowplayer-multi-platform-cloud-music-integration\/","title":{"rendered":"MellowPlayer &#8211; multi-platform cloud music integration"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i1.wp.com\/www.linuxlinks.com\/wp-content\/uploads\/2019\/01\/MellowPlayer-front.jpg?resize=700%2C137&amp;ssl=1\" alt=\"MellowPlayer\" width=\"700\" height=\"137\" \/><\/p>\n<p>With my CD collection spiraling out of control, I\u2019m spending more time listening to music with a number of popular streaming services.<\/p>\n<p>Linux offers a great range of excellent open source music players. But I\u2019m always on the look out for fresh and innovative streaming players. Step forward MellowPlayer.<\/p>\n<p>MellowPlayer offers a web view of various music streaming services with integration with your desktop. It was developed to provide a Qt alternative to Nuvola Player.<\/p>\n<p>The software is written in C++ and QML.<\/p>\n<h3>Installation<\/h3>\n<p>MellowPlayer is released under an open source license, so you can download the source code and compile it. But there\u2019s convenient packages available for Ubuntu, Arch Linux, openSUSE, Fedora, and other popular Linux distributions.<\/p>\n<p>The developer also provides an AppImage which makes it easy to run the software (but only some of the streaming services are supported). AppImage is a format for distributing portable software on Linux without needing superuser permissions to install the application. All that\u2019s required is to download the AppImage, and make the file executable by typing:<\/p>\n<p><code>$ chmod u+x .\/MellowPlayer-x86_64.AppImage<\/code><\/p>\n<h3>In operation<\/h3>\n<p>Here\u2019s an image of MellowPlayer in action.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27732 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/www.linuxlinks.com\/wp-content\/uploads\/2019\/01\/MellowPlayer-streaming.jpg?resize=750%2C288&amp;ssl=1\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" srcset=\"https:\/\/i1.wp.com\/www.linuxlinks.com\/wp-content\/uploads\/2019\/01\/MellowPlayer-streaming.jpg?w=1502&amp;ssl=1 1502w, https:\/\/i1.wp.com\/www.linuxlinks.com\/wp-content\/uploads\/2019\/01\/MellowPlayer-streaming.jpg?resize=768%2C295&amp;ssl=1 768w\" alt=\"MellowPlayer\" width=\"750\" height=\"288\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/p>\n<p>I\u2019m not a fan of the presentation of the streaming services. Too spartan for my liking. There\u2019s definitely room for improvement here.<\/p>\n<p>Let\u2019s have a look at the interface when you\u2019re playing a streaming service. Here\u2019s YouTube Music in action.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27731 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/www.linuxlinks.com\/wp-content\/uploads\/2019\/01\/MellowPlayer-YouTube.jpg?resize=750%2C451&amp;ssl=1\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" srcset=\"https:\/\/i2.wp.com\/www.linuxlinks.com\/wp-content\/uploads\/2019\/01\/MellowPlayer-YouTube.jpg?w=960&amp;ssl=1 960w, https:\/\/i2.wp.com\/www.linuxlinks.com\/wp-content\/uploads\/2019\/01\/MellowPlayer-YouTube.jpg?resize=768%2C462&amp;ssl=1 768w, https:\/\/i2.wp.com\/www.linuxlinks.com\/wp-content\/uploads\/2019\/01\/MellowPlayer-YouTube.jpg?resize=750%2C450&amp;ssl=1 750w\" alt=\"MellowPlayer-YouTube\" width=\"750\" height=\"451\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/p>\n<p>From left to right, there\u2019s a button to select another streaming service, followed by back\/forward buttons, reload page, go to home page, and a button to add the current song to your favorites. There\u2019s a playback slider, skip\/pause\/forward buttons, the option to disable\/enable notifications, and a button to open your listening history (if you\u2019ve enabled this in Settings).<\/p>\n<p>MellowPlayer supports the following web-based music streaming services in its latest version:<\/p>\n<ul>\n<li>Spotify \u2013 a hugely popular digital music service that gives you access to millions of songs.<\/li>\n<li>YouTube Music \u2013 music streaming service developed by YouTube.<\/li>\n<li>Google Play Music \u2013 music and podcast streaming service and online music locker operated by Google.<\/li>\n<li>Deezer \u2013 explore over 53 million tracks.<\/li>\n<li>Tidal \u2013 high fidelity music streaming service.<\/li>\n<li>TuneIn \u2013 free internet radio.<\/li>\n<li>8tracks \u2013 an internet radio and social networking website streaming user-curated playlists consisting of at least 8 tracks.<\/li>\n<li>Anghami \u2013 discover, play and download from a library of millions of Arabic and International songs.<\/li>\n<li>Bandcamp \u2013 a platform for independent musicians.<\/li>\n<li>HearThisAt \u2013 listen to DJ Sets, Mixes, Tracks and Sounds.<\/li>\n<li>HypeMachine \u2013 a music blog aggregator.<\/li>\n<li>Jamendo \u2013 discover free music downloads &amp; streaming from thousands of independent artists.<\/li>\n<li>Player FM \u2013 a multi-platform podcast service.<\/li>\n<li>Radionomy \u2013 an online platform that provides tools for operating online radio stations.<\/li>\n<li>Mixcloud \u2013 listen to radio shows, DJ mixes and podcasts.<\/li>\n<li>SoundCloud \u2013 online audio distribution platform and music sharing website.<\/li>\n<li>Netflix \u2013 subscription-based streaming of films and TV programs.<\/li>\n<li>Plex \u2013 media server streaming.<\/li>\n<li>Yandex Music \u2013 music streaming service with smart playlists.<\/li>\n<li>Pocket Casts \u2013 listen to podcasts.<\/li>\n<li>ympd \u2013 MPD GUI.<\/li>\n<li>YouTube \u2013 video-sharing website.<\/li>\n<li>Wynk \u2013 Indian and international tracks.<\/li>\n<\/ul>\n<p>Some services don\u2019t work with the AppImage.<\/p>\n<h3>Other Features<\/h3>\n<p>Besides the wide range of streaming services, what else does the player offer?<\/p>\n<p>Let\u2019s take a look at some of the other features of MellowPlayer.<\/p>\n<p>There\u2019s a good range of configuration options to customize the software.<\/p>\n<p>These include:<\/p>\n<ul>\n<li>Rearrangement of the streaming service by dragging and dropping, as well as the ability to disable one or more of the services. However, the rearrangement didn\u2019t save when switching streaming services.<\/li>\n<li>Customize the main toolbar content.<\/li>\n<li>Confirm application exit (on or off).<\/li>\n<li>Close MellowPlayer to the system tray.<\/li>\n<li>Turn on\/off web page scrollbars.<\/li>\n<li>Automatic HiDPI scaling or apply your own scaling factor.<\/li>\n<li>Turn on\/off the main tool bar.<\/li>\n<li>Native desktop notifications:\n<ul>\n<li>Enable notifications.<\/li>\n<li>Display a notification when a new song starts.<\/li>\n<li>Display a notification when playback is paused.<\/li>\n<li>Display a notification when playback is resumed.<\/li>\n<\/ul>\n<\/li>\n<li>Choice of themes.<\/li>\n<li>Keyboard shortcuts: Play\/Pause, Next, Previous, Add to favorites, Restore window, Reload page, Select service, and Next service.<\/li>\n<li>Privacy \u2013 enable listening history (turned off by default).\n<ul>\n<li>Configurable listening history limit. Choose from: Last month, Last week, Last year, Never, Today, or Yesterday.<\/li>\n<li>You can also define the user agent.<\/li>\n<\/ul>\n<\/li>\n<li>Implements the DBUS MPRIS 2 interface.<\/li>\n<li>Network proxy support \u2013 this is accessed from Settings \/ Streaming Services.<\/li>\n<li>Extend functionality by writing your own JavaScript plugins.<\/li>\n<li>User Scripts let you customize the appearance and feel of streaming services.<\/li>\n<li>Internationalization support \u2013 there are translations for Catalan, Finnish, French, German, Greek, Portuguese (Brazilian), Russian, and Spanish.<\/li>\n<li>Cross-platform support \u2013 the software runs under Linux, FreeBSD, and Windows (although the latter doesn\u2019t offer MPRIS2 support).<\/li>\n<\/ul>\n<p>Let\u2019s now have a look at memory usage. Given that the software uses components of an integrated web browser, I wasn\u2019t expecting lightweight memory usage.<\/p>\n<p>Here\u2019s the memory usage of MellowPlayer after listening to a few of the services for an hour.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-27719 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/www.linuxlinks.com\/wp-content\/uploads\/2019\/01\/MellowPlayer-memory.png?resize=585%2C45&amp;ssl=1\" alt=\"MellowPlayer-memory\" width=\"585\" height=\"45\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/p>\n<p>Woah! MellowPlayer is consuming more than 1.4GB of RAM. A real memory hog! Of course, closing some of the services (thereby reducing the number of QtWebEngineProcess processes) helps reclaim some of the memory. But even with after closing the streaming services, the software was still consuming about 800MB of RAM.<\/p>\n<h3>Summary<\/h3>\n<p>MellowPlayer offers all the web-based music streaming I currently use and a lot more besides. While there are other apps that offer a wider range, there\u2019s more than enough here for me. The implementation is pretty good although not spectacular. Network proxy support is appreciated!<\/p>\n<p>There\u2019s some glaring bugs in the software, such as the listening history being continually populated by the same track, rearranging streaming services don\u2019t stick, and switching services often doesn\u2019t stop the playback of the previous stream.<\/p>\n<p>Given the software simply embeds websites into the player, there\u2019s lots of standard functionality you\u2019d expect from a good music player that\u2019s likely never to be added to MellowPlayer. Gapless playback is an obvious example.<\/p>\n<p>I\u2019m not keen on some of the defaults such as the application keeps running in the background when you close the application, which is annoying depending on what desktop environment you use.<\/p>\n<p>Note that the AppImage doesn\u2019t let you play all of the music streaming services (specifically Spotify, Mixcloud, SoundCloud, Anghami, Pocket Casts, and Wynk). This is because they require proprietary audio codecs which are not included with the AppImage. It\u2019s best to use a package provided by your distribution, rather than the AppImage, so that you have access to all the services.<\/p>\n<p><strong>Website:<\/strong>\u00a0<a href=\"https:\/\/colinduquesnoy.gitlab.io\/MellowPlayer\/\"><strong>colinduquesnoy.gitlab.io\/MellowPlayer<\/strong><\/a><br \/>\n<strong>Support:<\/strong>\u00a0<a href=\"https:\/\/media.readthedocs.org\/pdf\/mellowplayer\/latest\/mellowplayer.pdf\"><strong>Documentation<\/strong><\/a><br \/>\n<strong>Developer:<\/strong>\u00a0Colin Duquesnoy and contributors<br \/>\n<strong>License:<\/strong>\u00a0The project\u2019s GitLab page says the GNU General Public License applies, whereas the software implies GNU Lesser General Public License version 2.1 or later.<\/p>\n<p><a href=\"http:\/\/lxer.com\/module\/newswire\/ext_link.php?rid=265152\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>With my CD collection spiraling out of control, I\u2019m spending more time listening to music with a number of popular streaming services. Linux offers a great range of excellent open source music players. But I\u2019m always on the look out for fresh and innovative streaming players. Step forward MellowPlayer. MellowPlayer offers a web view of &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/01\/23\/mellowplayer-multi-platform-cloud-music-integration\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;MellowPlayer &#8211; multi-platform cloud music integration&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-8482","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/8482","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/comments?post=8482"}],"version-history":[{"count":2,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/8482\/revisions"}],"predecessor-version":[{"id":11020,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/8482\/revisions\/11020"}],"wp:attachment":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/media?parent=8482"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/categories?post=8482"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/tags?post=8482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}