preArgs omni out?

Hello again! How I do send midi data on all midi channels? I can’t find any reference to omni out on the docs.

Cheers!

There is no built-in option to do so. “omni” only makes sense on the receiving side. However you could broadcast your messages on all channels with a custom module, here is a minimal custom module that turns channel 0 into a broadcast channel to channels 1 to 16.

module.exports = {

    oscOutFilter: function(data) {

        var {address, args, host, port} = data

        if (host == 'midi' && args[0].value == 0) {
        // if message is midi and channel is 0

            for (var i=0; i<=16; i++) {

                args[0].value = i // change channel
                send(host, port, address, ...args)

            }

            return

        }

        return data

    }

}

Thank you very much, Jean. That will work!

Funny that I did try using 0 as the omnichannel :smiley: Is that something you see being implemented as a built-in option in the future? One of the uses is to have the keyboard widget transmit on all channels, so I can easily switch tracks on my DAW without being limited to a specific midi channel.

Thanks again, you’ve been very helpful!

I’d rather leaves this in the customization field, sending messages on every channel seems like a very specific case and the custom module implementation looks reasonably simple to use.

1 Like