{"action":"created","issue":{"url":"https://api.github.com/repos/TheAmazingAudioEngine/TheAmazingAudioEngine/issues/128","labels_url":"https://api.github.com/repos/TheAmazingAudioEngine/TheAmazingAudioEngine/issues/128/labels{/name}","comments_url":"https://api.github.com/repos/TheAmazingAudioEngine/TheAmazingAudioEngine/issues/128/comments","events_url":"https://api.github.com/repos/TheAmazingAudioEngine/TheAmazingAudioEngine/issues/128/events","html_url":"https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine/pull/128","id":53292429,"number":128,"title":"AudioBufferList player","user":{"login":"mwise","id":1072,"avatar_url":"https://avatars.githubusercontent.com/u/1072?v=3","gravatar_id":"","url":"https://api.github.com/users/mwise","html_url":"https://github.com/mwise","followers_url":"https://api.github.com/users/mwise/followers","following_url":"https://api.github.com/users/mwise/following{/other_user}","gists_url":"https://api.github.com/users/mwise/gists{/gist_id}","starred_url":"https://api.github.com/users/mwise/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mwise/subscriptions","organizations_url":"https://api.github.com/users/mwise/orgs","repos_url":"https://api.github.com/users/mwise/repos","events_url":"https://api.github.com/users/mwise/events{/privacy}","received_events_url":"https://api.github.com/users/mwise/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-01-03T03:14:38Z","updated_at":"2015-01-03T05:58:51Z","closed_at":"2015-01-03T05:13:40Z","pull_request":{"url":"https://api.github.com/repos/TheAmazingAudioEngine/TheAmazingAudioEngine/pulls/128","html_url":"https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine/pull/128","diff_url":"https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine/pull/128.diff","patch_url":"https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine/pull/128.patch"},"body":"This PR adds a AEAudioBufferListPlayer class that implements AEAudioPlayable. I needed this functionality and saw a few mentions of it in the forums.\r\n\r\nIt's got a *lot* of code in common with the AEAudioFilePlayer, so perhaps they could both be refactored to extract these shared parts. To keep this PR simple, I didn't touch the AEAudioFilePlayer class.\r\n\r\nI whipped this up after playing around with the new AVAudioPlayerNode class in the AVFoundation framework, which handles playing files, file segments, and buffers (including scheduled playback in the future). If you'd prefer a single implementation for a AEAudioPlayer class or similar, I can take a stab at that. Given the common code mentioned above, that approach might make sense.\r\n\r\nPlease take a look and let me know if anything needs changing. I updated the copyright on these two source files. Feel free to update that as needed - I wasn't sure of the protocol on that."},"comment":{"url":"https://api.github.com/repos/TheAmazingAudioEngine/TheAmazingAudioEngine/issues/comments/68584651","html_url":"https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine/pull/128#issuecomment-68584651","issue_url":"https://api.github.com/repos/TheAmazingAudioEngine/TheAmazingAudioEngine/issues/128","id":68584651,"user":{"login":"michaeltyson","id":184008,"avatar_url":"https://avatars.githubusercontent.com/u/184008?v=3","gravatar_id":"","url":"https://api.github.com/users/michaeltyson","html_url":"https://github.com/michaeltyson","followers_url":"https://api.github.com/users/michaeltyson/followers","following_url":"https://api.github.com/users/michaeltyson/following{/other_user}","gists_url":"https://api.github.com/users/michaeltyson/gists{/gist_id}","starred_url":"https://api.github.com/users/michaeltyson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaeltyson/subscriptions","organizations_url":"https://api.github.com/users/michaeltyson/orgs","repos_url":"https://api.github.com/users/michaeltyson/repos","events_url":"https://api.github.com/users/michaeltyson/events{/privacy}","received_events_url":"https://api.github.com/users/michaeltyson/received_events","type":"User","site_admin":false},"created_at":"2015-01-03T05:58:51Z","updated_at":"2015-01-03T05:58:51Z","body":"I'm not quite sure whether I'll get to it soon – if it is, it'll be done within the scope of my work on Loopy Masterpiece, but I've not yet determined how I'll implement its audio stuff yet."}}