Muse Mutually Exclusive helper
Frequently Asked Questions
Brand:
- AMX
Models:
- MU-1000
- MU-1300
- MU-2300
- MU-3300
Question:
How do I do mutually exclusive feedback on MUSE?
Answer:
Use the mutually exclusive helper!
Mutually Exclusive Helper Code Example
# AMX MUSE Mutually Exclusive Channel Helper
This package contains:
- `index.py`
- `mutually_exclusive.py`
The mutually exclusive behavior is triggered by a watched channel turning ON, not by a physical button press.
## Multiple Touch Panels
Define touch panels in `index.py`:
```python
dvTP1 = context.devices.get("AMX-10001")
dvTP2 = context.devices.get("AMX-10002")
```
Define each mutually exclusive group with a list of touch panels and a list of channel numbers:
```python
ME_GROUPS = [
{
"name": "source_select",
"panels": [dvTP1, dvTP2],
"port": 1,
"channels": [1, 2, 3, 4, 5],
},
]
```
When any listed channel turns ON on any listed panel, all other channels in that group turn OFF on every listed panel.
## Debug Logging
Logging is disabled by default.
Enable all normal helper logs in `index.py`:
```python
ME_DEBUG = True
set_mutually_exclusive_debug(ME_DEBUG)
```
Disable normal helper logs:
```python
ME_DEBUG = False
set_mutually_exclusive_debug(ME_DEBUG)
```
Warnings are always logged.
Enable logging for one group only:
```python
{
"name": "source_select",
"panels": [dvTP1, dvTP2],
"port": 1,
"channels": [1, 2, 3, 4, 5],
"debug": True,
}
```
## Single Touch Panel
The older single-panel format still works:
```python
{
"name": "source_select",
"panel": dvTP,
"port": 1,
"channels": [1, 2, 3, 4, 5],
}
```
## Start MUSE
Keep this at the bottom of `index.py`:
```python
try:
context.run(globals())
except AttributeError:
context.Run(globals())
```