{"id":49383,"date":"2025-07-29T12:59:52","date_gmt":"2025-07-29T12:59:52","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=49383"},"modified":"2025-09-08T07:03:50","modified_gmt":"2025-09-08T07:03:50","slug":"euphonica-cool-new-gtk4-mpd-client-work-in-process","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2025\/07\/euphonica-cool-new-gtk4-mpd-client-work-in-process\/","title":{"rendered":"Euphonica &#8211; Cool New GTK4 MPD Client Work in Process"},"content":{"rendered":"<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-logo.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-49384\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-logo-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-logo-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-logo-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-logo-700x700.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-logo-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-logo.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/a><\/p>\n<p>For users of Music Player Daemon (MPD in short)? Here&#8217;s cool new client app in development for Linux desktop!<\/p>\n<p>It&#8217;s <a href=\"https:\/\/github.com\/htkhiem\/euphonica\" target=\"_blank\" rel=\"noopener\">euphonica<\/a>, a free open-source app written Rust programming language and uses GTK4 + LibAwaita for modern user interface that&#8217;s well integrated with GNOME desktop.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-albums.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49385\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-albums-700x512.webp\" alt=\"\" width=\"610\" height=\"446\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-albums-700x512.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-albums-300x219.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-albums-768x562.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-albums.webp 1042w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p><!--more--><\/p>\n<p>Meaning, the app window is adaptive and changes automatically according to its size. It will automatically switch between light and dark following your GNOME desktop color scheme. And, there will be playback control in the &#8216;date-and-time&#8217; drop-down menu.<\/p>\n<p>The app can automatically fetch album arts, artist avatars, lyrics and other metadata from Last.fm, MusicBrainz and LRCLIB. And, it groups all the songs in Albums, Artists, and Folder view.<\/p>\n<p>It features Windows Aero Glass style layout, with current album art (blurred) as background and album art color as accent color.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-queue.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49387\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-queue-700x461.webp\" alt=\"\" width=\"610\" height=\"402\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-queue-700x461.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-queue-300x198.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-queue-768x506.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-queue.webp 1157w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>Euphonica comes with MPRIS integration that can run in background, allowing to control your MPD via keyboard shortcuts and shell applets without having to keep the app window open.<\/p>\n<p>It also has built-in customizable spectrum visualizer, reading from MPD FIFO or system PipeWire. And, it supports one click turning ON\/OFF audio outputs, e.g., pipewire, http streaming, making easy to control which devices to output sounds.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-output.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49389\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-output-601x700.webp\" alt=\"\" width=\"601\" height=\"700\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-output-601x700.webp 601w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-output-258x300.webp 258w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/euphonica-output.webp 700w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/a><\/p>\n<p>Other features of Euphonica include:<\/p>\n<ul>\n<li>Consume mode, remove songs from queue once played.<\/li>\n<li>Rate albums (with MPD 0.24+)<\/li>\n<li>Browser and edit playlists.<\/li>\n<li>Asynchronous search for large collections.<\/li>\n<li>Volume knob with dBFS readout support<\/li>\n<\/ul>\n<p>And, as a new application in early development stage, it will have new features in future releases.<\/p>\n<h3>How to Install Euphonica<\/h3>\n<p><b>NOTE: Euphonica at the moment is in very early stage that <del datetime=\"2025-09-08T07:00:08+00:00\">don&#8217;t even provide pre-build packages<\/del>! Check <a href=\"https:\/\/github.com\/htkhiem\/euphonica\" target=\"_blank\" rel=\"noopener\">this page<\/a> for details.<\/b><\/p>\n<p>For Arch Linux, it&#8217;s available through this <a href=\"https:\/\/aur.archlinux.org\/packages\/euphonica-git\" target=\"_blank\" rel=\"noopener\">AUR repository<\/a>.<\/p>\n<p><b>UPDATE: The app now provides official <a href=\"https:\/\/flathub.org\/apps\/io.github.htkhiem.Euphonica\" target=\"_blank\" rel=\"noopener\">Flatpak package<\/a>, that can be installed via the command below after <a href=\"https:\/\/flatpak.org\/setup\/\" target=\"_blank\" rel=\"noopener\">enabled Flatpak support<\/a>:<\/b><\/p>\n<pre>flatpak install https:\/\/dl.flathub.org\/repo\/appstream\/io.github.htkhiem.Euphonica.flatpakref<\/pre>\n<p>To manually build it as Flatpak (with latest run-times):<\/p>\n<ul>\n<li>First, download the latest <code>.json<\/code> file from the Github releases page (under &#8220;Assets&#8221;):\n<div class=\"wp-block-buttons aligncenter\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-vivid-cyan-blue-to-vivid-purple-gradient-background has-text-color has-background\" href=\"https:\/\/github.com\/htkhiem\/euphonica\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">Download Euphonica (.json)<\/a><\/div>\n<\/div>\n<\/li>\n<li>After downloaded &#8220;<code>io.github.htkhiem.Euphonica.json<\/code>&#8221; file, open terminal (Ctrl+Alt+T) and run command to add Flathub repository for the latest run-times and SDKs:\n<pre>flatpak remote-add --user --if-not-exists flathub https:\/\/flathub.org\/repo\/flathub.flatpakrepo<\/pre>\n<p>This command will add the Flathub for current user only. Skip <code>--user<\/code> for system wide.<\/li>\n<li>Finally, navigate to Downloads folder (assume you save the file in that folder):\n<pre>cd ~\/Downloads<\/pre>\n<p>And, run command to download required run-times, source code, and build the app as Flatpak:<\/p>\n<pre>flatpak-builder --force-clean --user --install-deps-from=flathub --repo=repo --install build-flatpak io.github.htkhiem.Euphonica.json<\/pre>\n<p>Run <code>sudo apt install flatpak-builder<\/code> if command not found. And, skip <code>--user<\/code> if you added Flathub system-wide.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/build-euphonica.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49390\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/build-euphonica-700x340.webp\" alt=\"\" width=\"610\" height=\"296\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/build-euphonica-700x340.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/build-euphonica-300x146.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/build-euphonica.webp 706w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/li>\n<\/ul>\n<p>If everything&#8217;s done without error, you may then launch the MPD client via command:<\/p>\n<pre>flatpak run io.github.htkhiem.Euphonica<\/pre>\n<p>Or start it from Gnome Overview or App launcher depends on your desktop environment, though you may need a log out and back in to apply variable changes.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/launch-euphonica.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-49391\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/launch-euphonica.webp\" alt=\"\" width=\"517\" height=\"279\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/launch-euphonica.webp 517w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/07\/launch-euphonica-300x162.webp 300w\" sizes=\"auto, (max-width: 517px) 100vw, 517px\" \/><\/a><\/p>\n<p><b>NOTE: for those who are new to MPD, you need to install &amp; setup the MPD daemon before being able to access your music. And, I&#8217;ve written a <a href=\"https:\/\/ubuntuhandbook.org\/index.php\/2025\/07\/install-mpd-ubuntu\/\" target=\"_blank\" rel=\"noopener\">step by step guide<\/a> about it.<\/b><\/p>\n<h3>Uninstall Euphonica<\/h3>\n<p>If you installed the Flatpak package, simply launch terminal (Ctrl+Alt+T) and run command to uninstall:<\/p>\n<pre>flatpak uninstall --delete-data io.github.htkhiem.Euphonica<\/pre>\n<p>Optionally, remove the SDK that were installed when building the flatpak:<\/p>\n<pre>flatpak uninstall org.gnome.Sdk org.freedesktop.Sdk org.freedesktop.Sdk.Extension.llvm19 org.freedesktop.Sdk.Extension.rust-stable<\/pre>","protected":false},"excerpt":{"rendered":"<p>For users of Music Player Daemon (MPD in short)? Here&#8217;s cool new client app in development for Linux desktop! It&#8217;s euphonica, a free open-source app written Rust programming language and uses GTK4 + LibAwaita for modern user interface that&#8217;s well integrated with GNOME desktop.<\/p>\n","protected":false},"author":1,"featured_media":49384,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[52],"tags":[686],"class_list":["post-49383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-app-review","tag-mpd"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/49383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=49383"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/49383\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/49384"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=49383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=49383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=49383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}