diff --git a/CHANGELOG.md b/CHANGELOG.md index 23c8725..8bffd65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,12 +10,16 @@ - [#99](https://github.com/dweymouth/supersonic/issues/99) Add Year (asc + desc) sort orders to album page - [#102](https://github.com/dweymouth/supersonic/issues/102) Add ReplayGain support (requires files to be tagged on server and transcoding to preserve tags) - [#106](https://github.com/dweymouth/supersonic/issues/106) Automatically check for updates +- [#12](https://github.com/dweymouth/supersonic/issues/12) Add settings dialog +- [d67dfa0](https://github.com/dweymouth/supersonic/commit/d67dfa07b35aff9e3aff7ca091180d8104a64db4) Add file size column to tracklist view +- [0a11df8](https://github.com/dweymouth/supersonic/commit/0a11df8c07efd0ff4fd540bc0a5bc64946f4d61c) Limit the size of MPV's in-memory audio cache ### Fixed - [#90](https://github.com/dweymouth/supersonic/issues/90) Wrong covers get loaded for albums if server has different IDs for album and cover art - [#88](https://github.com/dweymouth/supersonic/issues/88) Incorrect icon size for Mac OS - [#87](https://github.com/dweymouth/supersonic/issues/87) Fix dependency bundling for Mac OS - [#45](https://github.com/dweymouth/supersonic/issues/45) Tracklist multi-select on Linux now works properly (Ctrl+click, Shift+click) +- [#109](https://github.com/dweymouth/supersonic/issues/109) Memory leak in image rendering - [f34d432](https://github.com/dweymouth/supersonic/commit/f34d4329b175e7d1a33a006bec951c2c64e6e978) Don't show tracklist row hover indicator when favorite toggle is hovered - [98fb148](https://github.com/dweymouth/supersonic/commit/98fb1483e6ba329effb8995a879572138947aee7) Migrate to Fyne 2.3.3 (modest memory improvements, fixes seek slider "wobble", fixes possible issues on M2 Macs) diff --git a/Makefile b/Makefile index 82122cd..9acad06 100644 --- a/Makefile +++ b/Makefile @@ -10,6 +10,8 @@ build: # since it assumes a specific location and version of the dependency package_macos: fyne package -os darwin -name $(app_name) -icon $(icon_path_mac) + +bundledeps_macos: dylibbundler -od -b -x ./Supersonic.app/Contents/MacOS/supersonic -d ./Supersonic.app/Contents/Frameworks/ -p @executable_path/../Frameworks/ ./copy_python_dep_osx.sh codesign --force --deep --preserve-metadata=entitlements,requirements,flags,runtime --sign - "./Supersonic.app/Contents/MacOS/supersonic" diff --git a/README.md b/README.md index a08f2ef..ff59f10 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,10 @@ A lightweight cross-platform desktop client for Subsonic music servers (Navidrom ## Features * [x] Fast, lightweight, native UI -* [x] High-quality gapless audio playback powered by MPV +* [x] High-quality gapless audio playback powered by MPV, with optional audio exclusive mode +* [x] ReplayGain support (depends on files being tagged on server) * [x] Infinite scrolling -* [x] Scrobble plays to server +* [x] Scrobble plays to server, with configurable criteria * [x] Browse by albums, artists, genres, playlists * [x] Album and playlist views with tracklist and cover image * [x] Artist view with biography, image, similar artists, and discography @@ -27,7 +28,6 @@ A lightweight cross-platform desktop client for Subsonic music servers (Navidrom * [ ] Browse by folders (planned) * [ ] Multi-server support (planned) * [ ] Download songs, albums or playlists (planned) -* [ ] ReplayGain audio normalization support (planned, depending on files being ReplayGain tagged on server) * [ ] Cast to uPnP/DLNA devices (likely planned) * [ ] Built-in multi-band equalizer (eventully planned) * [ ] Offline mode (eventually planned) @@ -57,10 +57,12 @@ Download the latest [release](https://github.com/dweymouth/supersonic/releases) ### Install dependencies * install go, and make sure the Go bin directory is in your `$PATH` + - ``brew install go`` + - ``export PATH="/Users//go/bin:$PATH"`` * install the ``fyne`` packaging tool ``go install fyne.io/fyne/v2/cmd/fyne@latest`` * install Xcode command-line tools (``xcode-select --install``) * install libmpv (``brew install mpv``) -* install dylibbundler (``brew install dylibbundler``) - needed only for building the .app bundle +* install dylibbundler (``brew install dylibbundler``) - needed only the bundledeps step, see below ### Build * Make sure header and library include paths include the dir in which homebrew installs headers/dylibs (may differ dep. on OS/Homebrew version) @@ -70,6 +72,8 @@ Download the latest [release](https://github.com/dweymouth/supersonic/releases) * clone the repo, CD into the repo root, and run ``go build .`` * (note that the first build will take some time as it will download and build the UI library) * run ``make package_macos`` to generate the .app bundle +* At this point, the Supersonic.app bundle can be copied to Applications and it will run on your machine, but it depends on the brew installation of mpv +* To copy the dependencies into the app bundle, and make it truly portable, run ``make bundledeps_macos`` ## Build instructions (Windows) diff --git a/main.go b/main.go index 45a8532..a0ccf0c 100644 --- a/main.go +++ b/main.go @@ -14,7 +14,7 @@ import ( const ( appname = "supersonic" displayName = "Supersonic" - appVersion = "0.0.1-alpha2" + appVersion = "0.1.0-beta" appVersionTag = "v" + appVersion configFile = "config.toml" latestReleaseURL = "https://github.com/dweymouth/supersonic/releases/latest"