diff --git a/.github/workflows/build-ubuntu.yml b/.github/workflows/build-ubuntu-22.04.yml similarity index 94% rename from .github/workflows/build-ubuntu.yml rename to .github/workflows/build-ubuntu-22.04.yml index 840d0eb..1b0c4c6 100644 --- a/.github/workflows/build-ubuntu.yml +++ b/.github/workflows/build-ubuntu-22.04.yml @@ -1,7 +1,7 @@ # This workflow will build a golang project # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go -name: Build Ubuntu +name: Build Ubuntu 22.04 on: push: @@ -11,7 +11,7 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/build-ubuntu-24.04.yml b/.github/workflows/build-ubuntu-24.04.yml new file mode 100644 index 0000000..c19b627 --- /dev/null +++ b/.github/workflows/build-ubuntu-24.04.yml @@ -0,0 +1,39 @@ +# This workflow will build a golang project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go + +name: Build Ubuntu 24.04 + +on: + push: + pull_request: + branches: [ "main" ] + +jobs: + + build: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.21' + + - name: Install dependencies + run: sudo apt update && sudo apt install libmpv-dev gcc libegl1-mesa-dev xorg-dev + + - name: Build + run: go build + + - name: Install Fyne tool + run: go install fyne.io/fyne/v2/cmd/fyne@latest + + - name: Fyne package + run: make package_linux + + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: Supersonic_ubuntu_x64.tar.xz + path: Supersonic.tar.xz diff --git a/README.md b/README.md index 5a82990..0c0633e 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ If you are running **Windows**, **Mac OS**, or a **Debian**-based Linux distro, **Apple Silicon (M1/M2) Macs:** You will have to remove the "quarantine bit" that Mac will automatically set, being an application downloaded from the internet. After copying the .app bundle to your Applications folder, in the terminal run `sudo xattr -r -d com.apple.quarantine /Applications/Supersonic.app` -**If you are on Linux** you must have libmpv installed on your system. On apt-based systems, run `sudo apt install libmpv1` if it is not already installed. The Windows and Mac release builds bundle the mpv dependencies. +**If you are on Linux** and using the build from the Releases page, you must have libmpv installed on your system. On apt-based systems, run `sudo apt install libmpv1` if it is not already installed. The Windows and Mac release builds bundle the mpv dependencies. To install the Linux release build, extract the .tar.xz bundle and run `make user-install` or `sudo make install`. ## Build instructions (Linux) diff --git a/backend/mediaprovider/subsonic/subsonicmediaprovider.go b/backend/mediaprovider/subsonic/subsonicmediaprovider.go index 32919ab..6d66c49 100644 --- a/backend/mediaprovider/subsonic/subsonicmediaprovider.go +++ b/backend/mediaprovider/subsonic/subsonicmediaprovider.go @@ -411,7 +411,11 @@ func (s *subsonicMediaProvider) GetPlayQueue() (*mediaprovider.SavedPlayQueue, e if err != nil { return nil, err } + savedQueue := &mediaprovider.SavedPlayQueue{} + if pq == nil { + return savedQueue, nil + } savedQueue.Tracks = sharedutil.MapSlice(pq.Entries, toTrack) savedQueue.TrackPos = slices.IndexFunc(pq.Entries, func(e *subsonic.Child) bool { return e.ID == pq.Current diff --git a/ui/browsing/nowplayingpage.go b/ui/browsing/nowplayingpage.go index cf7ebe3..46f7076 100644 --- a/ui/browsing/nowplayingpage.go +++ b/ui/browsing/nowplayingpage.go @@ -167,7 +167,7 @@ func NewNowPlayingPage( a.relatedList.OnSetRating = a.queueList.OnSetRating a.relatedList.OnSetFavorite = a.queueList.OnSetFavorite a.relatedList.OnPlayItemAt = func(idx int) { - a.pm.LoadTracks([]*mediaprovider.Track{a.related[idx]}, backend.Replace, false) + a.pm.LoadTracks(a.related, backend.Replace, false) a.pm.PlayTrackAt(idx) } a.relatedList.OnAddToQueue = func(items []mediaprovider.MediaItem) { diff --git a/ui/dialogs/addeditserverdialog.go b/ui/dialogs/addeditserverdialog.go index 7d41dda..7ad0ac1 100644 --- a/ui/dialogs/addeditserverdialog.go +++ b/ui/dialogs/addeditserverdialog.go @@ -101,9 +101,9 @@ func NewAddEditServerDialog(title string, cancelable bool, prefillServer *backen serverTypeChoice, widget.NewLabel("Nickname"), nickField, - widget.NewLabel("Hostname"), + widget.NewLabel("URL"), hostField, - widget.NewLabel("Alt. Hostname"), + widget.NewLabel("Alt. URL"), altHostField, widget.NewLabel("Username"), userField,