OSC Documentation

Hi there,

I was wondering if there was any documentation for the OSC addresses used by Onyx. I am able to control the “known” addresses but I am wondering if I can control the extra 10 playbacks that are to the right of the main playbacks over OSC as well. Can’t find it in the TouchOSC editor. I’m also wondering if I can control the faders that are present on the M-Play. Again, it would be nice to have a full documentation of how OSC can be used inside Onyx.

Thanks for the help!

1 Like

Hi,
This is the OSC documentation about the M-Series software. I guess a lot must be the same :wink:

OSC

All OSC addresses start with ‘Mx’.

There are 7 categories:

- LED buttons

- LCD buttons

- faders

- belts

- scroll wheels

- playback

- configuration

LED/LCD buttons, faders, belts and scroll wheels have an identifier in their path.

This identifier is mapped to a real physical control element on the desk.

The console layout with the identifiers can be found in the iPad and iPhone Martin-Mx-series_V1.10.touchosc file.

You can edit this file with the TouchOSC Editor from Hexler.

iPad and iPhone touchOSC layout (under M-series -> OSC remote access):

http://www.martin.com/controllersupport/

TouchOSC Editor:

http://www.hexler.net/software/touchosc

------------------------------------------------------------------

LED Button

/Mx/button/

/Mx/button//led

buttonId: required identifier

led: indicates the led status (optional)

example: /Mx/button/5511

/Mx/button/5511/led

/Mx/button/4201

Button action (OSC client to console)

Path:/Mx/button/

Value: 0 (up), 1 (down)

LedState (console to OSC client)

Path:/Mx/button//led

Value: 0 (off), 1 (on)

LedColor (console to OSC client)

Path:/Mx/button//led/color

Value: blue (on, off), red (blink)

------------------------------------------------------------------

LCD Button

/Mx/button/

buttonId: required identifier

example: /Mx/button/6101

/Mx/button/6102

Button action (OSC client to console)

Path:/Mx/button/

Value: 0 (up), 1 (down)

BackgroundColor (console to OSC client)

Path:/Mx/button//color

Value: green, red, blue, orange, gray, blue, purple, yellow

Text (console to OSC client)

Path:/Mx/button//text/

Value: string that represents the name

TextColor (console to OSC client)

Path:/Mx/button//text/color

Value: green, red, blue, orange, gray, blue, purple, yellow

------------------------------------------------------------------

Fader

/Mx/fader/

faderId: required identifier

example: /Mx/fader/4203

/Mx/fader/2202

Value (both directions)

Path:/Mx/fader/

Value: integer (0 - 255)

------------------------------------------------------------------

Belt

/Mx/belt/

/Mx/belt//channelValue

/Mx/belt//channelName

beltId: required identifier

example: /Mx/belt/6112

/Mx/belt/6112/channelValue

/Mx/belt/6112/channelName

Value (OSC client to console)

Path:/Mx/belt/

Value: integer (> 0: up, <= 0: down)

Name (console to OSC client)

Path:/Mx/belt//channelName

Value: string that represents the name

Text Value (console to OSC client)

Path:/Mx/belt//channelValue

Value: string that represents the value (DMX or percentage)

ProgrammerMode (console to OSC client)

Path:/Mx/belt//color

Value: gray (none), orange (inactive), red (active)

EffectMode (console to OSC client)

Path:/Mx/belt//channelValue/color

Value: gray (none), orange (inactive/active)

Linking (console to OSC client)

Path:/Mx/belt//channelName/color

Value: gray (off), yellow (on)

------------------------------------------------------------------

Scroll wheel

/Mx/scroll//

wheelId: required identifier

direction: up, down, left, right

example: /Mx/scroll/4110/up

/Mx/scroll/4110/down

Button action (OSC client to console)

Path:/Mx/scroll//

Value: 0 (up), 1 (down)

------------------------------------------------------------------

Playback actions

/Mx/playback/page//

action: go, pause, release, select

example: /Mx/playback/page1/1/go

/Mx/playback/page5/20/pause

/Mx/playback/page9/3/release

NOTE: No playback feedback information is send from the console to the OSC client.

This will be added at a later moment.

------------------------------------------------------------------

Configuration

Current devicespace (console to OSC client)

Path:/Mx/configuration/deviceSpace

Value: devicespace

Devicespace down (OSC client to console)

Path:/Mx/configuration/deviceSpace/down

Value: 0 (up), 1 (down)

Devicespace up (OSC client to console)

Path:/Mx/configuration/deviceSpace/up

Value: 0 (up), 1 (down)

Refresh all console elements (OSC client to console)

Path:/Mx/configuration/deviceSpace/refresh

Value: 0 (up), 1 (down)

3 Likes

hello,
is there an up to date osc adresslist for onyx?

thx.

b.e.

There was no change and this is still the correct list.

hello we are searching for the osc adresses for the playbackfader 11 thru 20 on bank 1.
the adresses in the osc touch layout we can see, starts with “/Mx/fader/4203” and ends with “/Mx/fader/4293” and we try “/Mx/fader/4303” for 11, but does not work.
so does anybody know the right osc adress for playbackfader 11 thru 20 on bank 1?

thx.

r.h.

Fader 11-20 are not accessible or mapped to OSC. It’s not planned to add these either at this point.

ok, thank you. but how can we control fader 1 on bank 34 or 500 with osc?
we can not figure it out!

thx.

r.h.

…also the bank up/ down buttoms seems to not working, from osc touch layout!?

thx.

r.h.

… latest 1221 beta.

This is my most complete OSC Reference so far. I was not ready to release yet but since the question of OSC is once again in discussion, I decided nevertheless to share it with you.

ok, thank you. but how can we control fader 1 on bank 34 or 500 with osc?

To my knowledge there is no specific command for that. Similarly, as I explainedin the last post, one device can only have 10 playbacks active. So you can either have one device that switches to the pages you request (possible via OSC) i.e. playback fader sends page num and then modified value every time it gets modified
OR you have a series of virtual OSC devices that all have a different device spaces and allow you to call any fader at any time. The latter uses less netowrking traffic but also is a more complex solution.

I used the latter for a 50 fader MIDI controller, whose signals I received via MIDI to USB Serial, grouped into groups of 10 and then forwarded the values to the corresponding virtual OSC interface.