Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feat] Add a dynamic image option to the fullscreen player #526

Merged
merged 7 commits into from
Mar 5, 2024
Merged

[feat] Add a dynamic image option to the fullscreen player #526

merged 7 commits into from
Mar 5, 2024

Conversation

iiPythonx
Copy link
Contributor

Reuses the existing div and assigns the background attribute accordingly based on whether or not the feature is enabled; does not interfere with the existing dynamic background (still works as expected). Additionally includes an option to tweak the amount of blur applied to the background (currently in rem, could be pixels if needed).

A couple problems with this PR:

  • (unsure of how to fix) With the feature enabled, opening and closing the fullscreen player will mess with the background. For example, if you have the fullscreen player closed and then open it the background will move fine, however once it hits the top of the screen it snaps into place rather jarringly.
  • For the background image, it replaces the id with albumId in order to best utilize electron's built-in caching. The downfall of this is that Navidrome might not always have album art FOR an album id (ex. if you have two songs both with different arts and then don't have a cover.jpg specified). To fix this, there could be some sort of custom caching to prevent the image from changing every time (as the id changes so the images are forced to reload), but I couldn't come up with a clean method of doing such a thing at the time.
  • This hasn't actually been tested on Jellyfin, I figured it would work although now that I think about it replacing the ID might only affect Navidrome.

Ignoring those, the feature is in pretty good shape.
Couple of screenshots:

image
image
image

Copy link

vercel bot commented Mar 3, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
feishin ✅ Ready (Inspect) Visit Preview 💬 Add feedback Mar 5, 2024 8:31am

