Compare commits

...

2 Commits

Author SHA1 Message Date
deb298537f add ruff + publish actions 2026-02-01 22:27:10 +00:00
f963997f35 fixes bug with {EQ}.quality, it should use an invertic log scale.
patch bump
2026-02-01 21:39:19 +00:00
4 changed files with 103 additions and 35 deletions

53
.github/workflows/publish.yml vendored Normal file
View File

@ -0,0 +1,53 @@
name: Publish to PyPI
on:
release:
types: [published]
push:
tags:
- 'v*.*.*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install Poetry
run: |
pip install poetry==2.3.1
poetry --version
- name: Build package
run: |
poetry install --only-root
poetry build
- uses: actions/upload-artifact@v4
with:
name: dist
path: ./dist
pypi-publish:
needs: build
name: Upload release to PyPI
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/xair-api
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v4
with:
name: dist
path: ./dist
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: ./dist

19
.github/workflows/ruff.yml vendored Normal file
View File

@ -0,0 +1,19 @@
name: Ruff
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/ruff-action@v3
with:
args: 'format --check --diff'

View File

@ -1,20 +1,18 @@
[project] [project]
name = "xair-api" name = "xair-api"
version = "2.4.1" version = "2.4.2"
description = "Remote control Behringer X-Air | Midas MR mixers through OSC" description = "Remote control Behringer X-Air | Midas MR mixers through OSC"
authors = [ authors = [{ name = "Onyx and Iris", email = "code@onyxandiris.online" }]
{name = "Onyx and Iris",email = "code@onyxandiris.online"} license = { text = "MIT" }
]
license = {text = "MIT"}
readme = "README.md" readme = "README.md"
requires-python = ">=3.10" requires-python = ">=3.10"
dependencies = [ dependencies = [
"python-osc (>=1.9.3,<2.0.0)", "python-osc (>=1.9.3,<2.0.0)",
"tomli (>=2.0.1,<3.0) ; python_version < '3.11'" "tomli (>=2.0.1,<3.0) ; python_version < '3.11'",
] ]
[tool.poetry.requires-plugins] [tool.poetry.requires-plugins]
poethepoet = "^0.32.1" poethepoet = "^0.35.0"
[tool.poetry.group.dev.dependencies] [tool.poetry.group.dev.dependencies]
pytest = "^8.3.4" pytest = "^8.3.4"
@ -62,27 +60,27 @@ legacy_tox_ini = """
[tool.ruff] [tool.ruff]
exclude = [ exclude = [
".bzr", ".bzr",
".direnv", ".direnv",
".eggs", ".eggs",
".git", ".git",
".git-rewrite", ".git-rewrite",
".hg", ".hg",
".mypy_cache", ".mypy_cache",
".nox", ".nox",
".pants.d", ".pants.d",
".pytype", ".pytype",
".ruff_cache", ".ruff_cache",
".svn", ".svn",
".tox", ".tox",
".venv", ".venv",
"__pypackages__", "__pypackages__",
"_build", "_build",
"buck-out", "buck-out",
"build", "build",
"dist", "dist",
"node_modules", "node_modules",
"venv", "venv",
] ]
# Same as Black. # Same as Black.
@ -137,7 +135,4 @@ docstring-code-line-length = "dynamic"
max-complexity = 10 max-complexity = 10
[tool.ruff.lint.per-file-ignores] [tool.ruff.lint.per-file-ignores]
"__init__.py" = [ "__init__.py" = ["E402", "F401"]
"E402",
"F401",
]

View File

@ -525,7 +525,8 @@ class EQ:
@property @property
def quality(self) -> float: def quality(self) -> float:
retval = util.log_get(0.3, 10, self.getter('q')[0]) raw_value = self.getter('q')[0]
retval = util.log_get(0.3, 10, 1.0 - raw_value)
return round(retval, 1) return round(retval, 1)
@quality.setter @quality.setter
@ -534,7 +535,7 @@ class EQ:
self.logger.warning( self.logger.warning(
f'quality got {val}, expected value in range 0.3 to 10.0' f'quality got {val}, expected value in range 0.3 to 10.0'
) )
self.setter('q', util.log_set(0.3, 10, val)) self.setter('q', 1.0 - util.log_set(0.3, 10, val))
class GEQ: class GEQ: