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