These are all the messages sent from the engine to the client. Om communication takes place over two distinct bands: control band and notification band.
The control band is where clients send commands, and receive a simple response, either OK or an error.
All notifications of engine state (ie new nodes) are sent over the notification band which is seperate from the control band. The reasoning behind this is that many clients may be connected at the same time - a client may receive notifications that are not a direct consequence of some message it sent.
The notification band can be thought of as a stream of events representing the changing engine state. For example, It is possible for a client to send commands and receive aknowledgements, and not listen to the notification band at all; or (in the near future anyway) for a client to use UDP for the control band (for speed), and TCP for the notification band (for reliability and order guarantees).
Control Band
/om/response/ok - Respond successfully to a user command
- request-id (int) - Request ID this is a response to
/om/response/error - Respond negatively to a user command
- request-id (int) - Request ID this is a response to
- message (string) - Error message (natural language text)
Notification Band
/om/client_registration - Notification that a new client has registered
- url (string) - URL notifications will be sent to
- client-id (int) - Client ID for new client
- This will be the first message received over the notification band by a newly registered client.
/om/error - Notification that an error has occurred
- message (string) - Error message (natural language text)
- This is for notification of errors that aren't a direct response to a user command, ie "unexpected" errors.
/om/plugin - Notification of the existance of a plugin
- lib-name (string) - Name of shared library plugin resides in (ie "cmt.so")
- plug-label (string) - Label of the plugin (ie "dahdsr_iaoa")
- name (string) - Descriptive human-readable name of plugin (ie "ADSR Envelope")
- type (string) - Type if plugin ("LADSPA", "DSSI", or "Internal")
/om/engine_enabled - Notification engine's DSP has been enabled.
/om/engine_disabled - Notification engine's DSP has been disabled.
/om/new_node - Notification of a new node's creation.
- path (string) - Path of the new node
- polyphonic (integer-boolean) - Node is polyphonic (1 = yes, 0 = no)
- type (string) - Type of plugin (LADSPA, DSSI, Internal, Patch)
- lib-name (string) - Name of library if a plugin (ie cmt.so)
- plug-label (string) - Label of plugin in library (ie adsr_env)
- New nodes are sent as a bundle. The first message in the bundle will be this one (/om/new_node), followed by a series of /om/new_port commands, followed by /om/new_node_end.
/om/node_removal - Notification of a node's destruction.
- path (string) - Path of node (which no longer exists)
/om/new_port - Notification of a new port's creation.
- path (string) - Path of new port
- type (string) - Type of port (CONTROL or AUDIO)
- direction (string) - Direction of data flow (INPUT or OUTPUT)
- hint (string) - Hint (INTEGER, LOGARITHMIC, TOGGLE, or NONE)
- default-value (float) - Default (initial) value
- min-value (float) - Suggested minimum value
- min-value (float) - Suggested maximum value
- Note that in the event of loading a patch, this message could be followed immediately by a control change, meaning the default-value is not actually the current value of the port.
- The minimum and maximum values are suggestions only, they are not enforced in any way, and going outside them is perfectly fine. Also note that the port ranges in om_gtk are not these ones! Those ranges are set as metadata.
/om/port_removal - Notification of a port's destruction.
- path (string) - Path of port (which no longer exists)
/om/patch_destruction - Notification of a patch's destruction.
- path (string) - Path of patch (which no longer exists)
/om/patch_enabled - Notification a patch's DSP processing has been enabled.
- path (string) - Path of enabled patch
/om/patch_disabled - Notification a patch's DSP processing has been disabled.
- path (string) - Path of disabled patch
/om/new_connection - Notification a new connection has been made.
- src-path (string) - Path of the source port
- dst-path (string) - Path of the destination port
/om/disconnection - Notification a connection has been unmade.
- src-path (string) - Path of the source port
- dst-path (string) - Path of the destination port
/om/metadata/update - Notification of a piece of metadata.
- path (string) - Path of the object associated with metadata (can be a node, patch, or port)
- key (string)
- value (string)
/om/control_change - Notification the value of a port has changed
- path (string) - Path of port
- value (float) - New value of port
- This will only send updates for values set by clients of course - not values changing because of connections to other ports!
/om/new_patch - Notification of a new patch
- path (string) - Path of new patch
- poly (int) - Polyphony of new patch (not a boolean like new_node)
/om/object_renamed - Notification of an object's renaming
- old-path (string) - Old path of object
- new-path (string) - New path of object
Generated on Sat Sep 24 21:22:36 2005 for Om by
1.4.4