{"action":"created","issue":{"url":"https://api.github.com/repos/ModalityTeam/Modality-toolkit/issues/302","repository_url":"https://api.github.com/repos/ModalityTeam/Modality-toolkit","labels_url":"https://api.github.com/repos/ModalityTeam/Modality-toolkit/issues/302/labels{/name}","comments_url":"https://api.github.com/repos/ModalityTeam/Modality-toolkit/issues/302/comments","events_url":"https://api.github.com/repos/ModalityTeam/Modality-toolkit/issues/302/events","html_url":"https://github.com/ModalityTeam/Modality-toolkit/pull/302","id":239084694,"number":302,"title":"added basic QUNEO description","user":{"login":"patrickdupuis","id":11747870,"avatar_url":"https://avatars3.githubusercontent.com/u/11747870?v=3","gravatar_id":"","url":"https://api.github.com/users/patrickdupuis","html_url":"https://github.com/patrickdupuis","followers_url":"https://api.github.com/users/patrickdupuis/followers","following_url":"https://api.github.com/users/patrickdupuis/following{/other_user}","gists_url":"https://api.github.com/users/patrickdupuis/gists{/gist_id}","starred_url":"https://api.github.com/users/patrickdupuis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patrickdupuis/subscriptions","organizations_url":"https://api.github.com/users/patrickdupuis/orgs","repos_url":"https://api.github.com/users/patrickdupuis/repos","events_url":"https://api.github.com/users/patrickdupuis/events{/privacy}","received_events_url":"https://api.github.com/users/patrickdupuis/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2017-06-28T08:09:28Z","updated_at":"2017-07-01T12:53:58Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ModalityTeam/Modality-toolkit/pulls/302","html_url":"https://github.com/ModalityTeam/Modality-toolkit/pull/302","diff_url":"https://github.com/ModalityTeam/Modality-toolkit/pull/302.diff","patch_url":"https://github.com/ModalityTeam/Modality-toolkit/pull/302.patch"},"body":"I've added a basic MKtl description for the Keith McMillen QuNeo controller (factory preset 1). There is more that could be added. Feedback welcomed."},"comment":{"url":"https://api.github.com/repos/ModalityTeam/Modality-toolkit/issues/comments/312430676","html_url":"https://github.com/ModalityTeam/Modality-toolkit/pull/302#issuecomment-312430676","issue_url":"https://api.github.com/repos/ModalityTeam/Modality-toolkit/issues/302","id":312430676,"user":{"login":"adcxyz","id":3518579,"avatar_url":"https://avatars1.githubusercontent.com/u/3518579?v=3","gravatar_id":"","url":"https://api.github.com/users/adcxyz","html_url":"https://github.com/adcxyz","followers_url":"https://api.github.com/users/adcxyz/followers","following_url":"https://api.github.com/users/adcxyz/following{/other_user}","gists_url":"https://api.github.com/users/adcxyz/gists{/gist_id}","starred_url":"https://api.github.com/users/adcxyz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adcxyz/subscriptions","organizations_url":"https://api.github.com/users/adcxyz/orgs","repos_url":"https://api.github.com/users/adcxyz/repos","events_url":"https://api.github.com/users/adcxyz/events{/privacy}","received_events_url":"https://api.github.com/users/adcxyz/received_events","type":"User","site_admin":false},"created_at":"2017-07-01T12:53:58Z","updated_at":"2017-07-01T12:53:58Z","body":" I think you can integrate the leds into the pads easily, \r\nwhich simplifies the overal structure again. \r\nThe LEDs seem not to need separate noteOff elements, \r\nas sending noteOn 0 to them turns them off already.\r\nso for the first three buttons, this works :\r\n```\r\n// ... in desc, do \r\n // independant buttons\r\n    [\r\n        [\\play, 26, 86, 35],\r\n        [\\stop, 25, 85, 34],\r\n        [\\rec, 24, 84, 33],\r\n    ]\r\n    .collect { |midiSpec, index|\r\n        (\r\n            key: midiSpec[0],\r\n            shared: ( ioType: \\in ),\r\n            elements: [\r\n                ( key: \\on, midiNum: midiSpec[1], midiMsgType: \\noteOn, spec: \\midiVel ),\r\n                ( key: \\off, midiNum: midiSpec[1], midiMsgType: \\noteOff, spec: \\midiVel ),\r\n                ( key: \\pressure, midiNum: midiSpec[2], midiMsgType: \\control, spec: \\midiCC ),\r\n\t\t( key: \\led, midiNum: midiSpec[3], midiMsgType: \\noteOn, ioType: \\out, spec: \\midiCC)\r\n            ]\r\n        )\r\n    }\r\n    ++ [\r\n\t\t(key: \\rhombus, midiNum: 19,\r\n\t\t\telements: [\r\n               ( key: \\on, midiMsgType: \\noteOn, spec: \\midiVel ),\r\n                ( key: \\off, midiMsgType: \\noteOff, spec: \\midiVel ),\r\n                ( key: \\pressure, midiNum: 79, midiMsgType: \\control, spec: \\midiCC ),\r\n\t\t\t\t( key: \\led, midiMsgType: \\noteOn, ioType: \\out, spec: \\midiCC,\r\n\t\t\t\t\telements: [\r\n\t\t\t\t\t\t(key: \\red, midiNum: 44),\r\n\t\t\t\t\t\t(key: \\green, midiNum: 45),\r\n\r\n\t\t\t\t\t]\r\n\t\t\t\t)\r\n            ]\r\n\t\t)\r\n\t]\r\n// ... \r\n```\r\nTests for the leds, new order: \r\n```\r\nm = MKtl('qn', \"*quneo*\");\r\nm.elementsDict.size;\r\n\r\n// new style\r\nm.elAt(\\rec, \\led).deviceValue_(127.rand.postln); // this works\r\n\r\n// old style \r\nm.elAt(\\led, \\longSlider).value_(1.0.rand);\r\n\r\n// this not yet:\r\nm.elAt(\\rhombus, \\led, \\green).value_(2.rand);\r\nm.elAt(\\rhombus, \\led, \\red).deviceValue_(127);\r\n\r\n// but sending by hand does work, so should be fixable...\r\nm.device.midiOut.noteOn(0, 44, 127.0);\r\nm.device.midiOut.noteOn(0, 44, 0.0);\r\n"}}
{"actor":{"display_login":"adcxyz"}}