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 edit date added, date last played, and play count
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
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).
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?
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.
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
Be able to delete tracks from the context menu
Make sure to ask for confirmation first.
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.
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
Add support for logging out and flushing the local caches/storage/cookie
The user should be able to choose what metadata columns to see. Make this a setting that can be stored on the server
Support for the search/filtering feature
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
Drag and drop support for tracks onto playlists
HOLY CRAP. DO ITTTTTTTTTTT!
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
Be able to update metadata in batches. This will be complicated.
A nice screen to hide the interface until it is loaded. It should probably show some progress of the loading process
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.
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.
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.
Be able to delete enqueued tracks from the queue playlist. Kinda like a "dequeue" operation.
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/
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
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.
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"
Add a blur filter to the modal shade when the session has expired
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.