Commit Graph
1024 Commits
Author SHA1 Message Date
Drew Weymouth 307fbdf0f4 Merge pull request #334 from adamantike/fix/mpris-sync-loop-mode
fix: Enable Loop mode sync for MPRIS
2024-02-24 11:04:57 -08:00
Michael Manganiello c7dfc9efb3 fix: Enable Loop mode sync for MPRIS
Loop mode changes were being correctly reflected in Supersonic, when
updated in the toolbar, but not the other way around. We were only
missing an `Options` changes emit when loop mode is changed in
Supersonic.
2024-02-24 15:17:13 -03:00
Michael Manganiello 21751221fc fix: MPRIS broken cover art on Linux
Problem:

When changing tracks, the toolbar display on Linux sometimes misses the
track cover art, and displays a placeholder instead.

Solution:

Copy same callback as the one used for MacOS, which calls
`GetCoverArtUrl` first, to avoid missing cover arts.
2024-02-24 15:04:03 -03:00
Drew Weymouth 95aad16d16 Merge pull request #332 from adamantike/fix/mpris-broken-seek
fix: MPRIS Seek functionality on Linux
2024-02-24 08:57:12 -08:00
Michael Manganiello 56c78aad0c fix: MPRIS Seek functionality on Linux
Problem:

The operating system toolbar's component to control Supersonic playback
had its Seek functionality broken on Linux. When playing a song, seeking
for a different position from Supersonic worked as expected, but seeking
from the toolbar did nothing to the current track.

I found that the underlying reason was in `MPRISHandler.SetPosition`, as
the `if m.curTrackPath == trackId` always returned false.

`m.curTrackPath` was the right value, but `trackId` was wrong: On the
first song being played for a tracklist, `trackId` when trying to seek
was set to `/org/mpris/MediaPlayer2/TrackList/NoTrack`. When moving to
the next song, `trackId` then became the Track ID of the previously
played song.

Solution:

Changing the call to `OnTitle()` is enough to fix the issue, as the
MPRIS `Metadata()` generation depends on the value of `m.curTrackPath`.
Because it was being called before changing its value, the received
`trackId` was always off.
2024-02-24 13:26:04 -03:00
Drew Weymouth daac2c8566 fix keyboard scrolling weirdness by updating Fyne fork 2024-02-22 17:25:46 -08:00
Drew Weymouth 7b1ec1fe74 Update README.md planned features 2024-02-19 08:20:57 -08:00
Drew Weymouth a7309b08ca add keyboard scrolling to list views 2024-02-18 13:26:15 -08:00
Drew Weymouth 8d038ced64 unfocus grid view items when tapping between them 2024-02-18 09:19:37 -08:00
Drew Weymouth c6687aaa95 add (non-focused) keyboard scrolling to grid view pages 2024-02-18 09:10:01 -08:00
Drew Weymouth 74a8aea72c fix nil ptr crash when switching to favorite songs view 2024-02-18 09:00:13 -08:00
Drew Weymouth 268860b3ea Fix #327: show loading dots when search in progress but no results yet 2024-02-17 11:17:06 -08:00
Drew Weymouth fb7f51d3ef add focus traversal to genre list in album filter panel 2024-02-17 08:43:50 -08:00
Drew Weymouth a46b9559bf make sure to always update itemForID maps for focus traversal 2024-02-17 08:22:21 -08:00
Drew Weymouth bc113e404d add focus navigation to playlists list view 2024-02-16 09:15:49 -08:00
Drew Weymouth f789296944 refactor and add focus navigation to genres list 2024-02-16 08:33:24 -08:00
Drew Weymouth b97b029422 Updates #22: add focus arrow key navigation to tracklist 2024-02-15 17:56:53 -08:00
Drew Weymouth 0cc497efde reset itemForIndex map properly in GridView 2024-02-15 17:21:18 -08:00
Drew Weymouth 93863ad753 fix nil itemForIndex map in initialization of GridView from state 2024-02-15 17:09:43 -08:00
Drew Weymouth b61afb1ba5 Fix #319: show cancelable modal dialog while connecting to server on startup 2024-02-15 09:04:14 -08:00
Drew Weymouth 6ac9337625 remove some outdated todo comments 2024-02-14 15:11:14 -08:00
Drew Weymouth a0902e6f63 remove refresh workaround for apptabs not updating with theme 2024-02-14 14:57:27 -08:00
Drew Weymouth e6848c1078 remove some unneeded (since Fyne 2.4.4) hboxes around check widgets 2024-02-14 14:55:55 -08:00
Drew Weymouth a5e8b3e022 Fix #326: don't refresh tracklist rows when not needed 2024-02-14 13:57:14 -08:00
Drew Weymouth c14bec09e8 update Fyne to 2.4.4 2024-02-14 08:03:55 -08:00
Drew Weymouth 785e651dd6 fix typo 2024-02-03 11:58:31 -08:00
Drew Weymouth e20bdcad37 Add Ctrl+Q quit shortcut for non-Mac 2024-02-03 11:56:21 -08:00
Drew Weymouth 7943b17199 fix regression with not updating grid view items occasionally 2024-02-02 08:55:38 -08:00
Drew Weymouth 7e8a4d6d37 Updates #22: add focus arrow key navigation to grid view 2024-02-02 08:44:52 -08:00
Drew Weymouth 5db80c7109 Merge pull request #324 from anarcat/developer-name-not
add developer_name to appstream data file
2024-01-30 08:23:31 -08:00
Antoine Beaupré 59e05c20e1 add developer_name to appstream data file
It seems this is necessary in Flatpaks now. I have a build that failed with:

