Skip to content

v2.2.1

Choose a tag to compare

@othiym23 othiym23 released this 11 Jan 03:27
· 186 commits to master since this release

where the hell am I going with all this?

fleshing out the (meta)data model

  • 4311bcc Add a File model to wrap stats and paths. (@othiym23)
  • 05d6b53 Track inherits from File, and Track.fromFLAC now sets more Track values based on FLAC tags. (@othiym23)
  • 00f9ce9 Tracks have a File, instead of being a file. (Sometimes Track data will come along without being tied to a physical file.) (@othiym23)
  • 127bf63 Cover inherits from File. (@othiym23)
  • 607e847 Add a Cuesheet that inherits from File. (@othiym23)
  • 74e5d2c Add an Archive and an AudioFile that inherits from File so all the commonly-used entity types are included in the model. (@othiym23)
  • 02c84e4 Add a function to convert a Track into a SingletrackAlbum. (@othiym23)
  • 11ad51e Update Albums to initialize more values based on optional passed-in values. (@othiym23)
  • 24d1f8c Switch to model references from simple strings for album and track artists and track references to albums. (@othiym23)
  • 57438ed Move Album tracklist sorting onto the model. (@othiym23)
  • b96fca8 Extract the model into @packard/model. (@othiym23)
  • 0a0622d Instead of throwing an error when encountering an unfamiliar file type, log a warning and map it to a File. (@othiym23)
  • 5d97150 unpack: sourceArchive and destArchive are Archives now. (@othiym23)

refactoring & redesign

  • c336dcd Extract makePlaylist into src/utils/make-playlist.js, and add the ability for packard unpack --playlist to write a playlist for that unpack run to a file. (@othiym23)
  • 4019ab9 Extract playlist generation into src/utils/make-playlist.js. (@othiym23)
  • 37c5caf Write functional tests for readRoot, because it didn't have any and was constantly crashing whenever anything feeding into it changed. (@othiym23)
  • 7f5a450 Extract flatten to src/flatten-tracks.js. (@othiym23)
  • ced5ea8 Rework how filesystem metadata is read to be based on reading the paths, rather than a recursive-descent traversal of Artist -> Album -> Track. (@othiym23)
  • 0dd770b Switch to the new audio file tree reader. (@othiym23)
  • 74e5d2c The code mentions "bundles" in a few places, without there being any clear concept of what they are (except as a convenient way to attach bits of data to a set of entities as various functions decorate files with metadata). Try to make that more concrete by replacing bundles with more concrete entities wherever possible. (@othiym23)
  • 75e0ab3 Simplify assembling tracks into albums (@othiym23)
  • cd11f1b flac.albumsFromFS mostly duplicated src/read-fs-artists.js, so consolidate on the latter. (@othiym23)
  • dd325c7 Separate track metadata scanning from album assembly. (@othiym23)
  • 752deb3 src/read-tree.jssrc/read-fs-artists.js. (@othiym23)

tweaks

  • 27ce091 Add more entries to the list of filesystem cruft. (@othiym23)
  • d80e342 (Re-)Flatten audio file trees when scanning albums. (@othiym23)
  • 4eb912f Don't explode when confronted with zipfiles containing audio files in subdirectories. (@othiym23)
  • bf302ba Upgrade dependencies, and remove eslint pragmas rendered superfluous by new version of standard. (@othiym23)
  • 99ad30f Fix up spacing in two tests to make standard happy. (@othiym23)
  • a6cba9a Since this program does pretty much nothing but work with files, use graceful-fs to make it better at working with files. (@othiym23)
  • 593ac69 Got rid of an extraneous .then() in a test. (@othiym23)
  • 297b427 Use .finally() to simplify test cleanup. (@othiym23)
  • 67b2c33 Convert from CJS to ES2015 imports everywhere. (@othiym23)
  • eada3a6 More CJS into ES2015 imports. (@othiym23)
  • 9b01086 Update playlist generation to accommodate changes to model. (@othiym23)
  • 17f2564 Use only ES2015 module syntax for both exporting and importing. (@othiym23)
  • 5b805dc The tests are still ES5.1, though. (@othiym23)
  • 66e38bd tap@1.3 gathers coverage information natively, which considerably simplifies coverage gathering. Verify that the code passes standard before running test suite. (@othiym23)
  • 2c165fc Run coverage instead of coveralls for Travis. (@othiym23)
  • a04a559 Change test name to match the name of the module under test within the source tree. (@othiym23)
  • e0cedfa es6-shimbabel/polyfill. (@othiym23)
  • 9f6b772 Update to a version of tap that tolerates cyclical object references thanks to only-shallow and deeper. (@othiym23)
  • b52d5be Don't crash when encountering .avi files. (@othiym23)
  • 88af7c1 Don't crash when audio files don't contain metadata. (@othiym23)
  • cdd1ce9 The FLAC writer gets confused if you're trying to use the module concurrently; serialize FLAC tag writing. (@othiym23)
  • bc946e5 When generating a stubbed album for tests, add support for track templates to metadata.makeAlbum. (@othiym23)
  • a95856f When creating an archive of stubbed albums for tests, support relative paths, and delete stub files as they're added to the archive. (@othiym23)
  • 71ad5a3 Filter out dotfiles when unpacking zipfiles. (@othiym23)
  • fefe8bd Add logging. (@othiym23)
  • d4edc74 Add Node.js 4 to the testing matrix. (@othiym23)
  • c01d307 Clean up dependencies and sweep for new standard warnings. (@othiym23)

g'bye, TOML

  • 651e426 TOMLStream is departing to find a new home in its own magical world. (@othiym23)
  • 4cf02e0 Clean up TODO.md, including removing TOMLStream entries. (@othiym23)