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 840d0eb2..1b0c4c69 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 00000000..c19b6278 --- /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 5a829902..0c0633e6 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 32919abd..6d66c49b 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 cf7ebe38..46f7076e 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 7d41dda8..7ad0ac1a 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,