Skip to content
Bret Comnes edited this page Jul 12, 2017 · 7 revisions

2017-07-12

Gave up on the wiki log. TODO: do a dev blog somewhere.

2017-03-03

Made a dependency graph today

screen shot 2017-03-03 at 10 24 57 am

2017-02-16

Basically, pulling the goals back even further to just get the foundation of a music player in place.

-BAC

2017-02-05

Fixed a few bugs in leveldb indexing, but the more I read about SQLite the more I realize how this problem is a perfect fit for a relational database. The only issue is the ability to replicate stats and edits across computers and the lack of conflict resolution. SQLite isn't good for that, so that puts a serious limitation on making the entire SQLite database a 'secondary' view into the underlying metadata extracted from the files. It would be cool to have stats synced across systems as well. Syncing is a super hard problem.

I populated the table/state with 10049 songs, and choo slows to a craw. The slowdown happens when we map over that array every state update in the table component. Scrolling performance is still good, but we need to find a way to decouple state updates from recalculating the list.

Next steps:

  • Find a way to render a list of 10,000 objects in a way that doesn't thrash when unrelated state changes.
  • Investigate dom-recycling table libraries
  • Start developing a relational database workflow
  • Brainstorm an async worker queue and UI to indicate what its doing.

-BAC

2017-01-29

Threw together a super simple music-library class in https://github.com/hypermodules/music-library that scans and cleans up missing files. It uses leveldb and some indexing wrappers and is pretty crappy, but should at least help quickly recall a list of pre-scanned metadata objects for quickly populating the library view.

A few points of concern:

-BAC

Clone this wiki locally