AirSuite Console
================
A software mixing console for a Dante studio, from Broadcast Copy.

The engine is one process. It owns the audio device, does the mixing and the metering, and
serves the console surface over HTTP, so there is nothing else to install and no second
service to keep running.


PREREQUISITES
-------------
1. Windows 10 or 11, 64-bit.

2. Dante Controller (free, from Audinate: https://my.audinate.com/support/downloads)
   This console reads and writes audio over Dante. Every subscription - what this machine
   listens to, and what listens to this machine - is made by a person in Dante Controller.
   The console never writes Dante routing itself, by design: an audio network should only
   be repatched by somebody who meant to.

3. Dante Virtual Soundcard, set to ASIO.
   This is the audio device the engine opens. Set its interface mode to ASIO (not WDM) and
   start it before starting the console. A sample rate of 48 kHz and an ASIO buffer of 128
   samples is a good starting point.

   Some studios run a Dante hardware interface (a DAI, an AVIO adapter, a Dante-equipped
   console or interface) instead. Anything that presents a Dante ASIO device works - set
   "asio.driverName" in the configuration to match.

Nothing else. There is no .NET runtime to install: the engine ships with its own.


INSTALL
-------
Right-click Install-AirSuiteConsole.ps1 > Run with PowerShell, or:

    powershell -ExecutionPolicy Bypass -File "Install-AirSuiteConsole.ps1"

It installs for the current user and never asks for administrator rights. It touches
exactly these places:

    %LOCALAPPDATA%\Programs\AirSuite Console    program files
    %LOCALAPPDATA%\AirSuite Console             configuration and logs
    Start Menu > AirSuite                       shortcut
    Desktop                                     shortcut (skip it with -NoDesktopShortcut)
    HKCU ...\Uninstall\AirSuiteConsole          so it appears in Settings > Apps

It does not create services, scheduled tasks, autostart entries or firewall rules, and it
changes no audio device or Dante setting.

Options:
    -InstallRoot "D:\Apps\AirSuite Console"     install somewhere else
    -NoDesktopShortcut                          Start Menu only
    -Force                                      write into an existing non-AirSuite directory


FIRST RUN
---------
Start Menu > AirSuite > AirSuite Console. The engine starts and your browser opens the
surface at http://127.0.0.1:8108/.

To try it before the audio network is ready - or on a machine whose Dante device must not
be disturbed - run the launcher in simulation. No audio device is opened at all:

    powershell -ExecutionPolicy Bypass -File "Start-AirSuiteConsole.ps1" -Sim

Two things are deliberately shut, and the installer does not open either:

    output.enabled = false      The engine writes silence to every output channel. It will
                                meter, mix and drive the surface, but it cannot put audio on
                                a Dante transmit channel.

    bindAddress = 127.0.0.1     The surface answers on this machine only.

That is so a console that has just been installed cannot surprise anybody by reaching air.
Open them when you have confirmed, in Dante Controller, exactly what is subscribed to this
machine's transmit channels.


CONFIGURATION
-------------
    %LOCALAPPDATA%\AirSuite Console\console-config.json

Plain JSON, meant to be read and edited by hand. The channel map is the part that matters:
"in" values are 0-based ASIO channel numbers, so Dante receive channel 1 is "in": [0].
The surface renders whatever strips this file declares - rename a fader here and it is
renamed on screen.

Reinstalling or upgrading never overwrites this file.

Useful engine switches, if you are running AirSuiteMixerEngine.exe directly:

    --probe        report which ASIO device it can open, then exit without holding it
    --selftest     prove the mixing, ducking and mix-minus maths with no hardware at all
    --sim          run the whole engine on an internal tone generator instead of a card


UNINSTALL
---------
Settings > Apps > AirSuite Console > Uninstall, or from the install directory:

    powershell -ExecutionPolicy Bypass -File "Uninstall-AirSuiteConsole.ps1"

It removes only what the install manifest says it created: the program directory, its own
shortcuts, its own registry key. Your configuration and logs are kept, so a reinstall picks
up the same channel map. Add -Purge to delete those as well.


SUPPORT
-------
https://broadcastcopy.ai
