Add basic go application and remove python code

This commit is contained in:
Olli 2026-02-26 10:36:41 +01:00
commit 377e57ee43
25 changed files with 57 additions and 3591 deletions

View file

@ -5,60 +5,51 @@ Daemon](http://www.musicpd.org) (MPD), focusing on albums instead of single
tracks. It is not intended to be a replacement for your favorite MPD client but
an addition to get a better album-experience.
Website: https://www.suruatoel.xyz/codes/mcg
Website: [https://www.suruatoel.xyz/codes/mcg](www.suruatoel.xyz/codes/mcg)
License: [GPL](http://www.gnu.org/licenses/gpl.html) v3
Dependencies:
* [Python](http://www.python.org) 3
* [python-dateutil](https://pypi.org/project/python-dateutil/)
* [GTK](http://www.gtk.org) 4 (>= 4.18) ([python-gobject](https://live.gnome.org/PyGObject))
* [GTK](http://www.gtk.org) 4 (>= 4.18)
* [libadwaita](https://gnome.pages.gitlab.gnome.org/libadwaita/) (>= 1.2)
* [Avahi](http://www.avahi.org) (optional)
* [python-keyring](http://pypi.python.org/pypi/keyring) (optional)
* [meson](https://mesonbuild.com/) and [ninja](https://ninja-build.org/) (building)
* [go](https://go.dev/) (build only)
Additionally a [MPD](http://www.musicpd.org) server (version >= 0.21.0) is
Additionally, an [MPD](http://www.musicpd.org) server (version >= 0.21.0) is
required at runtime.
## Building
Build the application with _meson_ and _ninja_:
Build the application with _go_:
$ meson build
$ ninja -C build
$ go build .
## Running/Testing
## Running
For testing the application and running it without (system-wide) installation,
donwload/clone the code, build it with the `--prefix` option and install it
with `ninja`:
Run the application for testing purposes:
$ meson setup --prefix $(pwd)/install build
$ ninja -C build
$ ninja -C build install
$ go run .
After that you can run it with _mesons_ `devenv` command:
Run the application:
$ meson devenv -C build src/mcg
$ ./mcg
## Installing
## Packaging
Install the application system-wide with _meson_ (after building):
The suggested package name for this project is “mcg”. To build a production
binary, please use the following command:
$ ninja -C build install
$ go build --ldflags="-s -w -X main.Version=$(git describe)" -trimpath ./...
Note: _On Linux using the distributions package manager is the preferred way
of installing applications system-wide._
In the “data/” folder you will find a `.desktop` file and an SVG icon.
## Screenshots
![CoverGrids cover panel with album details and track list.](https://suruatoel.xyz/images/mcg-cover-s.png "CoverGrids cover panel with album details and track list.")
![CoverGrids cover panel with album details and track list.](https://www.suruatoel.xyz/images/mcg-cover-s.png "CoverGrids cover panel with album details and track list.")
![CoverGrids playlist panel with queued albums.](https://suruatoel.xyz/images/mcg-playlist.png "CoverGrids playlist panel with queued albums.")
![CoverGrids playlist panel with queued albums.](https://www.suruatoel.xyz/images/mcg-playlist.png "CoverGrids playlist panel with queued albums.")
![CoverGrids library panel showing the albums middle-sized.](https://suruatoel.xyz/images/mcg-library-m.png "CoverGrids library panel showing the albums middle-sized.")
![CoverGrids library panel showing the albums middle-sized.](https://www.suruatoel.xyz/images/mcg-library-m.png "CoverGrids library panel showing the albums middle-sized.")
![CoverGrids library panel showing the albums small-sized.](https://suruatoel.xyz/images/mcg-library-s.png "CoverGrids library panel showing the albums small-sized.")
![CoverGrids library panel showing the albums small-sized.](https://www.suruatoel.xyz/images/mcg-library-s.png "CoverGrids library panel showing the albums small-sized.")