{"action":"created","issue":{"url":"https://api.github.com/repos/rsjaffe/MIDI2LR/issues/333","repository_url":"https://api.github.com/repos/rsjaffe/MIDI2LR","labels_url":"https://api.github.com/repos/rsjaffe/MIDI2LR/issues/333/labels{/name}","comments_url":"https://api.github.com/repos/rsjaffe/MIDI2LR/issues/333/comments","events_url":"https://api.github.com/repos/rsjaffe/MIDI2LR/issues/333/events","html_url":"https://github.com/rsjaffe/MIDI2LR/issues/333","id":194051900,"number":333,"title":"Ensure MIDI2LR commands are executed in order","user":{"login":"mathieucarbou","id":61346,"avatar_url":"https://avatars.githubusercontent.com/u/61346?v=3","gravatar_id":"","url":"https://api.github.com/users/mathieucarbou","html_url":"https://github.com/mathieucarbou","followers_url":"https://api.github.com/users/mathieucarbou/followers","following_url":"https://api.github.com/users/mathieucarbou/following{/other_user}","gists_url":"https://api.github.com/users/mathieucarbou/gists{/gist_id}","starred_url":"https://api.github.com/users/mathieucarbou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mathieucarbou/subscriptions","organizations_url":"https://api.github.com/users/mathieucarbou/orgs","repos_url":"https://api.github.com/users/mathieucarbou/repos","events_url":"https://api.github.com/users/mathieucarbou/events{/privacy}","received_events_url":"https://api.github.com/users/mathieucarbou/received_events","type":"User","site_admin":false},"labels":[{"id":256404979,"url":"https://api.github.com/repos/rsjaffe/MIDI2LR/labels/Enhancement","name":"Enhancement","color":"bfd4f2","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-12-07T13:39:36Z","updated_at":"2016-12-09T15:30:37Z","closed_at":null,"body":"See: https://groups.google.com/forum/#!topic/midi2lr/jo00fYFRnVY\n\nThis would solve #331.\n\nSome ideas:\n\n1. put in a queue all MIDI2LR commands received, and dequeue them once they are executed. This would make MIDI2LR waits for an async command to be executed before running the next ones.\n\n2. Other possibility would be to use the LR queue mechanism that is asynchronous and once a command arrive, we start an asynchronous task that will dequeue all commands, until finished. Since we are already in an async task in this case, I guess we won't need to start any other async task for point curve and profile corrections for example. We could just run all commands one by one in this async task."},"comment":{"url":"https://api.github.com/repos/rsjaffe/MIDI2LR/issues/comments/266041533","html_url":"https://github.com/rsjaffe/MIDI2LR/issues/333#issuecomment-266041533","issue_url":"https://api.github.com/repos/rsjaffe/MIDI2LR/issues/333","id":266041533,"user":{"login":"rsjaffe","id":1431301,"avatar_url":"https://avatars.githubusercontent.com/u/1431301?v=3","gravatar_id":"","url":"https://api.github.com/users/rsjaffe","html_url":"https://github.com/rsjaffe","followers_url":"https://api.github.com/users/rsjaffe/followers","following_url":"https://api.github.com/users/rsjaffe/following{/other_user}","gists_url":"https://api.github.com/users/rsjaffe/gists{/gist_id}","starred_url":"https://api.github.com/users/rsjaffe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsjaffe/subscriptions","organizations_url":"https://api.github.com/users/rsjaffe/orgs","repos_url":"https://api.github.com/users/rsjaffe/repos","events_url":"https://api.github.com/users/rsjaffe/events{/privacy}","received_events_url":"https://api.github.com/users/rsjaffe/received_events","type":"User","site_admin":false},"created_at":"2016-12-09T15:30:37Z","updated_at":"2016-12-09T15:30:37Z","body":"We could try asynchronous tasks for a message queue and yield when empty, but I'm worried about implementing a queueing mechanism that would be concurrency-safe. It might be best to leave this alone and tolerate occasional quirks, as the cure may be worse than the disease."}}
{"actor":{"display_login":"rsjaffe"}}