{"id":9256,"date":"2017-12-31T10:04:04","date_gmt":"2017-12-31T09:04:04","guid":{"rendered":"http:\/\/www.wjst.de\/blog\/?p=9256"},"modified":"2018-01-08T17:50:20","modified_gmt":"2018-01-08T16:50:20","slug":"multi-millumin-osc-controller","status":"publish","type":"post","link":"https:\/\/www.wjst.de\/blog\/sciencesurf\/2017\/12\/multi-millumin-osc-controller\/","title":{"rendered":"millumin osc controller"},"content":{"rendered":"<p>I need to control two machines running both an instance of <a href=\"http:\/\/www.millumin.com\/v2\/index.php\">millumin<\/a>\u00a0and have even more lights that will understand OSC control commands.<\/p>\n<figure id=\"attachment_9296\" aria-describedby=\"caption-attachment-9296\" style=\"width: 620px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.wjst.de\/blog\/wp-content\/uploads\/2017\/12\/Bildschirmfoto-2018-01-08-um-17.44.39.png\" data-rel=\"key-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-9296 size-medium\" src=\"https:\/\/www.wjst.de\/blog\/wp-content\/uploads\/2017\/12\/Bildschirmfoto-2018-01-08-um-17.44.39-620x676.png\" alt=\"\" width=\"620\" height=\"676\" srcset=\"https:\/\/www.wjst.de\/blog\/wp-content\/uploads\/2017\/12\/Bildschirmfoto-2018-01-08-um-17.44.39-620x676.png 620w, https:\/\/www.wjst.de\/blog\/wp-content\/uploads\/2017\/12\/Bildschirmfoto-2018-01-08-um-17.44.39-768x837.png 768w, https:\/\/www.wjst.de\/blog\/wp-content\/uploads\/2017\/12\/Bildschirmfoto-2018-01-08-um-17.44.39-459x500.png 459w, https:\/\/www.wjst.de\/blog\/wp-content\/uploads\/2017\/12\/Bildschirmfoto-2018-01-08-um-17.44.39.png 793w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><figcaption id=\"caption-attachment-9296\" class=\"wp-caption-text\">screenshot<\/figcaption><\/figure>\n<p>In a first attempt, I tried a mobile app called TouchOSC to get everything under one hood. It turned out to be cumbersome to create display templates, install an OSC splitter.<\/p>\n<p>The second option were millumin plugins (MLSync_1_1 and SimpleSync) that were good for keeping everything in sync but not for sending out different signals to different IPs.<\/p>\n<p>The third option, an OSC data track inside a master millumin installation, tended to be confusing after 5 minutes.<\/p>\n<p>Unfortunately some javascript based solution will not work as OSC is sent via UDP (which is not possible in desktop browsers), therefore\u00a0I combined an old\u00a0<a href=\"https:\/\/github.com\/frequenc1\/php-osc\">php library<\/a>\u00a0 with a modern <a href=\"https:\/\/fezvrasta.github.io\/bootstrap-material-design\/\">bootstrap\/material template<\/a>\u00a0using a black design for use in darkened rooms.<\/p>\n<p>Here is the script <a href=\"https:\/\/www.wjst.de\/blog\/wp-content\/uploads\/2017\/12\/index.php_.zip\">index.php<\/a>\u00a0for download. It is quite basic but a useful starting point for any other OSC command, and an infinite number of machines as long as you know their IP address and can increase any of the 3 loops in the script.<\/p>\n<p>For non Millumin computers, I am using\u00a0<a href=\"https:\/\/github.com\/MylesBorins\/node-osc\">node.js with node-osc<\/a> as receiver.<\/p>\n\n<p>&nbsp;<\/p>\n<div class=\"bottom-note\">\n  <span class=\"mod1\">CC-BY-NC Science Surf , accessed 10.04.2026<\/span>\n <\/div>","protected":false},"excerpt":{"rendered":"<p>I need to control two machines running both an instance of millumin\u00a0and have even more lights that will understand OSC control commands. In a first attempt, I tried a mobile app called TouchOSC to get everything under one hood. It turned out to be cumbersome to create display templates, install an OSC splitter. The second &hellip; <a href=\"https:\/\/www.wjst.de\/blog\/sciencesurf\/2017\/12\/multi-millumin-osc-controller\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">millumin osc controller<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-9256","post","type-post","status-publish","format-standard","hentry","category-computer-software"],"_links":{"self":[{"href":"https:\/\/www.wjst.de\/blog\/wp-json\/wp\/v2\/posts\/9256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wjst.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wjst.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wjst.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wjst.de\/blog\/wp-json\/wp\/v2\/comments?post=9256"}],"version-history":[{"count":17,"href":"https:\/\/www.wjst.de\/blog\/wp-json\/wp\/v2\/posts\/9256\/revisions"}],"predecessor-version":[{"id":9300,"href":"https:\/\/www.wjst.de\/blog\/wp-json\/wp\/v2\/posts\/9256\/revisions\/9300"}],"wp:attachment":[{"href":"https:\/\/www.wjst.de\/blog\/wp-json\/wp\/v2\/media?parent=9256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wjst.de\/blog\/wp-json\/wp\/v2\/categories?post=9256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wjst.de\/blog\/wp-json\/wp\/v2\/tags?post=9256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}