benrr101 / cinnabar Goto Github PK
View Code? Open in Web Editor NEWCinnabar is a single page web app frontend for the Dolomite cloud media storage platform
License: GNU General Public License v3.0
Cinnabar is a single page web app frontend for the Dolomite cloud media storage platform
License: GNU General Public License v3.0
Be able to delete tracks from the context menu
Make sure to ask for confirmation first.
When displaying album art (especially in the metadata editor), the ratio of the art file from the server isn't preserved. This should be addressed by making specific requests to the server for specific sized album art. That way, the ratio is preserved at the server side without the need for any bullshit javascript implemented solutions.
For now, we'll leave the images squished.
This requires a change on Dolomite, and is already a reported issue: benrr101/dolomite#5
Store user's settings on the server for cross browser, cross computer setting storage.
Somethings shouldn't be stored on the server, so make smart decisions on what should be up there.
Requires a new modal for autoplaylist creation. Should contain a name field, save button, and table for adding/removing rules.
Saving autoplaylists should be supported
Load a really long track, scrub around on it and it'll probably not jump as far as you clicked. This is because the track hasn't fully loaded, yet. Although the percentages will be calculated correctly and an attempt to skip that far ahead will be made, the audio tag will only skip ahead as far as loaded and throw a playback time event.
Two options for fixing:
Ideally, both options should be implemented. Get on that.
A modal for the about Cinnabar information
It should be an option off of the settings menu, so this requires a menu off of the settings icon.
On a 1080p screen, the edit metadata buttons don't appear above the fold. Maybe we should put it under the last items on the left column?
Drag and drop support for tracks onto playlists
A nice screen to hide the interface until it is loaded. It should probably show some progress of the loading process
Add a blur filter to the modal shade when the session has expired
Be able to edit date added, date last played, and play count
Make just the tbody of the track table scrollable that way the column headers are always visible
See http://tjvantoll.com/2012/11/10/creating-cross-browser-scrollable-tbody/
Be able to delete enqueued tracks from the queue playlist. Kinda like a "dequeue" operation.
Send an AJAX request to Dolomite to update the last played datetime and play count after a track has played (or a certain percentage of it has played, configurable by the user).
Store the library locally, but store it with its hash to determine if it needs to be reloaded when logging in. This requires that dolomite support creating/serving up the library's hash on the getuserinformation call
HOLY CRAP. DO ITTTTTTTTTTT!
Right click support for tracks showing a list of options. Like add to playlist, enqueue, edit metadata, delete track.
For non-mouse (and apple fanboys), add a button on the right side of the track row for accessing these options
The page title should change as the playing track changes. See https://stackoverflow.com/questions/8649690/is-there-a-way-to-set-the-page-title-by-data-binding-using-knockout-js for details
The user should be able to choose what metadata columns to see. Make this a setting that can be stored on the server
Instead of making a new div for each modal we might need, just make a general purpose modal div that builds itself from a modal viewmodel.
Enable sorting on a metadata column. This would require some client-side sort function. Preferably with "the" ignorance support.
"Of course, it's filed under T for THE"
Be able to update metadata in batches. This will be complicated.
Add support for editing track metadata via a modal
Store the changes in the local track library, write them out to the server
AFAIK, when you tell a browser to remember a password, logging in to cinnabar will not work. My theory is that this fails because when the browser updates the password field, it doesn't trigger an update through Knockout -- hence when the login request is sent, the request has a blank username and password. Not sure if this is a fixable bug without requiring a huge login overhaul.
Support for the search/filtering feature
Add support for logging out and flushing the local caches/storage/cookie
TypeError: Value being assigned to HTMLMediaElement.volume is not a finite floating-point value.
self.audioObject.volume = percent;
(playback.js:253)
When dragging waaaay off the volume panel, get a type error.
I want to implement some sweet system where certain columns have certain weights to calculate the standard size of the column. But if the user want's the column size should be changeable. These weights/widths should be stored on the server as part of the server-side settings
Only send the metadata changes to Dolomite. Don't use the ?clear parameter any more in the request.
Also, if nothing changes, when pressing the cancel button, don't do a complete look up of the track. That's slow and unnecessary.
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.