We invite all Microdose creators to experiment with building custom OSC Interfaces. We reccomend Touch OSC as the optimal tested environment for developing modular OSC interfaces for Microdose VR.
π€ WARNING : We may change the endpoints in the future, which would require some updates to the addresses, as our naming schema is still settling. It is currently in Alpha stage, and not reccomended for production environments. Have fun breaking it it!!
Our official repository will remain up to date with the latest releases:
The general structure of the OSC endpoints is as such:
/C/[Module]/[Submodule]/[Setting]/[Value]
.
/C
in the master namespace, which preceedes all endpoints.
/[Module]
Next is the Module namespace, such as /C/Player
/[Submodule]
Next is the Submodule namespace, such as /C/Player/Wand
/C/[Module]/[Submodule]/Param/[Name]/[Command]
Interface Parameters can be set proceedurally by identifying them in the interface hierarchy. Every layer of the interface hierarchy can have interface parameters which is connected to the data and operational layers.
Slider - 0-1
: Sends an Alpha float value between 0 and 1, automatically mapped to a range of values
Press - 0/1
: Usually only receives 1 as a value, and is used to trigger single events
Toggle - 0/1
: Sends a 0 or 1 as a value stored as a boolean Toggle Parameter
/Alpha
- Slider - Modify Float parameters mapped from 0-1
/Reset
- Press - Resets to the default value
/+1
- Press - Increment value up
/-1
- Press - Increment value down
/Readout
- String - Shows a string readout on the OSC interface of the parameter's value
The following are the exposed OSC endpoints Microdose will respond to. This is not a full list of all available endpoints. To access all available endpoints see CHROMA-OSC on GitHub.
/C/Player/Wand/L/
- Left Wand Namespace
/C/Player/Wand/R/
- Right Wand Namespace
/C/Player/Wand/L/Param/Throw/Alpha
/C/Player/Wand/R/Param/Throw/Alpha
/C/Player/Wand/L/Param/PairThrow/Toggle
/C/Player/Wand/R/Param/PairThrow/Toggle
{Moving in Alpha 1.3}
/C/Nozzle/L/
- Left Nozzle Namespace
/C/Nozzle/R/
- Right Nozzle Namespace
/C/Nozzle/L/Param/TimeDilation/Alpha
/C/Nozzle/R/Param/TimeDilation/Alpha
/C/Nozzle/L/Param/PairTimeDilation/Toggle
/C/Nozzle/R/Param/PairTimeDilation/Toggle
/C/Control/Clock
BPM Readout : String - Recieves current BPM to display
/C/Control/Clock/Master/Param/BPM/Readout
BPM Alpha : Slider - Sets the Master BPM on a slider between 30-180 BPM
/C/Control/Clock/Master/Param/BPM/Alpha
+1 BPM : Press - Increments the BPM up
/C/Control/Clock/Master/Param/BPM/+1
-1 BPM : Press - Increments the BPM down
/C/Control/Clock/Master/Param/BPM/-1
/C/Control/Clock/Master/Event/Tap
/C/Control/Signal
Global Signal Output
A - Audio Signals
/C/Control/Signal/Output/A
/C/Control/Signal/Output/A1
/C/Control/Signal/Output/A2
/C/Control/Signal/Output/A3
MOD - Modulator Signals
/C/Control/Signal/Output/MOD
/C/Control/Signal/Output/MOD1
/C/Control/Signal/Output/MOD2
/C/Control/Signal/Output/MOD3
/C/Output/Mode
VR : Toggle - Use VR Output Mode
/C/Output/Option/Mode/VR/Toggle
Cinematic : Toggle - Use Cinematic / VJ Output Mode
/C/Output/Option/Mode/Cinematic/Toggle
/C/Output/Cinematic/Param/FOV/Alpha
: Slider - Alpha mapped from 0-180
degrees/C/Output/Cinematic/Param/FOV/Reset
: Press - Reset to default/C/Output/Screenshot/Capture/Exec
/C/Inventory/Player/Brush/Selected/Inventory/Increment/+1
- Next Collection/C/Inventory/Player/Brush/Selected/Inventory/Increment/-1
- Previous CollectionLeft Wand Collection
/C/Player/Wand/L/Collection/Increment/+1
- Next Brush
/C/Player/Wand/L/Collection/Increment/-1
- Previous Brush
/C/Player/Wand/L/Collection/Param/Shuffle/Toggle
- Shuffle
Right Wand Collection
/C/Player/Wand/R/Collection/Increment/+1
- Next Brush
/C/Player/Wand/R/Collection/Increment/-1
- Previous Brush
/C/Player/Wand/R/Collection/Param/Shuffle/Toggle
- Shuffle
Enabled : Toggle - Toggle Mirror Post Processing
/C/PostProcess/Mirror/Param/Enabled/Toggle
Collection : Multi Toggle 2D - Mirror Preset Collection
/C/PostProcess/Mirror/Collection/Select2D
- Load the desired preset from a 6 wide x 2 tall
multitoggle
Parameters - All mirror float parameters have the following endpoints:
/C/PostProcess/Mirror/Asset/Param/[Name]/Alpha
- Slider
/C/PostProcess/Mirror/Asset/Param/[Name]/+1
- Press - Increment up
/C/PostProcess/Mirror/Asset/Param/[Name]/-1
- Press - Increment down
X Mirrors : Number of X mirror iterations
/C/PostProcess/Mirror/Asset/Param/XMirrors/Alpha
Y Mirrors - Number of Y mirror iterations
/C/PostProcess/Mirror/Asset/Param/YMirrors/Alpha
X Offset : How far to offset each X iteration
/C/PostProcess/Mirror/Asset/Param/XOffset/Alpha
Y Offset - How far to offset each Y iteration
/C/PostProcess/Mirror/Asset/Param/YOffset/Alpha
X Cutoff : Where to cutoff the X iterations
/C/PostProcess/Mirror/Asset/Param/XCutoff/Alpha
Y Cutoff - Where to cutoff the Y iterations
/C/PostProcess/Mirror/Asset/Param/YCutoff/Alpha
X Range Min : X iterations min range
/C/PostProcess/Mirror/Asset/Param/XRangeMin/Alpha
X Range Max - X iterations max range
/C/PostProcess/Mirror/Asset/Param/XRangeMax/Alpha
Y Range Min : Y iterations min range
/C/PostProcess/Mirror/Asset/Param/YRangeMin/Alpha
Y Range Max - Y iterations max range
/C/PostProcess/Mirror/Asset/Param/YRangeMax/Alpha
Play / Pause : Press - Play/pause system audio
/C/MediaPlayer/Play
Next Track : Press - Next Track in audio player
/C/MediaPlayer/NextTrack
Previous Track : Press - Previous Track in audio player
/C/MediaPlayer/PrevTrack
Volume Up : Press - System volume increment up
/C/MediaPlayer/Volume/+1
Volume Down : Press - System volume increment down
/C/MediaPlayer/Volume/-1