{"action":"created","issue":{"url":"https://api.github.com/repos/ssj71/OSC2MIDI/issues/19","labels_url":"https://api.github.com/repos/ssj71/OSC2MIDI/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/ssj71/OSC2MIDI/issues/19/comments","events_url":"https://api.github.com/repos/ssj71/OSC2MIDI/issues/19/events","html_url":"https://github.com/ssj71/OSC2MIDI/pull/19","id":94440989,"number":19,"title":"Bugfixes in midi->osc conversions","user":{"login":"agraef","id":2853977,"avatar_url":"https://avatars.githubusercontent.com/u/2853977?v=3","gravatar_id":"","url":"https://api.github.com/users/agraef","html_url":"https://github.com/agraef","followers_url":"https://api.github.com/users/agraef/followers","following_url":"https://api.github.com/users/agraef/following{/other_user}","gists_url":"https://api.github.com/users/agraef/gists{/gist_id}","starred_url":"https://api.github.com/users/agraef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agraef/subscriptions","organizations_url":"https://api.github.com/users/agraef/orgs","repos_url":"https://api.github.com/users/agraef/repos","events_url":"https://api.github.com/users/agraef/events{/privacy}","received_events_url":"https://api.github.com/users/agraef/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-07-11T05:48:05Z","updated_at":"2015-07-13T17:27:56Z","closed_at":"2015-07-13T16:52:05Z","pull_request":{"url":"https://api.github.com/repos/ssj71/OSC2MIDI/pulls/19","html_url":"https://github.com/ssj71/OSC2MIDI/pull/19","diff_url":"https://github.com/ssj71/OSC2MIDI/pull/19.diff","patch_url":"https://github.com/ssj71/OSC2MIDI/pull/19.patch"},"body":"In particular, the first commit fixes a glitch in my rev. e344a5d which caused recorded OSC values to also be used if the actual argument was a constant or range. Seemed like a good idea at the time, but didn't work out so well and also contradicts the documentation in default.omm.\r\n\r\nThe second commit makes sure that we only use the MIDI channel number (rather than the entire status byte) when converting midi argument #0. (The third commit does the same for non-linearity checks on the MIDI side.) Seems like this one has been there for a long time (ever since midi->osc support was added), but I only noticed it now when testing some examples for the documentation of the midi2osc map format that I've been working on.\r\n\r\nThe fourth commit reverts my rev. 0d895bc. That change also seemed a good idea at the time, but as it turns out, it gets in the way if a variable is used both in the first (channel) argument and the second or third argument of a midi message, because the channel argument typically has a much lower resolution (being a 4 bit value) than the second or third argument. So in fact the previous behavior of using the *last* variable occurrence on the rhs of a rule is preferable.\r\n\r\nLast but not least, the fifth commit accounts for the rounding of midi arguments in non-linearity checks on the rhs of a rule. In conjunction with the fourth commit, this makes `-strict` mode work much better in midi->osc conversions."},"comment":{"url":"https://api.github.com/repos/ssj71/OSC2MIDI/issues/comments/120999389","html_url":"https://github.com/ssj71/OSC2MIDI/pull/19#issuecomment-120999389","issue_url":"https://api.github.com/repos/ssj71/OSC2MIDI/issues/19","id":120999389,"user":{"login":"ssj71","id":3495244,"avatar_url":"https://avatars.githubusercontent.com/u/3495244?v=3","gravatar_id":"","url":"https://api.github.com/users/ssj71","html_url":"https://github.com/ssj71","followers_url":"https://api.github.com/users/ssj71/followers","following_url":"https://api.github.com/users/ssj71/following{/other_user}","gists_url":"https://api.github.com/users/ssj71/gists{/gist_id}","starred_url":"https://api.github.com/users/ssj71/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ssj71/subscriptions","organizations_url":"https://api.github.com/users/ssj71/orgs","repos_url":"https://api.github.com/users/ssj71/repos","events_url":"https://api.github.com/users/ssj71/events{/privacy}","received_events_url":"https://api.github.com/users/ssj71/received_events","type":"User","site_admin":false},"created_at":"2015-07-13T17:27:56Z","updated_at":"2015-07-13T17:27:56Z","body":"Done!"}}