Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-09-05 | test: Track.coverArtFileExtension (unit) | (quasar) nebula | |
2023-09-05 | data: refactor Track.coverArtDate | (quasar) nebula | |
2023-09-05 | data: remove lots of boilerplate {expose: true, compose: true} | (quasar) nebula | |
2023-09-05 | data: misc. style consistency tweaks | (quasar) nebula | |
2023-09-05 | data: fix mis-indented Thing.composite.from calls | (quasar) nebula | |
2023-09-05 | data, test: update & test Track.originalReleaseTrack | (quasar) nebula | |
2023-09-05 | data: update Track.composite.withAlbum implementation | (quasar) nebula | |
2023-09-05 | data: Track: misc. minor fixes | (quasar) nebula | |
2023-09-05 | data: update Track.otherReleases implementation | (quasar) nebula | |
Also adds {selfIfOriginal} option to withOriginalRelease(). | |||
2023-09-05 | data: always define composite utilities with `key() {}` syntax | (quasar) nebula | |
Sublime Text doesn't index the key in `key: () => {}` as a symbol for function definitions if the parameter list takes up more than one line, but always works for `key() {}`. This also just makes it a little easier to add "preamble" before the main return value, when relevant. Consistent syntax is usually a plus for recurring behavioral forms! | |||
2023-09-05 | data: clean up Thing.composite.from debug messaging | (quasar) nebula | |
* print annotation next to every log message, instead of just the begin/end messages * add Thing.composite.debug() to conveniently wrap one property access * don't output (and don't access) track album in inspect.custom when depth < 0 | |||
2023-09-05 | data: misc. additions, fixes & refactoring | (quasar) nebula | |
Thing.composite.from: * Transparently support expose.transform steps inside nested compositions, w/ various Thing.composite.from clean-up * Support continuation.raise() without provided dependencies * add Thing.composite.exposeConstant * add Thing.composite.withResultOfAvailabilityCheck * supports {mode: 'null' | 'empty' | 'falsy'} * works with dependency or update value * add Thing.composite.earlyExitWithoutDependency * refactor Thing.composite.exposeDependencyOrContinue * refactor Thing.composite.exposeUpdateValueOrContinue * add Track.withHasUniqueCoverArt * refactor Track.coverArtFileExtension * refactor Track.hasUniqueCoverArt | |||
2023-09-05 | data: Thing.composite.exposeDependencyOrContinue | (quasar) nebula | |
2023-09-05 | data, test: Track.color inherits from track section | (quasar) nebula | |
2023-09-05 | data, test: retain validator for Track.color | (quasar) nebula | |
2023-09-05 | data, test: misc. additions | (quasar) nebula | |
* Thing.composite.expose * Thing.composite.exposeUpdateValueOrContinue * Track.composite.withAlbumProperty * refactor: Track.color, Track.album, Track.date * refactor: Track.coverArtistContribs * test: Track.album (unit) | |||
2023-09-05 | data: Track.composite.withAlbum | (quasar) nebula | |
2023-09-05 | data: Track.artistContribs: be lazy, like coverArtistContribs | (quasar) nebula | |
2023-09-05 | data: use continuation.exit and continuation.raise where needed | (quasar) nebula | |
2023-09-05 | data: bug fixes & Thing.composite.from.debug mode | (quasar) nebula | |
2023-09-05 | data: Track.coverArtistContribs: lazier steps | (quasar) nebula | |
2023-09-05 | data: fix more bad function signatures | (quasar) nebula | |
2023-09-05 | data: track.hasUniqueCoverArt: operate on resolved contributions | (quasar) nebula | |
2023-09-05 | data: track: remove unneeded explicit {to} on withOriginalRelease call | (quasar) nebula | |
2023-09-05 | data: composition docs, annotations, nesting | (quasar) nebula | |
2023-09-05 | data: signature changes to misc compositional functions | (quasar) nebula | |
2023-09-05 | data: filter only requested deps, require requesting 'this' | (quasar) nebula | |
* Thing.composite.from() only provides the dependencies specified in each step and the base, and prevents '#'-prefixed keys from being specified on the main (composite) dependency list. * CacheableObject no longer provides a "reflection" dependency to every compute/transform function, and now requires the property 'this' to be specified instead of the constructor.instance symbol. (The static CacheableObject.instance, inherited by all subclasses, was also removed.) * Also minor improvements to sugar.js data processing utility functions. | |||
2023-09-05 | data: 2x facepalm combobob | (quasar) nebula | |
2023-09-05 | data: track: more composite shenanigans | (quasar) nebula | |
2023-09-05 | data: track: experimental Thing.compose.from() processing style | (quasar) nebula | |
2023-09-05 | data, test: track: inherit album props more declaratively | (quasar) nebula | |
2023-08-19 | clean up imports & miscellaneous metastructures across codebase | (quasar) nebula | |
2023-08-15 | data, yaml: inherit music-related properties from original release | (quasar) nebula | |
When a track has 'Originally Released As', these fields are now automatically inherited: * Artists * Contributors * Referenced Tracks * Sampled Tracks Including any of these fields alongside 'Originally Released As' is an error. Corresponding properties are valid, but ignored. This uses a new "compositional" style to define how each of these properties inherits while retaining the original behavior for tracks that aren't re-releases, and avoids hard-coding much of anything! | |||
2023-08-15 | data: track: indicate rereleases in util.inspect | (quasar) nebula | |
2023-08-14 | data: remove 'Has Track Art', compute from credits | (quasar) nebula | |
2023-04-27 | data: track: null coverArtistContribs if hasTrackArt false | (quasar) nebula | |
Fixes #178. This commit also cleans up the documentation for the utility used here, dynamicInheritContribs. These are the only two uses of that utility at all but like, code comments very rarely hurt and d'accord are probably even more useful here lol | |||
2023-03-02 | per-track color support | (quasar) nebula | |
2023-02-26 | Merge branch 'preview' into sheet-music-midis | (quasar) nebula | |
2023-02-26 | new 'Sheet Music Files' & 'MIDI Project Files' fields | (quasar) nebula | |
2023-01-31 | data format cleanup: tracks | (quasar) nebula | |
* Remove `Has URLs` (`hasURLs`), unused * Tidy `propertyFieldMapping` order | |||
2023-01-15 | Merge pull request #117 from hsmusic/track-sections | (quasar) nebula | |
Change trackGroups to trackSections, avoid usage of a dedicated "domain-specific" Thing subclass | |||
2023-01-05 | remove needless "previously known as" thing comments | (quasar) nebula | |
2023-01-04 | trackGroups -> trackSections | (quasar) nebula | |
2022-12-21 | gallery conditions for tracks without unique art | (quasar) nebula | |
2022-12-07 | don't expose/show coverArtDate without cover art | (quasar) nebula | |
2022-11-28 | divide things.js into modular files (hilariously) | (quasar) nebula | |