---
title: Snapshot Linter
description: Analyze WING snapshots for common audio engineering errors before your show
---

# Snapshot Linter (Premium)

The Snapshot Linter is a Premium-tier feature that analyzes your Behringer WING mixer snapshot files for common audio engineering errors before your show. It combines rule-based analysis with optional AI-powered contextual insights.

## What Does It Do?

The linter automatically checks your snapshot for issues like:

- **Feedback loops** in bus routing
- **Missing click tracks** to some IEM mixes
- **Dead talkback** routing
- **Unnamed channels** with active routing
- **Phantom power** on line-level sources
- **Accidentally muted channels** with active sends

Think of it as a pre-flight checklist for your show file.

## Severity Levels

Issues are categorized by severity to help you prioritize:

### CRITICAL (Red)

Show-stopping issues that will likely cause audible problems:

| Issue | What It Means |
|-------|--------------|
| Feedback Loop | Circular bus routing detected (Bus A → Bus B → Bus A) |
| Talkback Dead | Your talkback channel has no routing to any output |
| Comm Incomplete | Comm channels missing from tagged destinations |
| External FX Broken | External FX is configured but physical path is unpatched |
| Listenback Missing | Talkback is receiving sends instead of only sending (backwards) |
| Click Routed to Main | Click is routed to PA fills (audience would hear it!) |
| Talkback Tag Mismatch | Channel tagged as talkback but doesn't match talkback naming patterns |

### ERROR (Orange)

Likely configuration mistakes that should be reviewed:

| Issue | What It Means |
|-------|--------------|
| Named But Dead | Channel has a name but no source and no output anywhere |
| FX Insert Orphan | Insert is enabled but the FX unit isn't configured |
| Bus No Inputs | A named bus receives no channel sends |
| Matrix Orphan | Matrix has no inputs from buses or mains |
| High Gain Unnamed | High gain (>40dB) with phantom power but no name |
| Large Delay Warning | Delay compensation >50ms may indicate misconfiguration |
| Click on Wedge | Click track routed to a wedge monitor (audience may hear it) |
| FX Slot Empty | FX slot is assigned to a bus but has no algorithm loaded |
| Duplicate Output Patch | Multiple mixer outputs patched to the same physical output |
| Main LR Not Patched | Main L/R output exists but is not patched to any physical output |

### WARNING (Yellow)

Issues that may be intentional but warrant verification:

| Issue | What It Means |
|-------|--------------|
| Name Mismatch | Channel name differs from source name |
| Stereo Mode Mixed | Stereo pair has mismatched input modes |
| Dead Send Active | Send at -144dB but marked "on" |
| Phantom on Line | Phantom power on an input named as line source |
| Low Fader Named | Named channel at extremely low fader position |
| Unused Aux Named | Aux channel is named but receives no sources |
| Click Partial | Click routed to some but not all monitor channels |
| Solo Misconfigured | Solo bus configuration may cause unexpected behavior |
| Muted With Sends | Channel is muted but has active sends to buses |
| High Gain | Source has unusually high gain (>35dB) |
| Playback Pre-Fader | Playback channel is set to pre-fader sends (usually should be post) |
| FX Tail on Pre-Fader Insert | FX with tail (reverb/delay) on a pre-fader insert point |
| FX Return Not Routed | FX return channel exists but has no routing to any output |
| IEM No Stereo Content | IEM bus has no stereo content (all sends are mono) |
| Wedge Routed to Main | Wedge monitor bus is also routed to main outputs |
| IEM Level Hot | IEM bus level is unusually high (risk of hearing damage) |
| Duplicate Bus Names | Multiple buses share the same name |
| Duplicate Channel Names | Multiple channels share the same name |
| Named Channel No Source | Channel has a name but no input source assigned |
| Missing Phantom on Condenser | Channel named as condenser mic but phantom power is off |
| Virtual Soundcheck Incomplete | USB playback channels don't match all input channels |
| Monitor Bus No Limiter | Monitor bus (IEM/wedge) has no limiter on the insert |
| IEM Level Inconsistency | IEM buses have widely varying output levels |
| Orphan Direct Patch | Direct patch exists but the source is unused |

