Skip to content

joschi127/focusrite-tools

Repository files navigation

Focusrite Tools

A collection of utilities for Focusrite Scarlett audio interfaces.

Tools

Focusrite Switcher

This tool automates the routing profile switching on the Focusrite Scarlett 18i8 (2nd Gen) audio interface to seamlessly handle transitions between active PC usage and standalone operations.

  • Computer Playback Mode: (computer) Switches the Scarlett to the "System Playback" preset. This will not route any inputs to the monitor or headphone outputs and allows you to use your computer's audio software for mixing and playback.
  • Standalone Mode (Laptop Off/Disconnected) (standalone): Switches the Scarlett to the "8 Channel Analogue" preset. This will route all 8 analogue inputs to the monitor and headphone outputs.

All profile changes are automatically persisted to the hardware at all times by the Focusrite Control Server — there is no separate "save to hardware" step required.


Project Structure

  • docs/ - Project documentation.
    • focusrite_control_api/ - Documentation of the Focusrite Control Server XML API.
  • tools/ - Contains individual Focusrite utilities.
    • send_test/ - Tool for testing communication with Focusrite Control Server.
      • focusrite_send_test.py - Minimal script to send XML commands to the server.
    • switcher/ - The Focusrite Switcher tool.
      • focusrite_switcher.py - Core automation script.
      • focusrite_client.py - Focusrite Control Server API communication module.
      • install.py - Automated installer script for Windows deployment.
  • requirements.txt - Project dependencies.
  • README.md - This instruction file.

?? Installation & Deployment

(For Switcher tool)

Because Windows safeguards system directories (C:\Program Files) and requires elevated permissions for the Task Scheduler API, you must run the installation locally via an Administrator terminal.

1. Move Files to a Local Directory

If you downloaded or cloned this repository onto a network share or network drive, copy the entire folder to a local hard drive first (e.g. into C:\Users\username\Downloads\focusrite-tools). Windows security parameters prevent execution directly from UNC network locations.

2. Open an Elevated Command Prompt

  1. Press the Windows Key on your keyboard.
  2. Type cmd into the search bar.
  3. Right-click on Command Prompt and select "Run as Administrator".

3. Install Prerequisites & Run Installer

Navigate to your local folder inside the terminal window, set up a virtual environment, install the required packages, and execute the setup script (replace the path in the first command with your actual local directory path):

    cd /d "C:\Program Files\Focusrite\Focusrite Control\Server"
    AddFirewallException.cmd
    AddFirewallException.cmd
    :: restart might be needed
    
    cd /d "C:\Users\username\Downloads\focusrite-tools\tools\switcher"
    python -m venv .venv
    .venv\Scripts\activate
    pip install -r ../../requirements.txt
    python install.py

4. Post-Installation Verification

Open a standard Command Prompt window and execute the following command to manually trigger your new startup task:

    schtasks /run /tn "Focusrite_Switcher_Startup"

The installer also creates:

  • Desktop & Start Menu shortcuts — "Focusrite - Switch to Computer Mode" and "Focusrite - Switch to Standalone Mode" for quick manual profile switching at any time.
  • Shutdown task (Focusrite_Switcher_Shutdown) — automatically switches to the standalone profile when Windows shuts down or restarts (triggered by System Event 1074). This task is best-effort: if the Focusrite Control Server stops before the task completes, use the desktop shortcut to switch manually before shutting down.

?? Development and Testing

Debian/Ubuntu (Development/Testing)

On Debian-based systems, you can use the venv virtual environment setup by installing the python3-venv package:

    sudo apt update
    sudo apt install python3-venv
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt

References

For further details on the Focusrite Control protocol and XML structure, the following resources are used as reference:

About

A collection of utilities for Focusrite Scarlett audio interfaces

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages