diff --git a/pyproject.toml b/pyproject.toml index cd48fe0..2c86163 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,10 @@ [project] -name = "linux-audiomixer" +name = "midimixer" version = "0.1.0" -description = "Add your description here" +description = "Software to control pipewire via MIDI" +authors = [ + { name="Melody LaFae", email="melafae@basicchaos.de" } +] readme = "README.md" requires-python = ">=3.13" dependencies = [ @@ -10,3 +13,11 @@ dependencies = [ "python-rtmidi>=1.5.8", "ruff>=0.14.0", ] +classifiers = [ + "Programming Language :: Python :: 3", + "Operating System :: Linux", +] + +[build-system] +requires = ["uv_build >= 0.9.5, <0.10.0"] +build-backend = "uv_build" diff --git a/src/midimixer/__init__.py b/src/midimixer/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/main.py b/src/midimixer/main.py old mode 100644 new mode 100755 similarity index 96% rename from main.py rename to src/midimixer/main.py index 2f2d599..7fab391 --- a/main.py +++ b/src/midimixer/main.py @@ -184,8 +184,6 @@ def set_volume(volume: int, device: str) -> None: def main(): - # TODO threading for MIDI values; - with mido.open_input("nanoKONTROL2:nanoKONTROL2 _ CTRL 28:0") as mixer: for update in mixer: midi_input = nanoKontrol2_mapping[update.control] @@ -207,13 +205,10 @@ def main(): elif midi_input.startswith("Mute") and update.value == 0: set_mute(toggle=False, device=audiomixer_mapping[midi_input]) - # TODO parsing return to dict to split inputs # TODO define mixers in config files - # TODO pipewire integration # TODO user config for audio streams # TODO running as a daemon # TODO systemctl unit file - # TODO evaluating update time of script. 1ms? 0.1ms? if __name__ == "__main__":