OSC Question, STRING Suggestion / Request

osc
#1

I’ve always wondered about the OSC RegEx matching prefs and recently found this:
OSC Reg Ex Example

This explains using RegEx Expressions for sending.
But I was wondering if it is also possible to use this for a receiver pattern.

IE:
/FromVVOSC/.
/FromVVOSC/[12]
/FromVVOSC/CSWindow[.]
/FromVVOSC/CSWIndow[12]

RE Strings

When setting OSC Name Spaces for receiving or sendings.
Or constructing Strings for display. It would be great to be able to

1A) Have a $recVal variable that represents the recivers Value
1B) Have a $userVar local variable that could be set by the user

then these values could be used for creating the OSC Name Space,

For example in a Text Field could have:
display string: “Layer 1’s Blending Mode is ($recVal)”

of further:
set Layer1’s blending mode menu to send it’s string value via OSC to:
/FromVDMX/Layer1/BlendingMode

set userVar to “1”
set receiver’s OSC Reciving Namespace to:
/FromVDMX/Layer($userVar)/BlendingMode

Now Can Set Text Field display string:
“Layer ($userVar)'s Blending Mode is ($recVal)”

Maybe these String Constructions for be achieved via a
Do Math String Function or
a new TextFX Chains functions

0 Likes

Convert string to number
#2

I’ve noticed Vezer uses the following OSC parameters

OSC address special parameters

Composition name

You can use the containing Composition’s name in OSC tracks address with the keyword $COMP .

For example, if the Composition name is Foo , you can insert that to the OSC address by defining the OSC address of one or more tracks this way: /$COMP/parameter1 . This case, Vezér will send data to /Foo/parameter1 .

Composition index

You can use $COMPINDEX as a parameter in OSC address, which results in the index of the Compositions (starts from 1).

Track name

You can use the Track’s name in OSC tracks address with the keyword $TRACK .

For example, if the Track name is Foo , you can insert that to the OSC address by defining the OSC address of one or more tracks this way: /$TRACK/parameter1 . This case, Vezér will send data to /Foo/parameter1 .

Track Value

You can use $ mark in OSC addresses to use Tracks value in the address.

For example:

/layer$/trigger will turn to /layer0/trigger , /layer1/trigger and so on, depending on the Track’s current value.

0 Likes

#3

Here’s some suggestions I have:
These would take up

  • an additional tab in OSC preferences
  • an additional tab / space in each plug in
  • additional room / tab in each receiver / sender

These items would be available in any place where an OSC Message can be created.

GLOBAL OSC PARAMETERS

  • $PROJECT
  • $BPM
  • $MEASURETIME
  • $LAYER
  • $LAYER_IDX
  • $LAYER_GR_IDX

These can be set for each plug-in and used within the plug-in to create OSC Messages.

EACH PLUGIN - HAVE DEFAULTS BUT USER CAN EDIT

  • $PLUGIN_NAME
  • $PLUGIN_PATH
  • $PLUGIN_MIDI
  • $PLUGIN_INT1
  • $PLUGIN_INT2
  • $PLUGIN_EXT
  • $PLUGIN_COMP
  • $PLUGIN_NAME
  • would default to the name in the workspace IE

Control Surface 1

  • but user could override IE.

ContSurf

  • $PLUGIN_PATH
  • could be used to identify part of the OSC Address path IE

FromCS

  • or used as an element as part of a receiver identifier IE
  • say I have LFO plugins named
    LFO 1X, LFO 1Y, LFO 1S
    LFO 2X, LFO 2Y, LFO 2S
    LFO 3X, LFO 3Y, LFO 3S,

LFO L then used as with a combo (using $PLUGIN_INT1 from below)

  • /<$PLUGIN_PATH$PLUGIN_INT1>X/Sine == /LFO L2X/Sine
  • /<$PLUGIN_PATH$PLUGIN_INT1>X/Triangle == /LFO L2X/Triangle
  • /<$PLUGIN_PATH$PLUGIN_INT1>X/Ramp == /LFO L2X/Ramp
  • /<$PLUGIN_PATH$PLUGIN_INT1>Y/Sine == /LFO L2Y/Sine
  • /<$PLUGIN_PATH$PLUGIN_INT1>S/Triangle == /LFO L2S/Triangle
  • $PLUGIN_MIDI
  • could be used in receivers to Identify a MIDI Channel that gets used and only needs to be changed in one place. here IE

3

  • this could be used in multiple receivers
  • /MIDI/ch. <$PLUGIN_MIDI>/ctrl [71]
  • /MIDI/ch. <$PLUGIN_MIDI>/ctrl [72]
  • /MIDI/ch. <$PLUGIN_MIDI>/ctrl [73]
  • and updated / changed very quickly
  • $PLUGIN_INT1
  • could be used to identify which PlugIn Instance this is IE

2

  • can use for building of the OSC Address path IE

/<$PLUGIN_PATH><$PLUGIN_INT1>

would give you

/FromCS2

  • $PLUGIN_INT2
  • could be used for various MATHS in creating OSC Address or Value
  • represent an numbered instance of a plugin, MIDI channel etc
  • $PLUGIN_EXT
  • be able to collect a VALUE from Other Sources, just like you can with receivers
  • also be able so select OSC VARIABLES like the ones defined here
  • be able to select what type of Value it is
  • later be able to get a string formatted value from this using standard formatting
  • IE

<"%.3f", $PLUGIN_EXT>

  • $PLUGIN_COMP
  • this would be a COMPOSITE string variable
  • one that can be constructed from GLOBAL or LOCAL PLUGIN OSC VARIABLES
  • be able to use REG-EX in the constructions
  • be able to use REPLACE FOR ANY REG-EX Groups

These can be set for each plug-in and used within the plug-in to create OSC Messages.

EACH RECIEVER/SENDER - HAVE DEFAULTS BUT USER CAN EDIT

  • $SEND_NAME
  • $SEND_TYPE
  • $SEND_VAL
  • $SEND_USR_INT
  • $SEND_EXT_VAL
  • $SEND_COMP1
  • $SEND_COMP2
  • $SEND_NAME
  • this would be name to identify sender (User can overwrite)
  • $SEND_TYPE
  • this would be name to identify sender (User can overwrite)
  • be able to use REPLACE FOR ANY REG-EX Groups
  • $SEND_VAL_ADJ
  • this could be a value that can be calculated from the original $VAL but having either
  • math applied to it
  • NumFX Chain Applied
  • String Formatting / Processing
  • Value Processing IE

$SEND_VAL_ADJ = $VAL * (($SEND_EXT_VAL->rgbColor()->red())

  • $SEND_USR_INT
  • could be used for an additional address identifier or for maths
  • $SEND_EXT_VAL
  • be able to collect a VALUE from Other Sources, just like you can with receivers
  • also be able so select OSC VARIABLES like the ones defined here
  • be able to select what type of Value it is
  • be able ti get other types of values from it depending on value type IE
  • $SEND_EXT_VAL->isType(Color)
  • $SEND_EXT_VAL->rgbColor()->red()
  • $SEND_EXT_VAL->xyPos()->x()
  • $SEND_EXT_VAL->stringValue()
  • $SEND_EXT_VAL->lastPathComp()
  • $SEND_EXT_VAL->listItem(4)
  • $SEND_COMP1
  • as in the $PLUGIN_COMP be able to do multi string construction
  • be able to use GLOBAL / LOCAL PLUG IN & LOCAL SEND OSC VARIABLES
  • $SEND_COMP2
  • another alternative string to above
0 Likes