jeffvli / sonixd Goto Github PK
View Code? Open in Web Editor NEWA full-featured Subsonic/Jellyfin compatible desktop music player
License: GNU General Public License v3.0
A full-featured Subsonic/Jellyfin compatible desktop music player
License: GNU General Public License v3.0
Describe the bug
Styling breaks when decreasing window width.
To Reproduce
Steps to reproduce the behavior:
Config
pageExpected behavior
Styling should stay consistent (or be responsive)
Desktop (please complete the following information):
Additional context
N/a
Is your feature request related to a problem? Please describe.
When removing the currently playing song, it resets to the first track in the queue. This can be annoying especially if you don't remember the queue index of the removed song.
Describe the solution you'd like
When removing the currently playing song, it should reset to the previous song so you don't lose your current place.
Hello my friend,
first of all thank you for your nice client!
I wish to hear all of my music in my library, but there is not an option to do this. So I think that you can do in the left a "Radio" button or something like that. That would be wonderful.
Have a nice day
Greetings
Mammutor
The drag and drop function works fairly well for small operations (less than 500 rows), but tends to lock up on larger operations (500-2000+). The function either needs to be heavily optimized or possibly be changed to be asynchronous while setting a loading state on the table to lock any changes while processing.
Describe the bug
macOS titlebar is not visually correct. (#23)
To Reproduce
Change titlebar to macOS
Screenshots
See below. Window in front is Finder, window behind is sonixd.
Desktop (please complete the following information):
Currently, the only indicator for a favorited artist or album is shown on the hover state of a card. It should be changed so that if an item is starred/favorited, a prominent indicator is displayed by default.
Also add a hover tooltip for links on cards.
Describe the bug.
If album is displayed in modal view, right clicking on track displays menu with actions under the modal, making it impossible to perform an action on a song like adding it to the queue.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Menu with options to be displayed on top.
Platform
Screenshots
Add a folder browser that's compatible with Subsonic's getIndexes, getMusicFolders, and getMusicDirectory. This would allow users to browse through their music directories and play songs by directory.
Is your feature request related to a problem? Please describe.
This isn't related to an issue, only a feature request.
Describe the solution you'd like
Add media controls to the Gnome Notification Panel for Sonixd.
Describe alternatives you've considered
Initially I thought it was because media hotkeys were not enabled, however, they are functioning as intended
Additional context
This is a screenshot of intended behavior. This is while Spotify is playing music:
Note that even with Sonixd playing music, Spotify is the only media controls being displayed:
Thank you so much for all of your hard work. Definitely the best Subsonic client I've used for desktop!
Is your feature request related to a problem? Please describe.
Add scrobble to last.fm when playing tracks on sonixd.
Describe the solution you'd like
For scrobble, ideally you send a /rest/scrobble?submission=false at the beginning of the track, to signal a NowPlaying state, and at the end you send a /rest/scrobble?submission=true to mark as played. This documentation may help: https://www.last.fm/api/scrobbling#when-is-a-scrobble-a-scrobble
In Navidrome UI, I send the submission=true after 50% or 4 minutes into the song, and I send it for all tracks, disregarding their length
Steps to Re-create (windows OS)
NOTE: I think this started happening in version 0.5.0
Is your feature request related to a problem? Please describe.
All grid-views currently show the ordering that is returned by the API. Having any semblance of filtering is gone unless you switch to list-view. List-view is also limited by the columns that you decide to display.
Describe the solution you'd like
Add a dropdown of filters for every data property in both list-view and grid-view.
Describe alternatives you've considered
N/a
Additional context
N/a
Is your feature request related to a problem? Please describe.
Currently the column selector requires you to clear out or remove columns if you want them in a selected order. You are also unable to individually select resizable columns.
Describe the solution you'd like
Create a new drag-n-drop component to add, select, and re-order desired columns.
Is your feature request related to a problem? Please describe.
Subsonic-API supports multiple filters for albums which includes:
Describe the solution you'd like
Additional filters separate which can be used in conjunction with the existing:
UI should most likely act similarly to the Add random
on the Now Playing
page.
Edit: Only additional functionality that can be added is a byYear
filter.
Is your feature request related to a problem? Please describe.
Currently the alignment is statically set as center
for all grid views. This is a personal preference thing, but having an option for both left and center alignment would be nice.
Describe the solution you'd like
Add a selector in the Look & Feel grid-view config to select between center and left alignment.
Describe alternatives you've considered
N/a
Is your feature request related to a problem? Please describe.
When opening the album list, the albums are sorted alphabetically by title, a possibility of choosing the default sorting parameter (eg. release year) would be handy.
Describe the solution you'd like
Choosing the default sorting column in Look & Feel.
Is your feature request related to a problem? Please describe.
Currently there are only two themes with no easy way of adding additional themes.
Describe the solution you'd like
Add a configurable theming solution using the JSON config file.
Describe the bug
Unable to set genre column in Songs
list-view
To Reproduce
Steps to reproduce the behavior:
Genre
columnExpected behavior
Genre column should be saved and displayed on list-view for views that display a song list.
Desktop (please complete the following information):
Is your feature request related to a problem? Please describe.
This request is mainly for windows but could also apply to some linux distros. I'm used to spotify, being able to click exit but not really exit and continue playback with the window minimized to the tray.
Describe the solution you'd like
Describe alternatives you've considered
None
Additional context
I can attempt to implement this eventually if you don't get around to it. By the way, I cloned and liked what I saw on your dev branch ๐
Refetching is fine for smaller datasets, but with large datasets (5k+ items), this can take an extended period of time.
We need to pass the current page details to the context menu redux state so that we can perform the update to the cached list.
Is your feature request related to a problem? Please describe.
For larger libraries, loading albums or artists may take an extended amount of time (e.g. 50k+ albums may take upwards of 1-2 minutes to load).
Describe the solution you'd like
Add an option to allow swapping the view on the album page between all and paginated, with a selection of how many albums to display per page (25, 50, 100, etc).
Add support for offline playback.
This will include support for marking playlists as "available offline", which will automatically sync the playlist and all songs to the disk.
Describe the bug
Songs / images aren't being cached even when the setting is enabled.
To Reproduce
Steps to reproduce the behavior:
Other
configExpected behavior
Songs and images should be cached to the specified cache location
Desktop (please complete the following information):
It would be great if when you resized (or maximized) the sonixd window, if it would remember that windows size (or maximize state if you had maximized it) the next time that you close/re-launch the program.
currently, the program seems to always open with the same small window size (using Windows 10/11)
btw, thx for this great application!
Describe the bug
Pressing the star button on grid card hover does not work on the Search
and Dashboard
scrolling menu cards.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The album/artist should be starred.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Is your feature request related to a problem? Please describe.
The problem is that I would like to use the media keys (i.e., play/pause, next/prev) on my laptop (mac) to control sonixd.
Additional context
For the longest time until I stopped subscribing to google music, I used to use this (electron) app: https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-
It has support for media keys, so it might be a useful reference?
Is your feature request related to a problem? Please describe.
Sonixd needs an About
page to give version info, links, etc.
Describe the solution you'd like
A page in the config, or an icon with a hover tooltip
Is your feature request related to a problem? Please describe.
Add a button to export the playlist to the local system.
Describe the solution you'd like
/home/user/Documents/music/
)Describe alternatives you've considered
N/a
Additional context
N/a
Is your feature request related to a problem? Please describe.
As a cross-platform application, sonixd should have multiple titlebar styles to conform to OS-specific views.
Describe the solution you'd like
Create a configurable setting to allow the switching between a Windows and macOS style titlebar.
Currently, the list stays static when the user is performing any drag operation, so using the mouse wheel is a requirement if you want to select anything outside of the current view.
Select dragging and drag-and-drop should have scroll zones on the top and bottom of the list so that the user does not need to use the scroll wheel to either scroll up or down.
It is currently impossible to navigate forward or back a page without using a hotkeys such as page forward/back buttons on your mouse. Add persistent buttons to allow the user to page forward or back on the main layout.
version 0.4.1 of the appimage on Ubuntu Bionic.
My music library consists of over 12,000 songs, in several hundred nested directories.
In Sonixd, how do I show a list of all the songs in the library? I can't figure out how to do that.
I did create a playlist in which I added all songs - well, not really all, more on that in the postscript below - but a playlist is static. Every time I add a new song to the library, I assume I would also have to add it to this playlist in Sonixd as well. Correct?
What I'm looking for is a list of songs in Sonixd that shows all songs in the music library at that moment. How do I do that in Sonixd?
Thanks.
(P.S.: As I wrote, I have over 12,000 songs. The way I added them to the playlist is I selected all folders, and then added them to the playlist. It took about two minutes for Sonixd to do that, but - it only added about 11,300 songs. Is there some upper limit to the number of songs Sonixd can add to a playlist?)
Is your feature request related to a problem? Please describe.
The shuffle functionality currently physically moves all playing songs into a shuffled state, which causes all albums to go out of order when viewing. Having the queue in its default order makes for a more orderly viewing experience especially when browsing for songs you want to play.
Describe the solution you'd like
Add a configurable option to keep all songs in place, but just shuffle in a way that the player jumps to a random index instead of physically shuffling the songs (similar to foobar2000).
Describe alternatives you've considered
N/a
Additional context
This shuffle method would likely not work with Add to queue (next)
and Add to queue (later)
because of the new randomness of the shuffle queue.
Read replaygain tags from the track and apply a volume transformation based on it.
https://wiki.hydrogenaud.io/index.php?title=ReplayGain_2.0_specification#Gain_calculation
Viewing albums or artists using grid-view should display an actions
dropdown button on each card to perform actions similar to the context menu such as:
Is your feature request related to a problem? Please describe.
Add support for Jellyfin's music server API
Describe the solution you'd like
Describe alternatives you've considered
N/a
Additional context
Jellyfin API reference: https://api.jellyfin.org/
Existing projects that implement Jellyfin audio API:
Sonixd 0.4.1 appimage, ubuntu Bionic
Adding songs to a playlist:
I have a genre of songs called "Blues". In the genre view in sonixd, I see "Blues" in the list of genres, it shows about 360 tracks. I expand the "Blues" genre category, and then select all entries, then right click and choose "Add to playlist", and I select the existing (empty) playlist of "Blues". Sonixd then responds with a message that it added 876 tracks. When I look in the "Blues" playlist, I see all those songs in the blues genre; and, I see what looks to be a random selection of roughly 500 additional tracks.
Removing songs from a playlist:
Continuing the above scenario: I sort the playlist by genre. Then, I select all tracks that are NOT of the blues genre. Then I right click and choose "Remove selected". But, sadly nothing happens, they remain.
Why did my attempted method of adding songs to a playlist not work?
Why did my attempted method of removing songs from a playlist do nothing?
Hey,
first of all great job this project looks great!
I've just noticed a view UI/UX things which I think could make it even better :)
When you hover over an album preview, there are two "plus" symbols, I assume one for adding the album to the queue and one to a playlist. This is to me pretty ambigious and I think having more distinct symbols, a tooltip showing up or so would be beneficial.
The opening animation of the mini-view of the current queue is really long.
In the album view, when you hover over a song, the UI doesn't reflect clearly that you can click to play the song. Maybe changing highlighting the row (thats what spotify is doing) could be nice? Edit: I just saw that when you click on a song, you're selecting it and it reflects in a colour change. Spotify is using for hover and select two different highlight colours.
I think Media Sessions - at least on Windows 11 - are not registered properly. When pressing pause/forward/back on my keyboard it's only working when sonixd is in focus.
When in album view, filtering by genre and the sorting order are exclusiv to one another, even though the subsonic allows both query parameters simultaneously. Moved to #39
Automatically save valid server configurations to the settings file, so that the user does not need to re-enter credentials when on the login page of the app, and be able to select from multiple saved servers.
Describe the bug
Cannot start playing any audio. Playhead is stuck at 0:00.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Music starts after hitting play on album/track.
Desktop (please complete the following information):
Additional context
Connecting to Navidrome server version 0.46.0.
All music on server is in ALAC format.
Is your feature request related to a problem? Please describe.
Currently there is no way to select between media folders that are described in the server (Airsonic).
Describe the solution you'd like
Add a global selector for the desired media folder to use (or omit it to view all folders).
Describe the bug
Multiple scrobble requests will be sent for the same song if the song is paused and resumed in its to-scrobble condition (e.g. past 4 minutes, or 90%).
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The song should not be scrobbled again.
Desktop (please complete the following information):
I'm loving using this, the interface feels so snappy.
Just a minor feature request, if you ever feel bored. Not super important.
Add support to control playback through keyboard media keys (such as play, next, previous, volume control, etc)
You can currently view artists and albums within a modal without leaving the page when using grid-view. Allow the same option when using list-view, either by context menu or some other clickable method.
Is your feature request related to a problem? Please describe.
The user should be able to download songs to the local disk from the server.
Describe the solution you'd like
Context menu option and page buttons to select albums and tracks to dowload.
Is your feature request related to a problem? Please describe.
When adding songs via albums, there are sometimes some songs you may want to filter out (e.g. off vocal/instrumental). This will require you to manually remove them from the play queue whenever you add them.
Describe the solution you'd like
Add a configurable list of regex filters to allow you to automatically remove the songs when they're added to the queue.
Add another button for "Add to queue (next)" separate from "Add to queue" so that the user can add songs directly after the currently playing song if desired.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.