Cross script communication with broadcasters
-
Just discovered this, useful if you want to link controls of different scripts together without making hard links.
HiseSnippet 1077.3oc6W0sabSDEd7l3PhofnPe.F4q1.Qo6F1leHBkR9kUsIcEaZDRUUUyN93rih8LViGGx1ndGOF7LzWA3UgK4NdCfyX6MqSyR9YgdAR0Wrxm+ly2b9ymsiVwgzTkl33c3fDf3bO2tCjl9a0mIjj1aSbl0sG+PH0P1bPBKMEBHNNSsmUpybSSxe9yM1jEwjbXDKB4HkfCOUDKLi314wOQDEsKK.NTDWQ6VOtMWI2REoxPjLkaCRBieB6X3.lUsZtjumk1m37ktK0hyVMbo0VN3Q.rFuEu2RqBqzCZr7p7v0B4Pq0Vo4xsZRblYm.gQo6ZXFHEOzMUAC51W8SxBGbjHUzKBrDMIcQOWvlrUeQTPmggkTBwY5NiBRSUDjdf69h.wE7GEr9rbAzQVTMn4T65fTy6.jlpBjlt.R22sKWKRLijXwyG61VZ.cHCyMUgRgtDmeycKEpfzrXL6DXWMRbgA0WtQiEn3OyudXljaDJIUIOPYfmIqOu24dy48FO56JJLbrxrtQqhh.8XEaKGzWmg0kYw8.8BzSYQYvEJhW+KGSm41ES4E25JJpjskByyRfR5cUQA1Xk88qlAHkgM7sm2dalggIEmRdndIf1HrvwYa3TrMnHEMm61P5IFUB1HbKyeeQI2QUTMGad7Wbo++IG49eUN55xKEoCDUnpl7H7mVFK6FIB.MQfAvOx8IRUuljb.WNNh9189iMlnrpU23Dkz5em6ciN8rpSKGTkH0LvFNlIWQRrHHHB5nRE1vckot+ZpAR5JdcNxO+Aucue+0+7FwUGLSHwrypNmNMKLTbV9D0PQTbpAwV6XbPKw4ycedJPCfPVVjgldBdNQB4IPvgpb8+WTytz3pYq8U0boO7gzM0JV.mg2Es06BY90ziho+TCVJooXQig9szcjGKjvhbMfkQUrp94dTJ0WD3+MTeqt9KjyfoONEY8B+jg3veApeBSieSAMyRjm28eYg9FVg9uzi9l4W2i5YQGyXX79TihBmh4Up8h6kinEKDcnZeUPFleFdt0eg+U5YQWf3HOsae02+cO+PgFuiQB79HA8PGDDbQA0QVj9zR40KOqF4GF5UFdYF1OVWHCfyVfdwsFecH1F1ZhQr4zfISKKXrd4U9CyPt6yPlsnctw6igHSeyd8edJxXZXw0SrEqLyk2YwtMWo.6DlpMq1sAj3jmAUmhbGVjow0tHysEh22sivv6OdLVaLXDi4uOvX45eeh6Ngg.2LBfS6t6ONo65cCt+GTYFg738Y3rZLY6dPVbWbMYNfdWJgHayfSMaYaAcCKsMBzEjA4D+E9TJrok1oTXygBwuRv0pWwKJ1sKXNaNGDSx7EvmyceKM8xeor3CL39tuhyu7QcECWZRM7qmTCaMoF9nI0vkmTCWYRMb0a1P6eG46xLp3h1FBY+N6jOTxwYGICq.yqVI+MvhOUOz -
Found a weird bug with this.
Move the knob on the interface and the knob in the second MIDI process will move and trigger its callback, outputting to the console.
Now change the value of the combobox, this will set the Interface knob's value and trigger its callback, but the knob in the second processor doesn't get the message.
What's going on?
HiseSnippet 1240.3oc6W81aaTCF2WZcY8FCsASHdE5HBIRQUYIcoosqBQoosPzV6hHcUHMglb74KwJ2YebmSogoJg36IeG3a.7Xe+MsIipH16HuHxO+0+7ied9EmdQRJKNVFgrrOeZHCY8g39SEpQcFQ3BT2iPVqgUrfPzgSCIwwLWjk0Jeu1l05qhLe9qu8PhOQPYEpPnKjbJ6E7.tpPauCdN22+DhK6bdPIuacPWpTzQ5Km.3XEbCTHgNlLjcFQ6VEL5GHwiPVeMdqVTxtdasWa2sYr8nsnC1ZW1NCXMZuK0aOOJq0d6zrcql.pO1kqjQ8UDEKFYs5gR2o8GI+UQxFbAOlOvmoEZh5C6bh5Sj9t5inVKpyHtuaurBTLBxRuhx0JIkqGiOk6xy0WT1dnwfSQDkKfVUlEdqLC7ZVFdMJAu4.oJkfzpIP5Q39zHdnpvhFO2G2UnXQdD3dpLTR7EU4OsvcjfGBU8.xX1IQfPdD0Z2nwlNvWarus8SdxW3LVL3bVrxFt2hUYRNeiSVJFxTcjAgRAHTqZp8pYQClFHOTdUyz3ykWXFx8Pmibg5wZmDpHoeGhu+.nqoltQJ0bpI8txE9bAywahfp3Rgys8pFMa21z4Rh+D1F1u0d8Tjq2nKzJqkXZ+BKzQDwPlaMP201kx+YRE6khZlr.VbtoIOu4ZKEM9rn4ZVO3D8tBrlXRv.VT4yf1Qn4X1NN7h63JOPPStMJ4nTzUvUuLjIVzXBJ8JT2clhJvUko27iR6M66ycYQHNzBtNNsThLPtfV3yN.cyveXZ3YWdlDbeb9c4bRwq5dDQQ.rXkBK.pgrHEWWErNhcIvSkL2rN9HV7XkLzf6zlAj08tCH+p7s72+kClVlYKVwB6y+MVY5RE6JklW0DZ.oHXzWdP.200m0SFy02qEVdrtXjio0tikCH0XqWCgOUu3ygElsCaYCK4.uNTC9TbS6srepcK6ssaaui8t16Y2D3ZtqDKeRp1Bptlykf4OpfcLS+OWHGjM4aVuvodiU8DuYw7m1MldmS5k8X9S4fwXoOqdXDG11rQ7qsSA4.ZJ61whgPtqSiXvPzgQRhKk.WvQ0dK28YNUS7q5lNjngwOy40UCypHftpgjH3my.u0Bl8n5OeMrMIQUmnTD5nykmJcm.M.YNWqZNIrNtLlTXogMMKXW27xlgm5Eb.WBHbygG7NQgimLxIgwJ1wKRF3jm8uJFnwkCfLmU5pwEtrq1zI+T.KyfU4pWDSMIRjn.pZar++yBNCK3xQAYUZb+AKjB5CvlK3RDPIC6EBwpo5CzZFGQKldofnBiaVuA3onbZtAMU7DOO9Ul2l4w8ChU.t5F.OYCY8w3WEybbYdjI9Jm3wPdfIxwL2ykF+iIWx5J5EwfwYM+vbHZf2NomBHpYePk9YmoFzfuLIitMV.Gpok4Y+O6UV2UH9HbOthNZ9Xrxbvn9mHeOfwz2l9.7wddLpp.fqhO4md+7PTzOJmn3hgmRfVA8Owb1jf9v64oLX2EBludZyphdtHQtgVVWA5yDtFg+F9jZroV1J0XyLiPSHMR9FZxLt90u2ynAvjv7OEVGepV14VuC.oa74ugRmMU2JvsV1.e5xFXqkMvsW1.aurAtyxF3t+6Ap+uRe2DkLHYrAgNs2wFRSKqiEDnCzzsh9G.2boJxC -
@David-Healey can't open now but
https://forum.hise.audio/post/86690 related?
-
@aaronventure no globals here
-
@David-Healey said in Cross script communication with broadcasters:
Move the knob on the interface and the knob in the second MIDI process will move
works here as well
and trigger its callback, outputting to the console.
doesn't trigger here
Now change the value of the combobox, this will set the Interface knob's value and trigger its callback, but the knob in the second processor doesn't get the message.
Same here
-
@ulrik Aha thanks, that reminds me of another bug which I fixed and made a PR for last year but Christoph hasn't merged yet.
https://github.com/christophhart/HISE/pull/654
This is why the callback triggers for me.
So the bug is that the message isn't going to the broadcaster when .changed is called programmatically.
Interestingly the broadcaster map shows that the module parameter changes, but the broadcaster doesn't trigger.

-
Aha mystery solved, I broke it myself in my fork when I commented out these lines to temporarily fix another problem :p
https://github.com/davidhealey/HISE/commit/21eb98a5c364d7333ee5babaf2a783b408121547