elibroftw / music-caster

Music Caster is a modern music player with the ability to cast audio files, system audio, and URLs to Google Chromecasts, Google Home/Nest Minis, etc.
https://elijahlopez.ca/music-caster/
Other
148 stars 17 forks source link

Column Selection (and Sorting) #71

Open mikecarnohan opened 7 months ago

mikecarnohan commented 7 months ago

Awesome player. Love the low latency... great job! Music Caster would be even better with the ability to display columns from the file (e.g. BPM, Track Length, Bitrate, Album, Track Number) and have each be sortable. With this addition, it would allow a person like myself to replace my go to player (Media Monkey, which I have issues using for streaming). I think to simplify, you could read the file's metadata and display the following default columns (Artists, Album, Track Name, Track Number, BPM, Bitrate, Length), and allow all to be turned on/off, sorted, and ordered as the user wants. The player may need a slightly wider footprint to accommodate the new information, but I believe the upgrade would be worth it.

elibroftw commented 7 months ago

Like a better library tab?

mikecarnohan commented 5 months ago

Yes, but directly in the Queue tab, so that tracks can be played (and sorted) directly. It's not currently clear what purpose the Library tab serves, since it seems unrelated to the Queue, where most of the apps focus is.

I'd love to connect offline with you to go over some interface ideas if you're open to it (mostly geared towards cleaning up the UI, and making it simpler to use, and ideally maintain dev-wise). I also have some small bugs to report (mostly unrelated to the app development, owing to things like antivirus clients blocking the app initially, that could be address in documentation... that I'm also open to helping you with).

You have a great tool... I really hope you'll stick with its development, and make it into a great player (in addition to being a great casting tool). If I can be of any help, please let me know... I'm a UX designer and oversaw operations at a software company for the better part of a decade, and am happy to pitch in.

The changes needed to optimize the interface are fairly straightforward (move the play controls to the bottom of the player, spanning the entire width, shrink the album art and details column on the left, expand the queue area, move URL under the queue on one row (above the player controls), ditch the library and timer tabs (moving timer options into settings area), allow Meta data to be directly edited in the queue, so the Metadata tab can also go, and changing Settings to a gear icon, and not as a separate tab. These changes would make it more inline with great players (like MediaMonkey) and bring it up to a level that people could use as their primary player. I'm not just trying to create more work for you, or shoot down what you've created... I really am a fan of your work, and would love to see it see wide adoption, since there's really not much out there like it. Thanks for all that you've already done!

mikecarnohan commented 5 months ago

MUSIC_CASTER

This is a quick mock-up of how to transform the interface to simplify it, and add the newly requested column sorting functionality.

mikecarnohan commented 5 months ago

You can update the add to queue dialog to include URL as as option (there are open dialog options that allow for a local file, or a URL), and in that way, rather than having a separate column for URL, you can allow a URL to be added to the general queue (just list the path under a column, like title, and perhaps prepend an icon designating it as URL sourced).

URL

mikecarnohan commented 5 months ago

MUSIC_CASTER2

The alternative would be to put the URL info under the queue, and follow similar logic (to above), and stick URL-added tracks in the queue if they select Add to Queue.

mikecarnohan commented 5 months ago

The main goal with these changes is to simplify the interface, and focus on functionality that will primarily be used (relegating lesser used functionality to other areas or other work flows... like allowing save of playlists, but saving them locally and allowing them to later be added to the player by the general add option, rather than giving them their own tab, and taking the focus off of it being a media player primarily).

mikecarnohan commented 5 months ago

MUSIC_CASTER3

Here is the mock up in your existing color scheme, with some minor additional tweaks.

A couple last notes... the ID3 edit functionality would be triggered by clicking an icon or edit box to the right of the track details. The edit area below would only appear if the user clicked to edit. This saves real estate, and I think it is a bit more intuitive. The drawback is that it means they can only edit Now Playing tracks, and it possibly presents a technical problem (though ID3 is editable while a track is paying in many players). If the above issues are real ones, it can easily be accommodated in subsequent redesign efforts. Also, Settings becomes a pop-up dialog with the same options there now, plus the timer functionality added, with basic cancel and save options that close the dialog. If the timer options seem counterintuitive in Settings, an icon and toggle selector can be added below track details that behaves similarly (pop-up dialog when they click the icon). You can show the status of the timer this way (the icon can be greyed out out when inactive, and high contrast with active, with a toggle/slider selector below, labelled "TIMER" indicating ON/OFF). I'd consider eliminating the functionality, as it seems pretty niche, but you likely ran into a need for it at some point, hence why you added it, so if you want it represented in a future mock-up, I'm available to bounce some ideas with you.

mikecarnohan commented 5 months ago

MUSIC_CASTER5

This is one way to handle the timer, if sticking it in Settings or eliminating it both don't appeal.