Monogram API

Concepts and Glossary

General Terms

  • Creative Console: A collection of modules connected to each other.
  • Monogram Service: Monogram’s back-end service that handles configuration and communication between the Core module and Monogram Creator.
  • Monogram Creator: Monogram’s user interface to assign modules.
    • Note: Monogram Creator is dependent on Monogram Service. They are separate processes that spawn from the same Monogram Creator icon.
  • Monogram Core (Core Module): Enables connection to Monogram or other compatible applications.
  • Module: A single Monogram hardware component (e.g., Core, Dial, Button) that may be actuated or configured.
  • Actuate/Actuation: Physically cause a module to perform its desired operation. e.g., "pressing a button", "turning a dial", "moving a slider" are different types of actuations.
  • Application or Target Application: The program that end-users will control using Monogram. For example, myphotoeditor.

Key Concepts

  • Module Setting: Properties belonging to a module, such as turn to indicate what to do for a Dial Turn actuation or tiltMode for specifying the tactility of Orbiter's pressure sensitive disc.
  • Input: Commands that your application accepts from Monogram over WebSockets. Application-specific action or property that is independent of Monogram modules.
    • Internally, Inputs are converted into Actions which is then assigned to a Module Setting.
  • Action: Objects representing what Monogram should do when modules are actuated.
    • When you supply Monogram with inputs.json, its corresponding list of Actions is generated
    • Actions typically have "execute" functions which are called in response to a module actuation.
    • Actions can be categorized by "Execution Type" or "Dimension Type"
    • To learn more, go to Actions and Inputs
  • Presets: A collection of Module Settings that can be applied by the user with one-click.
    • In the UI, Presets are shown first so that users do not need to select the "Customize" tab to see the full list of functions
    • Required for using OS-Level Inputs
    • Complex behaviours, helper text, etc... are described using Presets
    • Enables customizing certain configurations not otherwise possible through the UI, such as leftTurn and rightTurn Module Settings on dial
    • To learn more, go to guide on Presets
  • Built-in Presets: Monogram-generated Presets using the available Actions so that users do not need to select the "Customize" tab to see those Actions
    • You can override/extend these auto-generated Presets with curated customization. For example, a customized turnSensitivity value for the Exposure input for the Dial module.
    • Certain OS actions such as Mute, Volume Up, Volume Down, etc... are Built-in Presets available globally