mirror of
https://github.com/onyx-and-iris/xair-api-python.git
synced 2024-11-21 12:30:46 +00:00
upd docs
This commit is contained in:
parent
5eeaff2371
commit
a62a46d61a
81
CHANGELOG.md
81
CHANGELOG.md
@ -9,18 +9,25 @@ Before any major/minor/patch bump all unit tests will be run to verify they pass
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
- [ ]
|
||||
- [x] Send class mixed into Strip, AuxRtn, FxRtn. May now be accessed with {Class}.send
|
||||
- [x] Sends example added
|
||||
|
||||
## [2.2.0] - 2022-11-08
|
||||
|
||||
### Added
|
||||
|
||||
- mute prop to Bus, FX, LR, RTN, Strip classes.
|
||||
|
||||
## [2.1.0] - 2022-11-08
|
||||
|
||||
### Added
|
||||
|
||||
- delay keyword argument
|
||||
- bounds checks for vals passed to lin_set/log_set
|
||||
- delay keyword argument
|
||||
- bounds checks for vals passed to lin_set/log_set
|
||||
|
||||
### Removed
|
||||
|
||||
- type checks, prefer duck typing
|
||||
- type checks, prefer duck typing
|
||||
|
||||
## [2.0.0] - 2022-11-07
|
||||
|
||||
@ -29,76 +36,76 @@ However, a couple of changes have been made which are breaking, they are as foll
|
||||
|
||||
### Changed
|
||||
|
||||
- FX class added to fx module. This now deals with osc addresses that begin with "/fx/". Call it with mixer.fx.
|
||||
- FxRtn class added to rtn module. This now deals with addresses that begin with "/rtn/". Call it with mixer.fxreturn
|
||||
- Aux class renamed to AuxRtn in rtn module. Call it with mixer.auxreturn.
|
||||
- FX class added to fx module. This now deals with osc addresses that begin with "/fx/". Call it with mixer.fx.
|
||||
- FxRtn class added to rtn module. This now deals with addresses that begin with "/rtn/". Call it with mixer.fxreturn
|
||||
- Aux class renamed to AuxRtn in rtn module. Call it with mixer.auxreturn.
|
||||
|
||||
These changes were made to better resemble the underlying osc api and to better describe the function of the classes.
|
||||
|
||||
### Added
|
||||
|
||||
- A small number of X32 tests. More will be added. XAir tests moved into it's own test module.
|
||||
- XAirRemote lower level section added to README.
|
||||
- Links to OSC command documentation added to README.
|
||||
- A small number of X32 tests. More will be added. XAir tests moved into it's own test module.
|
||||
- XAirRemote lower level section added to README.
|
||||
- Links to OSC command documentation added to README.
|
||||
|
||||
### Removed
|
||||
|
||||
- mixer.aux was renamed to mixer.auxreturn
|
||||
- mixer.aux was renamed to mixer.auxreturn
|
||||
|
||||
## [1.1.0] - 2022-09-05
|
||||
|
||||
### Added
|
||||
|
||||
- tomli/tomllib compatibility layer to support python 3.10
|
||||
- tomli/tomllib compatibility layer to support python 3.10
|
||||
|
||||
## [1.0.2] - 2022-08-07
|
||||
|
||||
### Added
|
||||
|
||||
- now packaged with poetry
|
||||
- package added to pypi
|
||||
- pypi, isort badges added to readme
|
||||
- now packaged with poetry
|
||||
- package added to pypi
|
||||
- pypi, isort badges added to readme
|
||||
|
||||
### Changed
|
||||
|
||||
- package renamed to xair-api
|
||||
- now using tomllib for config, requires python 3.11
|
||||
- readme, example updated.
|
||||
- imports isorted.
|
||||
- package renamed to xair-api
|
||||
- now using tomllib for config, requires python 3.11
|
||||
- readme, example updated.
|
||||
- imports isorted.
|
||||
|
||||
## [0.1.0] - 2022-05-01
|
||||
|
||||
### Added
|
||||
|
||||
- kind maps for "XR16", "XR12" added.
|
||||
- get() added to kind module.
|
||||
- pre-commit.ps1 added for use with git hook.
|
||||
- tests passed badge added to readme.
|
||||
- kind maps for "XR16", "XR12" added.
|
||||
- get() added to kind module.
|
||||
- pre-commit.ps1 added for use with git hook.
|
||||
- tests passed badge added to readme.
|
||||
|
||||
### Changed
|
||||
|
||||
- readme updated to reflect changes.
|
||||
- readme updated to reflect changes.
|
||||
|
||||
### Fixed
|
||||
|
||||
- link to clone repo fixed in readme.
|
||||
- unit tests migrated from nose to pytest since nose will not be supported from python 3.10 onwards.
|
||||
- link to clone repo fixed in readme.
|
||||
- unit tests migrated from nose to pytest since nose will not be supported from python 3.10 onwards.
|
||||
|
||||
## [0.0.1] - 2022-04-05
|
||||
|
||||
### Added
|
||||
|
||||
- \_query() added to base class, allows testing a single parameter.
|
||||
- Interface entry point defined.
|
||||
- Kind map for XR18/MR18 added
|
||||
- Higher level classes (lr, strip, bus, fxsend, aux, rtn) implemented
|
||||
- Subclass mixin implemented (shared classes)
|
||||
- meta module added
|
||||
- util module added, mostly functions that perform math operations.
|
||||
- readme initial commit.
|
||||
- \_query() added to base class, allows testing a single parameter.
|
||||
- Interface entry point defined.
|
||||
- Kind map for XR18/MR18 added
|
||||
- Higher level classes (lr, strip, bus, fxsend, aux, rtn) implemented
|
||||
- Subclass mixin implemented (shared classes)
|
||||
- meta module added
|
||||
- util module added, mostly functions that perform math operations.
|
||||
- readme initial commit.
|
||||
|
||||
### Changed
|
||||
|
||||
- base class now supports context manager.
|
||||
- load ip from ini
|
||||
- unit tests initial commit. tests for shared classes added.
|
||||
- base class now supports context manager.
|
||||
- load ip from ini
|
||||
- unit tests initial commit. tests for shared classes added.
|
||||
|
176
README.md
176
README.md
@ -12,7 +12,7 @@ For an outline of past/future changes refer to: [CHANGELOG](CHANGELOG.md)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Python 3.10 or greater
|
||||
- Python 3.10 or greater
|
||||
|
||||
## Installation
|
||||
|
||||
@ -59,19 +59,19 @@ if __name__ == "__main__":
|
||||
|
||||
Currently the following devices are supported:
|
||||
|
||||
- `MR18`
|
||||
- `XR18`
|
||||
- `XR16`
|
||||
- `XR12`
|
||||
- `MR18`
|
||||
- `XR18`
|
||||
- `XR16`
|
||||
- `XR12`
|
||||
|
||||
The `X32` is partially supported. However, this document covers specifically the `XAir` series.
|
||||
|
||||
The following keyword arguments may be passed:
|
||||
|
||||
- `ip`: ip address of the mixer
|
||||
- `port`: mixer port, defaults to 10023 for x32 and 10024 for xair
|
||||
- `delay`: a delay between each command, defaults to 20ms.
|
||||
- a note about delay, stability may rely on network connection. For wired connections the delay can be safely reduced.
|
||||
- `ip`: ip address of the mixer
|
||||
- `port`: mixer port, defaults to 10023 for x32 and 10024 for xair
|
||||
- `delay`: a delay between each command (applies to the getters). Defaults to 20ms.
|
||||
- a note about delay, stability may rely on network connection. For wired connections the delay can be safely reduced.
|
||||
|
||||
## API
|
||||
|
||||
@ -149,134 +149,134 @@ For each subclass the corresponding properties are available.
|
||||
|
||||
`Config`
|
||||
|
||||
- `name`: string
|
||||
- `color`: int, from 0, 16
|
||||
- `inputsource`: int
|
||||
- `usbreturn`: int
|
||||
- `name`: string
|
||||
- `color`: int, from 0, 16
|
||||
- `inputsource`: int
|
||||
- `usbreturn`: int
|
||||
|
||||
`Preamp`
|
||||
|
||||
- `on`: bool
|
||||
- `usbtrim`: float, from -18.0 to 18.0
|
||||
- `usbinput`: bool
|
||||
- `invert`: bool
|
||||
- `highpasson`: bool
|
||||
- `highpassfilter`: int, from 20 to 400
|
||||
- `on`: bool
|
||||
- `usbtrim`: float, from -18.0 to 18.0
|
||||
- `usbinput`: bool
|
||||
- `invert`: bool
|
||||
- `highpasson`: bool
|
||||
- `highpassfilter`: int, from 20 to 400
|
||||
|
||||
`Gate`
|
||||
|
||||
- `on`: bool
|
||||
- `mode`: str, one of ('gate', 'exp2', 'exp3', 'exp4', 'duck')
|
||||
- `threshold`: float, from -80.0 to 0.0
|
||||
- `range`: int, from 3 to 60
|
||||
- `attack`: int, from 0 to 120
|
||||
- `hold`: float, from 0.02 to 2000
|
||||
- `release`: int, from 5 to 4000
|
||||
- `keysource`, from 0 to 22
|
||||
- `filteron`: bool
|
||||
- `filtertype`: int, from 0 to 8
|
||||
- `filterfreq`: float, from 20 to 20000
|
||||
- `on`: bool
|
||||
- `mode`: str, one of ('gate', 'exp2', 'exp3', 'exp4', 'duck')
|
||||
- `threshold`: float, from -80.0 to 0.0
|
||||
- `range`: int, from 3 to 60
|
||||
- `attack`: int, from 0 to 120
|
||||
- `hold`: float, from 0.02 to 2000
|
||||
- `release`: int, from 5 to 4000
|
||||
- `keysource`, from 0 to 22
|
||||
- `filteron`: bool
|
||||
- `filtertype`: int, from 0 to 8
|
||||
- `filterfreq`: float, from 20 to 20000
|
||||
|
||||
`Dyn`
|
||||
|
||||
- `on`: bool
|
||||
- `mode`: str, one of ('comp', 'exp')
|
||||
- `det`: str, one of ('peak', 'rms')
|
||||
- `env`: str, one of ('lin', 'log')
|
||||
- `threshold`: float, from -60.0 to 0.0
|
||||
- `ratio`: int, from 0 to 11
|
||||
- `knee`: int, from 0 to 5
|
||||
- `mgain`: float, from 0.0 to 24.0
|
||||
- `attack`: int, from 0 to 120
|
||||
- `hold`: float, from 0.02 to 2000
|
||||
- `release`: int, from 5 to 4000
|
||||
- `mix`: int, from 0 to 100
|
||||
- `keysource`: int, from 0 to 22
|
||||
- `auto`: bool
|
||||
- `filteron`: bool
|
||||
- `filtertype`: int, from 0 to 8
|
||||
- `filterfreq`: float, from 20 to 20000
|
||||
- `on`: bool
|
||||
- `mode`: str, one of ('comp', 'exp')
|
||||
- `det`: str, one of ('peak', 'rms')
|
||||
- `env`: str, one of ('lin', 'log')
|
||||
- `threshold`: float, from -60.0 to 0.0
|
||||
- `ratio`: int, from 0 to 11
|
||||
- `knee`: int, from 0 to 5
|
||||
- `mgain`: float, from 0.0 to 24.0
|
||||
- `attack`: int, from 0 to 120
|
||||
- `hold`: float, from 0.02 to 2000
|
||||
- `release`: int, from 5 to 4000
|
||||
- `mix`: int, from 0 to 100
|
||||
- `keysource`: int, from 0 to 22
|
||||
- `auto`: bool
|
||||
- `filteron`: bool
|
||||
- `filtertype`: int, from 0 to 8
|
||||
- `filterfreq`: float, from 20 to 20000
|
||||
|
||||
`Insert`
|
||||
|
||||
- `on`: bool
|
||||
- `sel`: int
|
||||
- `on`: bool
|
||||
- `sel`: int
|
||||
|
||||
`GEQ`
|
||||
The following method names preceded by `slider_`
|
||||
|
||||
- `20`, `25`, `31_5`, `40`, `50`, `63`, `80`, `100`, `125`, `160`,
|
||||
- `200`, `250`, `315`, `400`, `500`, `630`, `800`, `1k`, `1k25`, `1k6`, `2k`,
|
||||
- `2k5`, `3k15`, `4k`, `5k`, `6k3`, `8k`, `10k`, `12k5`, `16k`, `20k`: float, from -15.0 to 15.0
|
||||
- `20`, `25`, `31_5`, `40`, `50`, `63`, `80`, `100`, `125`, `160`,
|
||||
- `200`, `250`, `315`, `400`, `500`, `630`, `800`, `1k`, `1k25`, `1k6`, `2k`,
|
||||
- `2k5`, `3k15`, `4k`, `5k`, `6k3`, `8k`, `10k`, `12k5`, `16k`, `20k`: float, from -15.0 to 15.0
|
||||
|
||||
for example: `slider_20`, `slider_6k3` etc..
|
||||
|
||||
`EQ`
|
||||
|
||||
- `on`: bool
|
||||
- `mode`: str, one of ('peq', 'geq', 'teq')
|
||||
- `on`: bool
|
||||
- `mode`: str, one of ('peq', 'geq', 'teq')
|
||||
|
||||
For the subclasses: `low`, `low2`, `lomid`, `himid`, `high2`, `high` the following properties are available:
|
||||
|
||||
- `type`: int, from 0 to 5
|
||||
- `frequency`: float, from 20.0 to 20000.0
|
||||
- `gain`: float, -15.0 to 15.0
|
||||
- `quality`: float, from 0.3 to 10.0
|
||||
- `type`: int, from 0 to 5
|
||||
- `frequency`: float, from 20.0 to 20000.0
|
||||
- `gain`: float, -15.0 to 15.0
|
||||
- `quality`: float, from 0.3 to 10.0
|
||||
|
||||
for example: `eq.low2.type`
|
||||
|
||||
`Mix`
|
||||
|
||||
- `on`: bool
|
||||
- `fader`: float, -inf, to 10.0
|
||||
- `lr`: bool
|
||||
- `on`: bool
|
||||
- `fader`: float, -inf, to 10.0
|
||||
- `lr`: bool
|
||||
|
||||
`Group`
|
||||
|
||||
- `dca`: int, from 0 to 15
|
||||
- `mute`: int, from 0 to 15
|
||||
- `dca`: int, from 0 to 15
|
||||
- `mute`: int, from 0 to 15
|
||||
|
||||
`Automix`
|
||||
|
||||
- `group`: int, from 0 to 2
|
||||
- `weight`: float, from -12.0 to 12.0
|
||||
- `group`: int, from 0 to 2
|
||||
- `weight`: float, from -12.0 to 12.0
|
||||
|
||||
### `DCA`
|
||||
|
||||
- `on`: bool
|
||||
- `name`: str
|
||||
- `color`: int, from 0 to 15
|
||||
- `on`: bool
|
||||
- `name`: str
|
||||
- `color`: int, from 0 to 15
|
||||
|
||||
### `Config`
|
||||
|
||||
The following method names preceded by `chlink`
|
||||
|
||||
- `1_2`, `3_4`, `5_6`, `7_8`, `9_10`, `11_12`, `13_14`, `15_16`
|
||||
- `1_2`, `3_4`, `5_6`, `7_8`, `9_10`, `11_12`, `13_14`, `15_16`
|
||||
|
||||
The following method names preceded by `buslink`
|
||||
|
||||
- `1_2`, `3_4`, `5_6`
|
||||
- `1_2`, `3_4`, `5_6`
|
||||
|
||||
for example: `chlink1_2`, `buslink5_6` etc..
|
||||
|
||||
- `link_eq`: bool
|
||||
- `link_dyn`: bool
|
||||
- `link_fader_mute`: bool
|
||||
- `amixenable`: bool
|
||||
- `amixlock`: bool
|
||||
- `link_eq`: bool
|
||||
- `link_dyn`: bool
|
||||
- `link_fader_mute`: bool
|
||||
- `amixenable`: bool
|
||||
- `amixlock`: bool
|
||||
|
||||
For the subclass `monitor` the following properties are available
|
||||
|
||||
- `level`: float, -inf to 10.0
|
||||
- `source`: int, from 0 to 14
|
||||
- `sourcetrim`: float, from -18.0 to 18.0
|
||||
- `chmode`: bool
|
||||
- `busmode`: bool
|
||||
- `dim`: bool
|
||||
- `dimgain`: float, from -40.0 to 0.0
|
||||
- `mono`: bool
|
||||
- `mute`: bool
|
||||
- `dimfpl`: bool
|
||||
- `level`: float, -inf to 10.0
|
||||
- `source`: int, from 0 to 14
|
||||
- `sourcetrim`: float, from -18.0 to 18.0
|
||||
- `chmode`: bool
|
||||
- `busmode`: bool
|
||||
- `dim`: bool
|
||||
- `dimgain`: float, from -40.0 to 0.0
|
||||
- `mono`: bool
|
||||
- `mute`: bool
|
||||
- `dimfpl`: bool
|
||||
|
||||
for example: `config.monitor.chmode`
|
||||
|
||||
@ -284,7 +284,7 @@ for example: `config.monitor.chmode`
|
||||
|
||||
tuple containing a class for each mute group
|
||||
|
||||
- `on`: bool, from 0 to 3
|
||||
- `on`: bool, from 0 to 3
|
||||
|
||||
for example: `config.mute_group[0].on = True`
|
||||
|
||||
@ -292,7 +292,7 @@ for example: `config.mute_group[0].on = True`
|
||||
|
||||
Send an OSC command directly to the mixer
|
||||
|
||||
- `send(osc command, value)`
|
||||
- `send(osc command, value)`
|
||||
|
||||
for example:
|
||||
|
||||
@ -303,7 +303,7 @@ mixer.send("/bus/2/config/name", "somename")
|
||||
|
||||
Query the value of a command:
|
||||
|
||||
- `query(osc command)`
|
||||
- `query(osc command)`
|
||||
|
||||
for example:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user