```
flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions repo repo
 in dir /srv/buildbot/worker/build-x86_64-1/build (timeout 1200 secs)
 watching logfiles {}
 argv: b'flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions repo repo'
 using PTY: False
{
    "errors": [
        "appstream-missing-developer-name"
    ],
    "warnings": [
        "appstream-summary-too-long",
        "appstream-screenshot-missing-caption"
    ]
}
Please consult the documentation at https://docs.flathub.org/docs/for-app-authors/linter
program finished with exit code 1
elapsedTime=54.274905
```

... interestingly, that is marked as "warning" in the above
documentation:

https://docs.flathub.org/docs/for-app-authors/linter/#appstream-missing-developer-name

... but is reported as an error now. Even worse, the tag is
deprecated:

https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-developer_name

I tried to fix it by vendoring this fixed version in the flatpak,
we'll see how that goes:

https://github.com/flathub/io.github.dweymouth.supersonic/pull/62#issuecomment-1916007362
2024-01-29 22:35:22 -05:00
Drew Weymouth 126de719e4 prepare for 0.9.0 release 2024-01-27 08:04:06 -08:00
Drew Weymouth ff532a2446 Update Mac GH Actions build for changes to Makefile targets 2024-01-22 18:59:52 -08:00
Drew Weymouth 2ec8074421 Merge pull request #314 from Laevos/laevos/macports-instructions
add macports bulid instructions
2024-01-22 18:53:24 -08:00
Drew Weymouth 2622f43285 Merge pull request #318 from Laevos/laevos/remove-macos-vapoursynth-deps
remove vapoursynth deps from `bundledeps_macos`
2024-01-22 18:52:22 -08:00
Lilith McMullen 376a51832f remove reference to vapoursynth on macports 2024-01-22 18:47:13 -08:00
Lilith McMullen 20ce0c0589 break out bundledeps instructions for macports vs homebrew 2024-01-22 18:43:05 -08:00
Lilith McMullen 37f2eadb80 break out bundledeps make targets 2024-01-22 18:40:09 -08:00
Drew Weymouth 91aa92706d Fix #316: Add setting to show notification on track change 2024-01-20 14:42:22 -08:00
Drew Weymouth edc3ef7bfa Fix #315: Pre-select most recent playlist in "Add to playlist" dialog 2024-01-20 14:22:30 -08:00
Laevos ae41e6d71c add macports bulid instructions 2024-01-15 22:28:25 +00:00
Drew Weymouth e1bc745645 refactor: split a lower-level playbackEngine out of PlaybackManager 2024-01-13 11:53:18 -08:00
Drew Weymouth ee275cb9ed update Fyne fork to 2.4.3 baseline 2024-01-12 08:53:21 -08:00
Drew Weymouth c9e6d5981a bump copyright year 2024-01-12 08:14:33 -08:00
Drew Weymouth e9d462e655 move player package into backend 2024-01-08 18:53:13 -08:00
Drew Weymouth 7cfd176c59 extract deepCopy helper function 2024-01-08 17:17:12 -08:00
Drew Weymouth f74d1cc730 Update README.md 2024-01-08 09:13:13 -08:00
Drew Weymouth daa1c44535 Merge pull request #310 from dweymouth/save-play-queue
Add option to save and restore play queue on exit/startup
2024-01-08 09:00:11 -08:00
Drew Weymouth fca5abca94 ignore/skip failure to restore individual tracks from queue 2024-01-08 08:14:45 -08:00
Drew Weymouth 793b570999 load saved play position on startup 2024-01-07 17:14:57 -08:00