sirjson / cyp Goto Github PK
View Code? Open in Web Editor NEWThis project forked from ondras/cyp
Control Your Player: a Web-based MPD client
License: MIT License
This project forked from ondras/cyp
Control Your Player: a Web-based MPD client
License: MIT License
Something I noticed, especially on my ultra-wide display is that now that the width limit was lifted, important player controls are harder to reach and spread out too much.
Maybe I will revert commit adeb0dd and introduce a different version that will still raise the min-width but also deals with the background in a more elegant way.
Right now if MPD and CYP are not running on the same system it takes a while until CYP is connecting. Until that happened it's not obvious in what state the Client is since there is no feedback. It doesn't tell me it's connecting nor prevents me from clicking everything. Also, if I don't open the developer console I would have no idea that in fact something broke somewhere.
In other setups this might not be visible still I think a nice startup animation with a bit of what is going on info would go a long way especially for those who power almost everything with SBCs.
The ability to have more than one output is a pretty cool MPD feature that can sadly not be controlled right now with CYP. Even in a normal use case with only one physical output because of how ALSA works you might need more outputs / different outputs. An example would be the EQ Plugin for ALSA which creates a new virtual device.
Playing from your main audio system but also be able to stream into other rooms is also a use case where it might be not been always a good idea to have the stream running all the time depending on how many resources the MPD Server can spare.
The link to the original issue is here: ondras#9
In theory this is a neat feature but because of my audio setup it can never work in this implementation even if I would mount and symlink that special folder. It also doesn't support YouTube Streams because it tries to download the complete file first which on a 24/7 live stream is an issue.
Through testing, I think I've found a way to solve these issues. Since technically cyp is a client but also a provider I think the better solution would be to use the youtube-dl API for metadata and query functions and let cyp set up a stream via VLC for the MPD Service that requested a remote song / stream.
Doing this manually worked great so, I think this would be a great extension that potentially allows more than just YouTube content to be listened to. The downside to this is that it increases the complexity of the client because it now needs to manage creating local streams on the fly, but I'm not too worried about that.
If cyp can't find album art for whatever you are playing right now on your MPD server it will just leave a gap which ruined the otherwise good-looking design.
This is easily fixed by adding a dummy album art picture that gets shown in case there is no album art, kind of like every player is doing it these days
MPD can be a bit slow until it warmed up in my experience. For example, I have a track in my playlist that needs some time to load for some reason, as I'm writing this it took 10 seconds to start but in the Client I didn't even know if a request to play said track was sent. Speaking from experience, what usually happens in these situations is a user who spams the same button over and over which will make the situation worse.
You can feel the upstream mobile focus trough out the whole app which can make it cumbersome to use on PC. For example, if I have a folder and I want to navigate to it, on PC I want to double-click it or at least single click it.
The current flow in cyp with almost everything is clicking an item, looking down on my action bar deciding what to do with it and click the action. Especially when exploring the library this gets tired quick. I know for a good mobile experience this needs to stay as is so an implementation / extension must differentiate between a User with Mouse and Keyboard and a User with a Touchscreen.
It's weird and maybe a PC only bug but it feels like the YT search interface is kind of unfinished in terms of design and user-friendliness.
A picture shows what I mean
What needs fixing
Right now if I add a few songs to my central library and I don't want to wait on MPD picking up that something changed I would need to issue the rescan
command. Right now I'm doing this with my tools but if I want a seamless experience I think this command should be useable from within CYP.
The challenge here is how to make sure that not everyone could spam rescan
how they see fit in a multi-user scenario and technically DDoS the MPD service.
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.