{"action":"created","issue":{"url":"https://api.github.com/repos/aadsm/JavaScript-ID3-Reader/issues/54","labels_url":"https://api.github.com/repos/aadsm/JavaScript-ID3-Reader/issues/54/labels{/name}","comments_url":"https://api.github.com/repos/aadsm/JavaScript-ID3-Reader/issues/54/comments","events_url":"https://api.github.com/repos/aadsm/JavaScript-ID3-Reader/issues/54/events","html_url":"https://github.com/aadsm/JavaScript-ID3-Reader/issues/54","id":115359522,"number":54,"title":"Ideas about a rewrite","user":{"login":"icidasset","id":296665,"avatar_url":"https://avatars.githubusercontent.com/u/296665?v=3","gravatar_id":"","url":"https://api.github.com/users/icidasset","html_url":"https://github.com/icidasset","followers_url":"https://api.github.com/users/icidasset/followers","following_url":"https://api.github.com/users/icidasset/following{/other_user}","gists_url":"https://api.github.com/users/icidasset/gists{/gist_id}","starred_url":"https://api.github.com/users/icidasset/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/icidasset/subscriptions","organizations_url":"https://api.github.com/users/icidasset/orgs","repos_url":"https://api.github.com/users/icidasset/repos","events_url":"https://api.github.com/users/icidasset/events{/privacy}","received_events_url":"https://api.github.com/users/icidasset/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-11-05T19:46:50Z","updated_at":"2015-11-09T07:43:42Z","closed_at":null,"body":"Hey, so I was thinking of doing a rewrite.\r\nMy biggest issues were:\r\n\r\n- Global variables all over the place\r\n- Cannot be used in web workers\r\n- Code is not easy to read\r\n- `IEBinary_getByteAt`\r\n- Data is stored in memory (I think this should be handled by the user)\r\n\r\nI would like to rewrite this using es6 modules/syntax, es6 classes and typed arrays (I don't know much about this though). The es6 classes I would use for the `binaryFile`, so it's easy to extend and understand.\r\n\r\nNow, like I said, I don't know much about this whole thing, but I do want to learn. I wrote down a rough idea about how I think this library works: https://gist.github.com/icidasset/c6d972c90a2d2f0565b1 Please let me know if I'm on the right track with this thing."},"comment":{"url":"https://api.github.com/repos/aadsm/JavaScript-ID3-Reader/issues/comments/154986853","html_url":"https://github.com/aadsm/JavaScript-ID3-Reader/issues/54#issuecomment-154986853","issue_url":"https://api.github.com/repos/aadsm/JavaScript-ID3-Reader/issues/54","id":154986853,"user":{"login":"aadsm","id":78122,"avatar_url":"https://avatars.githubusercontent.com/u/78122?v=3","gravatar_id":"","url":"https://api.github.com/users/aadsm","html_url":"https://github.com/aadsm","followers_url":"https://api.github.com/users/aadsm/followers","following_url":"https://api.github.com/users/aadsm/following{/other_user}","gists_url":"https://api.github.com/users/aadsm/gists{/gist_id}","starred_url":"https://api.github.com/users/aadsm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aadsm/subscriptions","organizations_url":"https://api.github.com/users/aadsm/orgs","repos_url":"https://api.github.com/users/aadsm/repos","events_url":"https://api.github.com/users/aadsm/events{/privacy}","received_events_url":"https://api.github.com/users/aadsm/received_events","type":"User","site_admin":false},"created_at":"2015-11-09T07:43:42Z","updated_at":"2015-11-09T07:43:42Z","body":"I've just committed that PR after a few modifications.\r\nI'm preparing the initial commit for the new repo, but still need to plugin babel so I can use ES6.\r\nI've run out of time this weekend but will continue next weekend and hope to make the first commit by then. The current code structure I have is:\r\n\r\n- MediaFileReader: defines the interface to read files (from FS or HTTP)\r\n  - NodeFileReader: reads files from node fs\r\n- MediaTagReader: defines the interface to read tags from files.\r\n  - ID3v2TagReader: reads ID3v2 tags \r\n  - ID3v1TagReader: reads ID3v1 tags\r\n\r\nI also have jest tests for these classes.\r\n\r\n"}}