Work in progress at the moment, but this will be the home for all the documentation for how to use ScopeSync, whether you are looking to use it as part of a Modular patch, or if you’re a Scope device developer and want to integrate ScopeSync features into one of your devices.
N.B. ScopeSync makes use of the ScopeOSC modules that can be downloaded here on GitHub. These modules are documented here on the ScopeOSC wiki, but their use in ScopeSync is wrapped inside the SDK modules and the BC Modular modules.
On this page, we’ll give a very quick overview of the elements of ScopeSync and they will each link to deeper information. Note that ScopeSync is built using the Juce framework and many of the concepts are pulled in from there.
A Configuration is the core entity of ScopeSync. It pulls together the definition of parameters, choice of GUI layout and mapping between the two, as well as allowing the style of GUI elements in a layout to be overridden. A Configuration can be edited in the ScopeSync Configuration Manager, or using right-click context menus on a device’s GUI. ScopeSync maintains a database of Configurations stored on a users machine so they can be chosen easily.
Each Configuration contains a set of Parameters that each represents a link from ScopeSync to a Scope value, using the (Parameter Group):(Parameter Id) concept provided by the ScopeOSC modules. They also define how a value in Scope should be interacted with by ScopeSync. There are settings that determine ranges and curves for these values, for the ScopeSync UI and the underlying DSP parameters.
For ease of setting up Parameters, it’s possible to define Presets. The ScopeSync installation package includes a good initial set covering most common Parameter types and these can be supplemented by user presets.
A Layout in ScopeSync is the definition of a GUI panel that can be linked to Parameters in a Configuration. It is defined using custom XML and supports a variety of GUI elements from the Juce framework, such as Sliders (aka. knobs/faders) and Buttons. A Configuration always refers to one Layout (if none is selected, a default empty layout will be used.) ScopeSync also maintains a database of Layouts so they can be chosen for a Configuration.
Each Configuration includes a set of Mappings between GUI elements in the Layout and Parameters. For Sliders this is a simple reference between the two, but for Buttons a user can define what value to set when the button is clicked, as well as what mode the Button operates in (e.g. Toggle, Increment etc.)
If the Layout designer has allowed it, a user may override certain style settings for GUI elements in the Layout. The template GUIs included in the ScopeSync installation are a good example of this. For instance, different knob images can be shown, or colour schemes for sets of parameters.