@jeffvli jeffvli merged commit d52d913 into jeffvli:development Mar 5, 2024
2 of 3 checks passed
@iiPythonx iiPythonx deleted the dynamicbg branch March 5, 2024 17:13
spiceratops added a commit to spiceratops/k8s-gitops that referenced this pull request Mar 16, 2024
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/jeffvli/feishin](https://togithub.com/jeffvli/feishin) |
minor | `0.5.3` -> `0.6.1` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>jeffvli/feishin (ghcr.io/jeffvli/feishin)</summary>

###
[`v0.6.1`](https://togithub.com/jeffvli/feishin/releases/tag/v0.6.1):
0.6.1

[Compare
Source](https://togithub.com/jeffvli/feishin/compare/v0.6.0...v0.6.1)

##### Fixed

- (Navidrome) Fixed application becoming stuck when Navidrome credential
session times
out ([#&#8203;538](https://togithub.com/jeffvli/feishin/issues/538))

##### Other

- Downgraded from Electron v27 to v26 to restore compatibility with
macOS 10.13 and 10.14
([#&#8203;534](https://togithub.com/jeffvli/feishin/issues/534))

###
[`v0.6.0`](https://togithub.com/jeffvli/feishin/releases/tag/v0.6.0):
0.6.0

[Compare
Source](https://togithub.com/jeffvli/feishin/compare/v0.5.3...v0.6.0)

0.6.0 is here!

Due to the large number of updates in this version, there may be
undocumented changes that are not listed here.

##### Docker

Added a way for a static server to be configured for the dockerized
version of Feishin. Check the [docker
compose](https://togithub.com/jeffvli/feishin/blob/development/docker-compose.yaml)
for new environment variables configuration.

#### Added

-   URLs in the `Note` column are now formatted as links
- External resource (last.fm, musicbrainz) links are now optionally
displayed on the album and artist pages
-   Album pages now show description if available
- Added dynamic image background option in fullscreen player
([#&#8203;526](https://togithub.com/jeffvli/feishin/issues/526)) (Thanks
[@&#8203;iiPythonx](https://togithub.com/iiPythonx))
-   Added additional `mpris` metadata fields
    -   audioBpm
    -   comment
    -   contentCreated
    -   lastUsed
    -   userRating
- Added options to clear the Feishin HTTP and Query cache to clear
stored lyrics
-   Added related songs to the `Related` tab on the fullscreen player
-   Added `codec` column for song lists
-   Added option to start app as minimized

#### Changed

- Playback speed control is now a slider instead of a selection
([#&#8203;437](https://togithub.com/jeffvli/feishin/issues/437)) (Thanks
[@&#8203;marksdestiny](https://togithub.com/marksdestiny))
-   Web player is now the default instead of MPV
- (Jellyfin) Adding a jellyfin server now allows for an empty password
field
-   Default hotkey for play/pause toggle set to SPACEBAR
-   Changed icon for `Play Random` on the player bar

#### Fixed

- (Jellyfin) Fixed getPlaylistSongList endpoint only returning the first
300 songs
([#&#8203;449](https://togithub.com/jeffvli/feishin/issues/449)) (Thanks
[@&#8203;SlyFabi](https://togithub.com/SlyFabi))
- Properly set native titlebar on macOS
([#&#8203;209](https://togithub.com/jeffvli/feishin/issues/209)) (Thanks
[@&#8203;kgarner7](https://togithub.com/kgarner7))
-   Fixed long artist page descriptions not being truncated
- Fixed playback when SHUFFLE and REPEAT ONE is enabled and there is
only one track in the queue
- (MPV) Fixed audio sample rate value on startup
([#&#8203;470](https://togithub.com/jeffvli/feishin/issues/470)) (Thanks
[@&#8203;kgarner7](https://togithub.com/kgarner7))
-   Player buttons are now disabled when the queue is empty
- Fixed play queue scroll position changing when app window focus
changes
-   Fixed scrobbling condition when a song is repeated
-   Fixed volume when set by MPRIS
-   Fixed player index being offset by 1 when restoring queue on startup
-   Various translation fixes

#### What's Changed

- AppImage: Set proper categories on desktop entry by
[@&#8203;mihawk90](https://togithub.com/mihawk90) in
[jeffvli/feishin#430
- Update scrobble-settings.tsx by
[@&#8203;salguerooo](https://togithub.com/salguerooo) in
[jeffvli/feishin#440
- Use startIndex in Jellyfin getPlaylistSongList by
[@&#8203;SlyFabi](https://togithub.com/SlyFabi) in
[jeffvli/feishin#449
- Improve the playback speed control by
[@&#8203;marksdestiny](https://togithub.com/marksdestiny) in
[jeffvli/feishin#437
- Bump axios from 1.5.1 to 1.6.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[jeffvli/feishin#459
- Bump zod from 3.21.4 to 3.22.3 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[jeffvli/feishin#460
- Bump [@&#8203;babel/traverse](https://togithub.com/babel/traverse)
from 7.22.19 to 7.23.7 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[jeffvli/feishin#462
- Bump postcss from 8.4.27 to 8.4.33 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[jeffvli/feishin#463
- Bump electron from 25.3.0 to 25.8.4 in /release/app by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[jeffvli/feishin#464
- Bump follow-redirects from 1.15.2 to 1.15.5 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[jeffvli/feishin#461
- Fixed incorrect label for album sort by release date by
[@&#8203;rappo](https://togithub.com/rappo) in
[jeffvli/feishin#458
- Add frame to macOS native window bar by
[@&#8203;jeffvli](https://togithub.com/jeffvli) in
[jeffvli/feishin#209
- \[bugfix]: defer restore queue until mpv exists by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#435
- \[bugfix]: Validate audio sample range, catch AudioContext error by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#470
- \[bugfix]: Fix add to playlist success message by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#473
- \[bugfix]: Fix safari audio context by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#471
- \[enhancement]: support clearing query and http cache by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#475
- \[bugfix]: Fix repeated track scrobbling by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#480
- \[feature]: Show album comment, Last.fm/MusicBrainz links by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#450
- \[bugfix/enhancement] Order artist's Top Songs by play count by
[@&#8203;lymnyx](https://togithub.com/lymnyx) in
[jeffvli/feishin#487
- \[enhancement] Add a button size setting by
[@&#8203;iiPythonx](https://togithub.com/iiPythonx) in
[jeffvli/feishin#486
- \[bugfix] Fix global hotkeys not working on startup by
[@&#8203;iiPythonx](https://togithub.com/iiPythonx) in
[jeffvli/feishin#488
- \[bugfix] Fixes route of most played songs on home page by
[@&#8203;lymnyx](https://togithub.com/lymnyx) in
[jeffvli/feishin#489
- \[bugfix/enhancement] Fixes german translations being sentence-case by
[@&#8203;lymnyx](https://togithub.com/lymnyx) in
[jeffvli/feishin#491
- \[bugfix]: default go libsecret, support changing secret store by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#493
- Bump the npm_and_yarn group across 2 directories with 2 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[jeffvli/feishin#500
- \[enhancement]: Audio player enhancements by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#501
- \[bugfix/enhancement]: Support Navidrome structured lyrics by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#484
- \[enhancement]: support reordering homepage by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#494
- Image Resolution Setting by
[@&#8203;darkpixlz](https://togithub.com/darkpixlz) in
[jeffvli/feishin#492
- \[bugfix]: Macos trusted accessibility by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#512
- Bump the npm_and_yarn group across 2 directories with 1 update by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[jeffvli/feishin#521
- \[enhancement]: Start minimized by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#522
- Add a pre-defined server for the docker version by
[@&#8203;Kakoluz](https://togithub.com/Kakoluz) in
[jeffvli/feishin#413
- \[enhancement]: Better version checks by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#514
- \[bugfix]: Check for Navidrome authentication on startup by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#510
- \[enhancement]: Differentiate shared and owner playlists for Navidrome
by [@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#517
- \[enhancement]: Make related tab on full screen player useful by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#519
- \[enhancements]: fix carousel, full screen metadata improvements by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#524
- \[feat] Add a dynamic image option to the fullscreen player by
[@&#8203;iiPythonx](https://togithub.com/iiPythonx) in
[jeffvli/feishin#526
- \[enhancement]: better version checks for lyrics, Navidrome by
[@&#8203;kgarner7](https://togithub.com/kgarner7) in
[jeffvli/feishin#529

#### New Contributors

- [@&#8203;mihawk90](https://togithub.com/mihawk90) made their first
contribution in
[jeffvli/feishin#430
- [@&#8203;salguerooo](https://togithub.com/salguerooo) made their first
contribution in
[jeffvli/feishin#440
- [@&#8203;SlyFabi](https://togithub.com/SlyFabi) made their first
contribution in
[jeffvli/feishin#449
- [@&#8203;marksdestiny](https://togithub.com/marksdestiny) made their
first contribution in
[jeffvli/feishin#437
- [@&#8203;dependabot](https://togithub.com/dependabot) made their first
contribution in
[jeffvli/feishin#459
- [@&#8203;rappo](https://togithub.com/rappo) made their first
contribution in
[jeffvli/feishin#458
- [@&#8203;lymnyx](https://togithub.com/lymnyx) made their first
contribution in
[jeffvli/feishin#487
- [@&#8203;darkpixlz](https://togithub.com/darkpixlz) made their first
contribution in
[jeffvli/feishin#492

**Full Changelog**:
jeffvli/feishin@v0.5.3...v0.6.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI0MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants