{"action":"published","release":{"url":"https://api.github.com/repos/othiym23/packard/releases/2402866","assets_url":"https://api.github.com/repos/othiym23/packard/releases/2402866/assets","upload_url":"https://uploads.github.com/repos/othiym23/packard/releases/2402866/assets{?name,label}","html_url":"https://github.com/othiym23/packard/releases/tag/v3.1.0","id":2402866,"tag_name":"v3.1.0","target_commitish":"master","name":"","draft":false,"author":{"login":"othiym23","id":418097,"avatar_url":"https://avatars.githubusercontent.com/u/418097?v=3","gravatar_id":"","url":"https://api.github.com/users/othiym23","html_url":"https://github.com/othiym23","followers_url":"https://api.github.com/users/othiym23/followers","following_url":"https://api.github.com/users/othiym23/following{/other_user}","gists_url":"https://api.github.com/users/othiym23/gists{/gist_id}","starred_url":"https://api.github.com/users/othiym23/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/othiym23/subscriptions","organizations_url":"https://api.github.com/users/othiym23/orgs","repos_url":"https://api.github.com/users/othiym23/repos","events_url":"https://api.github.com/users/othiym23/events{/privacy}","received_events_url":"https://api.github.com/users/othiym23/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2015-11-30T09:12:16Z","published_at":"2016-01-11T03:30:43Z","assets":[],"tarball_url":"https://api.github.com/repos/othiym23/packard/tarball/v3.1.0","zipball_url":"https://api.github.com/repos/othiym23/packard/zipball/v3.1.0","body":"#### more metadata!\r\n\r\nIt was always my plan to add support for MP3 and AAC files to `packard`, it's just that for DJing and listening, I've been buying nothing but FLAC files (or buying WAVs that I then transcode to FLAC before archiving them – thanks, Beatport!). It turns out the state of the art as far as tag reading isn't quite where I'd like it to be, but with some creative hacking, I was able to get the streaming ID3v2 frame and QuickTime atom parsers I needed to make this happen.\r\n\r\nIn principle, `packard` should now be agnostic to audio file types, and adding additional file types, should someone want to (MQA? ALAC? Monkey's Audio? shn?), should be easy at this point, assuming a streaming parser for the tag frames exist in the npm ecosystem. At some point, I'd like to add the ability to clean up tags, but that's a little stickier, given how complicated writing the different kinds of tags are.\r\n\r\n* [`c68c35b`](https://github.com/othiym23/packard/commit/c68c35b87028f16eb7277c669ee5ec92219026aa) ID3v2 frames: use [`musicmetadata`](http://npm.im/musicmetadata) to read tags from MP3 files, and create an abstract tag reader function that maps file types to specific kind of tag reader needed. ([@othiym23](https://github.com/othiym23))\r\n* [`0637077`](https://github.com/othiym23/packard/commit/063707720025debf6ac892c78ed81bcdd0b78ab3) QuickTime atoms: use [`mp4-parser`](http://npm.im/mp4-parser) to read tags from AAC files, and plug it into the abstract tag reader. `mp4-parser` assumes that everything's UTF-8, so fix up the standard iTunes atom names (which are encoded in... something else) using hax. ([@othiym23](https://github.com/othiym23))\r\n* [`460018f`](https://github.com/othiym23/packard/commit/460018f0de2a8683b91ac5886d87971e4888b4ae) `src/flac/*` → `src/metadata/flac/*`. ([@othiym23](https://github.com/othiym23))\r\n* [`5525f51`](https://github.com/othiym23/packard/commit/5525f5102027bb5af77390a7318b948e2b4064f6) `src/mp3/*` → `src/metadata/mp3/*`. ([@othiym23](https://github.com/othiym23))\r\n* [`56a1956`](https://github.com/othiym23/packard/commit/56a19568ed00024f82655945fbf8abf333919821) Add ability to extract `.m4a` files and scan them for metadata from zipfiles. ([@othiym23](https://github.com/othiym23))\r\n* [`664c6c4`](https://github.com/othiym23/packard/commit/664c6c4c1a1f6fe537f4a4cb4deff2e23f9cc966) Extract iTunes helpers from `.m4a` reader. ([@othiym23](https://github.com/othiym23))\r\n* [`9910efd`](https://github.com/othiym23/packard/commit/9910efdba5c5a0d018a3818b42f035c95e23e751) Rename functions to reflect that `packard` can handle MP3 and AAC files as well as FLAC files now. ([@othiym23](https://github.com/othiym23))\r\n* [`8033d16`](https://github.com/othiym23/packard/commit/8033d161348a8c81b977c86379dfb4f21c784f5d) Extract tag internal-name-to-packard-name mappings from metadata readers. ([@othiym23](https://github.com/othiym23))\r\n* [`fcc9444`](https://github.com/othiym23/packard/commit/fcc9444cf039d102cc062c9854edd41e6f2f6047) Improve ID3v2 tag reading by incorporating more frame types and simplifying how mappings are used. ([@othiym23](https://github.com/othiym23))\r\n* [`27ee550`](https://github.com/othiym23/packard/commit/27ee5503b4804a9084f254e751565454098b6ccb) Update to `@packard/model@3`, which uses `tags` instead of `flacTags`. ([@othiym23](https://github.com/othiym23))\r\n* [`8da151e`](https://github.com/othiym23/packard/commit/8da151e83ff817beca7c5ade4d14a37ac52c5347) Add more tag types based on what's out there in the wild. ([@othiym23](https://github.com/othiym23))\r\n* [`b44f31c`](https://github.com/othiym23/packard/commit/b44f31c4370996ced4c6819726e665afa11d92ce) Warn when a metadata reader encounters an unfamiliar tag type – that's the quickest way to ensure that the unknown tag type gets incorporated into the tag-reading framework. ([@othiym23](https://github.com/othiym23))\r\n\r\n#### tweaks\r\n\r\n* [`180470d`](https://github.com/othiym23/packard/commit/180470d64fcf259fff32a14a2aff55b07e7ec48d) Burn the boats! Commit to standard! Which I already did! But I forgot to delete `.eslintrc`! ([@othiym23](https://github.com/othiym23))\r\n* [`5638219`](https://github.com/othiym23/packard/commit/5638219f84f99a63913736ee76bd341ad56eeb5d) `albums` and `optimize` were missing from the command-line summary included in `README.md` and `test/cli-basic.js`. ([@othiym23](https://github.com/othiym23))\r\n* [`fc9c697`](https://github.com/othiym23/packard/commit/fc9c697bed738906673f210c0bf760b5b0a11047) Use files and file tree roots consistently across `packard` commands. ([@othiym23](https://github.com/othiym23))\r\n* [`f7855df`](https://github.com/othiym23/packard/commit/f7855dfc1f13b906f4a7da43183c79bfd527acc9) Hack around issue with single-track albums as a way of stalling until proper cuesheet parsing can be added. ([@othiym23](https://github.com/othiym23))"}}