### INFO (Blue)

Best practices and informational suggestions:

| Issue | What It Means |
|-------|--------------|
| Unnamed Channel | Active channel without descriptive name |
| Default Name | Channel using factory default name (CH01, etc.) |
| Unused FX Slot | FX slot is configured but not used |
| No Main Output | No channels route to Main L/R |
| Aux Duplicates | Aux uses same source as regular channel |
| Template Detected | All channels unconnected - likely a template file |
| Unnamed DCA Groups | DCA groups are assigned but have no names |
| FX Bus Routed to Aux | FX return bus is routed to an aux channel (unusual routing) |
| Bus Send Dead End | Channel sends to a bus that has no outputs |
| Parallel FX Same Type | Two parallel FX slots use the same algorithm type |
| Channel Sends to All Buses | Channel has sends to every bus (likely unintentional) |
| Matrix Single Source | Matrix has only one input source (could use a bus instead) |
| Hard Pan No Partner | Channel is hard-panned L or R but has no stereo partner |
| Non-Monitor All Pre-Fader | Non-monitor channel has all sends set to pre-fader |
| Insert Enabled FX Bypassed | Channel insert is enabled but the FX unit is bypassed |
| Unused Input Patched | Physical input is patched but not used by any channel |
| Channel Not in Any DCA | Active channel is not assigned to any DCA group |
| DCA Muting Active Channels | DCA group is muting channels that have active routing |

## Fix Suggestions and the Fix Stack

Many issues no longer just tell you what's wrong — they offer a one-click fix. When an issue can be corrected automatically, it shows one or more **fix buttons** below the message. Clicking a fix adds it to the **fix stack**, a panel where your selected corrections collect until you apply them all at once.

> **Note**: 33 of the linter rules can offer fixes. Rules that need engineering judgement (for example "High Gain" or "Large Delay Warning") stay advice-only — there's no safe single value the linter can pick for you.

### What Can Be Fixed

Fixable issues cover the mechanical, unambiguous corrections, such as:

- **Clear or rename names** — for example E003 "Bus is named but receives no sends" offers *"Clear name of BUS05"*.
- **Toggle phantom power** — W020 "condenser mic without phantom" offers *"Enable +48V on LCL/6"*.
- **Fix sends and routing** — re-enable a dead send, or route a stranded monitor bus to an output.
- **Mute / unmute DCAs** — for example unmute a DCA that is muting active channels.
- **Disable bypassed inserts** and **fix talkback tags**.

The **Rule Reference** page (the *View Rules Reference* button on the linter) shows an **Auto-fix** badge next to every rule that can offer a fix, so you can see at a glance which checks are actionable.

### Building the Fix Stack

1. Run the linter and review the issues.
2. Under any fixable issue, click a fix button. It moves into the fix stack panel on the right (on phones, a **Fixes** button with a count badge opens a bottom panel).
3. Add as many fixes as you like across different issues.
4. Remove a fix you don't want by clicking its button again, or the ✕ next to it in the panel.

### Alternatives and Conflicts

- **Alternatives** behave like radio buttons. When an issue offers more than one way to fix it (for example *rename* vs. *clear name*), selecting one automatically deselects the conflicting alternative — you can only stack one.
- **Conflicts** are blocked. If two fixes from *different* issues would touch the same thing (the same channel name, the same send), the linter prevents you from stacking both and shows a hint explaining why.

### Applying Fixes — File Mode

When you're linting an uploaded or library snapshot, the fix stack footer button reads **"Download fixed snapshot (N)"**. Clicking it builds a corrected `.snap` file with all stacked fixes applied and downloads it.

> **Note**: File mode never modifies your original. The download is a separate, corrected copy — your uploaded snapshot stays exactly as it was.

### Applying Fixes — Live Mode

When you're connected to a real WING via the WingBridge helper, the footer button reads **"Apply N fix(es) to console"**. Because this writes to live hardware, the flow has a mandatory safety gate:

1. Clicking the button opens a **confirmation modal** listing every OSC change as *old value → new value* (for example `/ch/6/in/48v: OFF → ON`).
2. Review the list. Nothing is written until you confirm.
3. On confirm, the linter writes each change to the console, then reads the values back to **verify** them.
4. Any mismatch (the console didn't accept a value) or send failure is reported so you can act on it.
5. When the writes finish, the desk returns to read-only.

> **Warning**: Live apply writes to a real, connected console — it can change what your musicians and audience hear. Always read the confirmation dialog before confirming, and apply live fixes when it's safe to do so (not mid-song). If a change is reported as a mismatch, verify it manually on the desk.

## Channel Type Detection

The linter automatically detects special channel types using two methods:

### 1. Wing Console Tags (Explicit)

If you've applied [Wing Tools recognition tags](11-source-tags.md) to your channels on the console, these take precedence over name-based detection. Common tags include:

| Tag | Channel Type |
|-----|-------------|
| `CLK`, `CLICK`, `METRO` | Click/Metronome |
| `COM`, `COMM`, `TB` | Communication/Talkback |
| `IEM`, `EARS` | In-ear monitors |
| `WDG`, `WEDGE` | Wedge monitors |
| `FX`, `EFX` | Effects returns |

See the [Source Tags Reference](11-source-tags.md) for the complete list.

### 2. Naming Patterns (Automatic)

When no explicit tags are present, the linter detects channel types based on naming patterns:

| Channel Type | Example Names Detected |
|--------------|----------------------|
| Click/Metro | Click*, Metro*, CLK* |
| Talkback/Comm | Talk*, Comm*, TB*, PL* |
| Monitors/IEM | IEM*, Mon*, Wedge*, Ear* |
| Main/PA | Main*, FOH*, House*, PA* |
| PA Fills | SideFill*, NearFill*, DelayLine* |
| Effects | FX*, Reverb*, Delay*, Verb* |
| Drums | Kick*, Snare*, HiHat*, Tom*, OH* |
| Vocals | Vox*, Vocal*, Lead*, BGV* |
| Instruments | Guitar*, Keys*, Bass*, Sax*, Trumpet* |

These detected types help the linter understand your configuration. For example, it knows that a "Click" channel should route to all "IEM" channels.

## Linter Configurations

### System Presets

Four built-in configurations are available:

| Configuration | Best For | Key Differences |
|---------------|----------|-----------------|
| **Default** | General use | All rules enabled with standard thresholds |
| **Monitor Engineer** | IEM/wedge mixing | Click/Comm rules emphasized, "No Main Output" disabled |
| **FOH Engineer** | Front-of-house | Main output rules emphasized, Click Partial disabled |
| **Strict** | Critical shows | Lower thresholds, catches more potential issues |

### Custom Configurations (Premium/Pro)

Premium and Pro users can create custom linter configurations that include:

- **Rule Overrides**: Enable/disable specific rules
- **Threshold Adjustments**: Change sensitivity levels (e.g., what counts as "high gain")
- **Channel Tags**: Pre-define channel types for your regular setup
- **Custom Patterns**: Add your own naming patterns for channel detection

Save configurations for reuse across different shows with similar setups.

## AI-Powered Analysis (Premium/Pro)

Premium and Pro tiers include AI-powered analysis that provides:

- **Configuration Summary**: A plain-English overview of your setup
- **Additional Insights**: Professional recommendations beyond the rules
- **Contextual Understanding**: Recognizes patterns like "this appears to be a 5-piece band setup"

### Usage Limits

| Limit | Premium Tier | Pro Tier |
|-------|--------------|----------|
| Daily AI Requests | 50 | 50 |
| Monthly AI Requests | 500 | 500 |

AI analysis is optional - you can skip it to save your quota for important files.

## Production Context Detection

The linter automatically detects your production type based on channel names, routing patterns, and configuration signals. This helps it apply context-appropriate rules and thresholds.

### Detected Production Types

| Type | Description | Example Signals |
|------|-------------|-----------------|
| **Concert** | Live band performance | Multiple instrument channels, vocal mics, IEM buses |
| **Festival** | Multi-act event | Many monitor buses, festival-style naming, split systems |
| **Worship** | House of worship | Worship-style names, broadcast feeds, confidence monitors |
| **Corporate** | Conference/presentation | Podium mics, presentation channels, recording outputs |
| **Broadcast** | TV/radio/streaming | Broadcast buses, mix-minus, program/clean feeds |
| **Sports** | Sporting event | Announcer mics, crowd mics, delay towers |
| **Theater** | Theatrical production | Many wireless mics, cue channels, playback tracks |
| **Studio** | Recording session | Talkback, headphone mixes, direct outputs |
| **Installation** | Fixed installation | Zone buses, BGM channels, paging |

The detected type appears in the linter results summary. If the confidence score is too low, the production type shows as "Unknown" and generic rules apply.

> **Tip**: If the linter misdetects your production type, add [Source Tags](11-source-tags.md) to your channels for more accurate detection.

## How To Use

### Basic Usage

1. Go to **Snapshot Linter** in the navigation
2. Select a snapshot file from your uploaded files
3. Choose a linter configuration (or use Default)
4. Click **Run Linter**
5. Review the results by severity level

### Interpreting Results

Each issue includes:

- **Rule ID**: For reference (e.g., C001, W003)
- **Title**: Brief description of the issue
- **Message**: Detailed explanation with specific channels
- **Affected Channels**: Which channels are involved
- **Suggestion**: How to fix the issue

### Acting on Results

**Critical issues**: Fix these before soundcheck - they will cause problems.

**Errors**: Review carefully - these are likely unintentional.

**Warnings**: Check if intentional - some may be valid for your setup.

**Info**: Consider for future improvement - not urgent.

## Tips for Best Results

### Name Your Channels

The linter works best when channels are named descriptively:

- Use consistent naming: "Click" not "CLK" on one channel and "MetroTrack" on another
- Name special channels clearly: "TALKBACK", "CLICK", "COMM"
- Name monitor buses with their destination: "IEM-Drums", "IEM-Keys", "Wedge-SR"

### Use a Consistent Template

If you start from a well-named template, the linter will:

- Detect channel types more accurately
- Catch deviations from your standard setup
- Provide more relevant suggestions

### Review Before the Show

Run the linter:

1. After loading your show file
2. After making significant routing changes
3. Before soundcheck on show day

## Troubleshooting

### False Positives

Some warnings may not apply to your situation:

- **Click Partial**: You may intentionally not send click to some mixes
- **Muted With Sends**: Channel may be muted for soundcheck but sends are correct
- **High Gain**: Some sources legitimately need high gain

Use custom configurations to disable rules that don't apply to your workflow.

### Missing Detections

If the linter isn't detecting your channel types:

1. Check your naming matches the expected patterns
2. Add custom patterns in a Pro configuration
3. Manually tag channels before running the linter

### AI Analysis Issues

If AI analysis fails or times out:

1. Try again - temporary API issues happen
2. Skip AI analysis and use rule-based results only
3. Check your daily/monthly usage limits

## Frequently Asked Questions

**Q: Does the linter modify my snapshot file?**

A: No. When you apply [fix suggestions](#fix-suggestions-and-the-fix-stack) in file mode, the linter builds a *corrected copy* and downloads it — your original upload is never changed. The only time the linter writes anything is when you explicitly confirm an **Apply to console** in live mode, and even then it shows every change for review first.

**Q: Can I use the linter without AI analysis?**

A: Yes, Premium and Pro users can run rule-based analysis without using AI quota.

**Q: How accurate is the channel detection?**

A: It depends on your naming conventions. Standard names like "Kick", "Snare", "IEM" are detected reliably. Unusual abbreviations may not be detected.

**Q: Can I share my custom configurations?**

A: Not currently, but this is planned for a future update.

**Q: How long are linter results stored?**

A: Results are stored for 90 days, then automatically deleted.

## Next Steps

- **[Source Tags Reference](11-source-tags.md)**: Learn about explicit tags for more accurate detection
- **[Signal Flow](05-signal-flow.md)**: Visualize your routing to verify linter findings
- **[Routing Diff](06-routing-diff.md)**: Compare snapshots before and after fixing issues
- **[Audio Engineer Guide](08-audio-engineer-guide.md)**: Best practices for WING workflows

---

**Questions?** Check the [Reference section](09-reference.md) for troubleshooting tips.
