{"action":"created","issue":{"url":"https://api.github.com/repos/lathoub/Arduino-AppleMidi-Library/issues/15","labels_url":"https://api.github.com/repos/lathoub/Arduino-AppleMidi-Library/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/lathoub/Arduino-AppleMidi-Library/issues/15/comments","events_url":"https://api.github.com/repos/lathoub/Arduino-AppleMidi-Library/issues/15/events","html_url":"https://github.com/lathoub/Arduino-AppleMidi-Library/issues/15","id":126586021,"number":15,"title":"Bitrate Limit","user":{"login":"Hackmancoltaire","id":341149,"avatar_url":"https://avatars.githubusercontent.com/u/341149?v=3","gravatar_id":"","url":"https://api.github.com/users/Hackmancoltaire","html_url":"https://github.com/Hackmancoltaire","followers_url":"https://api.github.com/users/Hackmancoltaire/followers","following_url":"https://api.github.com/users/Hackmancoltaire/following{/other_user}","gists_url":"https://api.github.com/users/Hackmancoltaire/gists{/gist_id}","starred_url":"https://api.github.com/users/Hackmancoltaire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hackmancoltaire/subscriptions","organizations_url":"https://api.github.com/users/Hackmancoltaire/orgs","repos_url":"https://api.github.com/users/Hackmancoltaire/repos","events_url":"https://api.github.com/users/Hackmancoltaire/events{/privacy}","received_events_url":"https://api.github.com/users/Hackmancoltaire/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-01-14T06:20:57Z","updated_at":"2016-01-16T09:00:36Z","closed_at":null,"body":"There seems to be hooks to take action when a bitrate limit command is received by the client. However, there doesn't seem to be anything that tells the initiator of a session to limit ITS bitrate when sending data to the client (in this case the Arduino). This can get the client into trouble if the initiator sends way more data than the buffer can handle, which happens when using a player program (such as Rondo on the Mac). I've seen packets get upwards of 700 bytes because it is sending so much data about all the simultaneous keys changes, pitch, and speed. The quick workaround was to increase the buffer sizes to prevent a crash, but automatically setting the bitrate limit to the size of the buffer would seem appropriate.\r\n\r\nThis problem wouldn't come up in cases where only a few note changes are sent per packet. Only in more extreme cases like using a program to send data to the client. I use this library to power a player piano conversion that I built. (https://vimeo.com/151462878)"},"comment":{"url":"https://api.github.com/repos/lathoub/Arduino-AppleMidi-Library/issues/comments/172173895","html_url":"https://github.com/lathoub/Arduino-AppleMidi-Library/issues/15#issuecomment-172173895","issue_url":"https://api.github.com/repos/lathoub/Arduino-AppleMidi-Library/issues/15","id":172173895,"user":{"login":"Hackmancoltaire","id":341149,"avatar_url":"https://avatars.githubusercontent.com/u/341149?v=3","gravatar_id":"","url":"https://api.github.com/users/Hackmancoltaire","html_url":"https://github.com/Hackmancoltaire","followers_url":"https://api.github.com/users/Hackmancoltaire/followers","following_url":"https://api.github.com/users/Hackmancoltaire/following{/other_user}","gists_url":"https://api.github.com/users/Hackmancoltaire/gists{/gist_id}","starred_url":"https://api.github.com/users/Hackmancoltaire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hackmancoltaire/subscriptions","organizations_url":"https://api.github.com/users/Hackmancoltaire/orgs","repos_url":"https://api.github.com/users/Hackmancoltaire/repos","events_url":"https://api.github.com/users/Hackmancoltaire/events{/privacy}","received_events_url":"https://api.github.com/users/Hackmancoltaire/received_events","type":"User","site_admin":false},"created_at":"2016-01-16T09:00:36Z","updated_at":"2016-01-16T09:00:36Z","body":"Eventually I'll be submitting a pull request, but you can check out my changes here:\r\nhttps://github.com/Hackmancoltaire/Arduino-AppleMidi-Library"}}