Automation and Scripting

On MacOS 12 and up, it’s possible to control Farrago programmatically. Automatic actions can be configured to occur in response to certain events. Actions can also be executed via Apple’s Shortcuts application.

Automation

Within Farrago, you can create automations for specific tiles or specific sets. When a specific Event occurs, it will cause the automation to Run the selected Shortcut, previously configured in the Shortcuts application.

To configure an automation, highlight a tile or set. Locate the Automation section of the Inspector, then click New Automation.

Tile Automation

Tile automations are triggered based on tile playback. Adjust the Event setting to have the automation trigger when a tile begins playing (Playback Started), when a tile is paused (Playback Paused), or when a tile is stopped (Playback Stopped).

Tile Automation Example

The following example will trigger playback of another tile, based on the note “Play:{Tile name X}":

Set Automation

Set automations can be triggered based on even more actions. Adjust the Event setting to have the automation trigger based on:

  • Any Playback Started - Triggered when playback of any tile in the set is started

  • Any Playback Paused - Triggered when playback of any tile in the set is paused

  • Any Playback Stopped - Triggered when playback of any tile in the set is stopped

  • Any Tile Added - Triggered when a tile is added to the set

  • Any Tile Removed - Triggered when a tile is removed from the set

  • Set Selected - Triggered when the set is selected in the Sets list

  • Set Deselected - Triggered when the set is deselected in the Sets list

Set Automation Example

In the following example, playback of any tile in a set will trigger a shortcut to track the date that a sound was played:

Shortcuts

Farrago also provides actions for use with the system's Shortcuts app, making it possible to hook Farrago into larger external workflows. The following actions are available within the Shortcuts app:

  • Fade All

  • Fade Between Master Volumes

  • Fade Out Sound

  • Get Playing Sounds

  • Get Sound

  • Get Sound Set

  • Pause All

  • Play Sound

  • Set Master Mute

  • Set Master Volume

  • Set Sound Mute

  • Set Sound Setting

  • Set Sound Volume

  • Stop All

  • Unpause All

Advanced

When an automation is triggered in Farrago, it supplies a dictionary to the shortcut input with the following keys, and values.

  • title - The title of the set or tile that triggered the action

  • uuid - The unique identifier for either the tile or set where the automation was triggered

  • action - The name of the action that was triggered, e.g. “Playback Started”

The information contained in the dictionary can then be used to determine the real sound or tile set reference upon which to perform other actions inside of Farrago.

Searching for SoundsMIDI Support