mirror of
https://github.com/onyx-and-iris/xair-api-python.git
synced 2025-08-09 04:51:56 +00:00
Compare commits
No commits in common. "764195a4521b2e0638eb3b21ee711e047752c478" and "6e017b4afc492d6ec3f0066a2d2199a306640c32" have entirely different histories.
764195a452
...
6e017b4afc
14
CHANGELOG.md
14
CHANGELOG.md
@ -9,18 +9,8 @@ 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.4] - 2024-02-14
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Send class mixed into Strip, AuxRtn, FxRtn. May now be accessed with {Class}.send
|
|
||||||
- Sends example added
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- delay kwarg now applies to getters. See [Issue #6](https://github.com/onyx-and-iris/xair-api-python/issues/6).
|
|
||||||
|
|
||||||
## [2.2.0] - 2022-11-08
|
## [2.2.0] - 2022-11-08
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "xair-api"
|
name = "xair-api"
|
||||||
version = "2.2.5"
|
version = "2.2.4a0"
|
||||||
description = "Remote control Behringer X-Air | Midas MR mixers through OSC"
|
description = "Remote control Behringer X-Air | Midas MR mixers through OSC"
|
||||||
authors = ["onyx-and-iris <code@onyxandiris.online>"]
|
authors = ["onyx-and-iris <code@onyxandiris.online>"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
@ -25,13 +25,13 @@ class FxRtn(IFxRtn):
|
|||||||
class MainStereo(ILR):
|
class MainStereo(ILR):
|
||||||
@property
|
@property
|
||||||
def address(self) -> str:
|
def address(self) -> str:
|
||||||
return "/main/st"
|
return f"/main/st"
|
||||||
|
|
||||||
|
|
||||||
class MainMono(ILR):
|
class MainMono(ILR):
|
||||||
@property
|
@property
|
||||||
def address(self) -> str:
|
def address(self) -> str:
|
||||||
return "/main/m"
|
return f"/main/m"
|
||||||
|
|
||||||
|
|
||||||
class Matrix(ILR):
|
class Matrix(ILR):
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import abc
|
import abc
|
||||||
|
|
||||||
|
from .errors import XAirRemoteError
|
||||||
from .meta import mute_prop
|
from .meta import mute_prop
|
||||||
from .shared import EQ, GEQ, Config, Dyn, Group, Insert, Mix
|
from .shared import EQ, GEQ, Automix, Config, Dyn, Gate, Group, Insert, Mix, Preamp
|
||||||
|
|
||||||
|
|
||||||
class IBus(abc.ABC):
|
class IBus(abc.ABC):
|
||||||
|
@ -33,8 +33,8 @@ class Config(IConfig):
|
|||||||
Returns a Config class of a kind.
|
Returns a Config class of a kind.
|
||||||
"""
|
"""
|
||||||
LINKS_cls = _make_links_mixins[remote.kind.id_]
|
LINKS_cls = _make_links_mixins[remote.kind.id_]
|
||||||
MUTEGROUP_cls = type("MuteGroup", (Config.MuteGroup, cls), {})
|
MUTEGROUP_cls = type(f"MuteGroup", (Config.MuteGroup, cls), {})
|
||||||
MONITOR_cls = type("ConfigMonitor", (Config.Monitor, cls), {})
|
MONITOR_cls = type(f"ConfigMonitor", (Config.Monitor, cls), {})
|
||||||
CONFIG_cls = type(
|
CONFIG_cls = type(
|
||||||
f"Config{remote.kind}",
|
f"Config{remote.kind}",
|
||||||
(cls, LINKS_cls),
|
(cls, LINKS_cls),
|
||||||
@ -47,7 +47,7 @@ class Config(IConfig):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def address(self) -> str:
|
def address(self) -> str:
|
||||||
return "/config"
|
return f"/config"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def amixenable(self) -> bool:
|
def amixenable(self) -> bool:
|
||||||
@ -105,7 +105,7 @@ class Config(IConfig):
|
|||||||
|
|
||||||
@source.setter
|
@source.setter
|
||||||
def source(self, val: int):
|
def source(self, val: int):
|
||||||
self.setter("source", val)
|
self.setter(f"source", val)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def sourcetrim(self) -> float:
|
def sourcetrim(self) -> float:
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import abc
|
import abc
|
||||||
|
|
||||||
|
from .errors import XAirRemoteError
|
||||||
|
|
||||||
|
|
||||||
class IDCA(abc.ABC):
|
class IDCA(abc.ABC):
|
||||||
"""Abstract Base Class for DCA groups"""
|
"""Abstract Base Class for DCA groups"""
|
||||||
@ -48,7 +50,7 @@ class DCA(IDCA):
|
|||||||
|
|
||||||
@name.setter
|
@name.setter
|
||||||
def name(self, val: str):
|
def name(self, val: str):
|
||||||
self.setter("config/name", val)
|
self.setter("config/name")[0]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def color(self) -> int:
|
def color(self) -> int:
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import abc
|
import abc
|
||||||
|
|
||||||
|
from .errors import XAirRemoteError
|
||||||
from .meta import mute_prop
|
from .meta import mute_prop
|
||||||
from .shared import Config, Group, Mix
|
from .shared import EQ, GEQ, Automix, Config, Dyn, Gate, Group, Insert, Mix, Preamp
|
||||||
|
|
||||||
|
|
||||||
class IFX(abc.ABC):
|
class IFX(abc.ABC):
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
import abc
|
import abc
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
|
from .errors import XAirRemoteError
|
||||||
from .meta import mute_prop
|
from .meta import mute_prop
|
||||||
from .shared import EQ, GEQ, Config, Dyn, Insert, Mix
|
from .shared import EQ, GEQ, Automix, Config, Dyn, Gate, Group, Insert, Mix, Preamp
|
||||||
|
|
||||||
|
|
||||||
class ILR(abc.ABC):
|
class ILR(abc.ABC):
|
||||||
@ -60,4 +61,4 @@ class LR(ILR):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def address(self) -> str:
|
def address(self) -> str:
|
||||||
return "/lr"
|
return f"/lr"
|
||||||
|
@ -51,6 +51,13 @@ def float_prop(param):
|
|||||||
|
|
||||||
|
|
||||||
def geq_prop(param):
|
def geq_prop(param):
|
||||||
|
# fmt: off
|
||||||
|
opts = {
|
||||||
|
"1k": 1000, "1k25": 1250, "1k6": 1600, "2k": 2000, "3k15": 3150, "4k": 4000,
|
||||||
|
"5k": 5000, "6k3": 6300, "8k": 8000, "10k": 10000, "12k5": 12500, "16k": 16000,
|
||||||
|
"20k": 20000,
|
||||||
|
}
|
||||||
|
# fmt: on
|
||||||
param = param.replace("_", ".")
|
param = param.replace("_", ".")
|
||||||
|
|
||||||
def fget(self) -> float:
|
def fget(self) -> float:
|
||||||
|
@ -1,8 +1,21 @@
|
|||||||
import abc
|
import abc
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
|
from .errors import XAirRemoteError
|
||||||
from .meta import mute_prop
|
from .meta import mute_prop
|
||||||
from .shared import EQ, Config, Group, Mix, Preamp, Send
|
from .shared import (
|
||||||
|
EQ,
|
||||||
|
GEQ,
|
||||||
|
Automix,
|
||||||
|
Config,
|
||||||
|
Dyn,
|
||||||
|
Gate,
|
||||||
|
Group,
|
||||||
|
Insert,
|
||||||
|
Mix,
|
||||||
|
Preamp,
|
||||||
|
Send,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class IRtn(abc.ABC):
|
class IRtn(abc.ABC):
|
||||||
|
@ -481,7 +481,7 @@ class EQ:
|
|||||||
|
|
||||||
@type.setter
|
@type.setter
|
||||||
def type(self, val: int):
|
def type(self, val: int):
|
||||||
self.setter("type", val)
|
self.setter(f"type", val)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def frequency(self) -> float:
|
def frequency(self) -> float:
|
||||||
@ -528,7 +528,7 @@ class GEQ:
|
|||||||
f"slider_{param}": geq_prop(param)
|
f"slider_{param}": geq_prop(param)
|
||||||
for param in [
|
for param in [
|
||||||
"20", "25", "31_5", "40", "50", "63", "80", "100", "125",
|
"20", "25", "31_5", "40", "50", "63", "80", "100", "125",
|
||||||
"160", "200", "250", "315", "400", "500", "630", "800", "1k",
|
"160", "200", "250", "315" "400", "500", "630", "800", "1k",
|
||||||
"1k25", "1k6", "2k", "2k5", "3k15", "4k", "5k", "6k3", "8k",
|
"1k25", "1k6", "2k", "2k5", "3k15", "4k", "5k", "6k3", "8k",
|
||||||
"10k", "12k5", "16k", "20k",
|
"10k", "12k5", "16k", "20k",
|
||||||
]
|
]
|
||||||
@ -641,10 +641,10 @@ class Send:
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
@util.db_from
|
@util.db_from
|
||||||
def level(self) -> float:
|
def level(self):
|
||||||
return self.getter("level")[0]
|
return self.getter("level")[0]
|
||||||
|
|
||||||
@level.setter
|
@level.setter
|
||||||
@util.db_to
|
@util.db_to
|
||||||
def level(self, val: float):
|
def level(self, val):
|
||||||
self.setter("level", val)
|
self.setter("level", val)
|
||||||
|
@ -1,7 +1,20 @@
|
|||||||
import abc
|
import abc
|
||||||
|
|
||||||
|
from .errors import XAirRemoteError
|
||||||
from .meta import mute_prop
|
from .meta import mute_prop
|
||||||
from .shared import EQ, Automix, Config, Dyn, Gate, Group, Insert, Mix, Preamp, Send
|
from .shared import (
|
||||||
|
EQ,
|
||||||
|
GEQ,
|
||||||
|
Automix,
|
||||||
|
Config,
|
||||||
|
Dyn,
|
||||||
|
Gate,
|
||||||
|
Group,
|
||||||
|
Insert,
|
||||||
|
Mix,
|
||||||
|
Preamp,
|
||||||
|
Send,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class IStrip(abc.ABC):
|
class IStrip(abc.ABC):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user