{"action":"created","issue":{"url":"https://api.github.com/repos/OpenRA/OpenRA/issues/10912","repository_url":"https://api.github.com/repos/OpenRA/OpenRA","labels_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/10912/labels{/name}","comments_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/10912/comments","events_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/10912/events","html_url":"https://github.com/OpenRA/OpenRA/pull/10912","id":140383980,"number":10912,"title":"Introduce ISoundFormat for parsing sound files.","user":{"login":"pchote","id":167819,"avatar_url":"https://avatars.githubusercontent.com/u/167819?v=3","gravatar_id":"","url":"https://api.github.com/users/pchote","html_url":"https://github.com/pchote","followers_url":"https://api.github.com/users/pchote/followers","following_url":"https://api.github.com/users/pchote/following{/other_user}","gists_url":"https://api.github.com/users/pchote/gists{/gist_id}","starred_url":"https://api.github.com/users/pchote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pchote/subscriptions","organizations_url":"https://api.github.com/users/pchote/orgs","repos_url":"https://api.github.com/users/pchote/repos","events_url":"https://api.github.com/users/pchote/events{/privacy}","received_events_url":"https://api.github.com/users/pchote/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/OpenRA/OpenRA/labels/PR:%20Needs%20+2","name":"PR: Needs +2","color":"009800"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-03-12T13:25:09Z","updated_at":"2016-03-13T13:56:32Z","closed_at":"2016-03-13T13:56:01Z","pull_request":{"url":"https://api.github.com/repos/OpenRA/OpenRA/pulls/10912","html_url":"https://github.com/OpenRA/OpenRA/pull/10912","diff_url":"https://github.com/OpenRA/OpenRA/pull/10912.diff","patch_url":"https://github.com/OpenRA/OpenRA/pull/10912.patch"},"body":"This takes #10676 and changes `MusicInfo` to use the new `LengthInSeconds` property.\r\n\r\nThe original SoundFormat implementations would load the entire file up-front, which is overkill when we are only interested in the length.  I've worked around that by splitting out proper format detection methods, and then lazily loading the raw bytes only when needed.  This can later be changed to use proper streaming."},"comment":{"url":"https://api.github.com/repos/OpenRA/OpenRA/issues/comments/195961381","html_url":"https://github.com/OpenRA/OpenRA/pull/10912#issuecomment-195961381","issue_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/10912","id":195961381,"user":{"login":"abcdefg30","id":7704140,"avatar_url":"https://avatars.githubusercontent.com/u/7704140?v=3","gravatar_id":"","url":"https://api.github.com/users/abcdefg30","html_url":"https://github.com/abcdefg30","followers_url":"https://api.github.com/users/abcdefg30/followers","following_url":"https://api.github.com/users/abcdefg30/following{/other_user}","gists_url":"https://api.github.com/users/abcdefg30/gists{/gist_id}","starred_url":"https://api.github.com/users/abcdefg30/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abcdefg30/subscriptions","organizations_url":"https://api.github.com/users/abcdefg30/orgs","repos_url":"https://api.github.com/users/abcdefg30/repos","events_url":"https://api.github.com/users/abcdefg30/events{/privacy}","received_events_url":"https://api.github.com/users/abcdefg30/received_events","type":"User","site_admin":false},"created_at":"2016-03-13T13:56:32Z","updated_at":"2016-03-13T13:56:32Z","body":"[Changelog](https://github.com/OpenRA/OpenRA/wiki/Changelog-(bleed)/_compare/d8f2d77b2a5f55ed38979beb1a30b54d1a77665e...48efba167de7752dcc774b8c3e9a280f41d94a8a)"}}