mirror of
https://github.com/onyx-and-iris/voicemeeter-api-python.git
synced 2026-04-08 16:23:30 +00:00
tomli/tomllib compatibility layer added.
Type annotation Self removed. python version requirement changed. tomli added as runtime dependency if py ver < 3.11 minor version bump.
This commit is contained in:
@@ -3,7 +3,7 @@ import time
|
||||
from abc import abstractmethod
|
||||
from functools import partial
|
||||
from threading import Thread
|
||||
from typing import Iterable, NoReturn, Optional, Self, Union
|
||||
from typing import Iterable, NoReturn, Optional, Union
|
||||
|
||||
from .cbindings import CBindings
|
||||
from .error import CAPIError, VMError
|
||||
@@ -32,7 +32,7 @@ class Remote(CBindings):
|
||||
|
||||
self.event = Event(self.subs)
|
||||
|
||||
def __enter__(self) -> Self:
|
||||
def __enter__(self):
|
||||
"""setup procedures"""
|
||||
self.login()
|
||||
self.init_thread()
|
||||
@@ -242,7 +242,9 @@ class Remote(CBindings):
|
||||
buf = ct.create_string_buffer(1024)
|
||||
res = self.vm_get_midi_message(ct.byref(buf), n)
|
||||
if res > 0:
|
||||
vals = tuple(grouper(3, (int.from_bytes(buf[i]) for i in range(res))))
|
||||
vals = tuple(
|
||||
grouper(3, (int.from_bytes(buf[i], "little") for i in range(res)))
|
||||
)
|
||||
for msg in vals:
|
||||
ch, pitch, vel = msg
|
||||
if not self.midi._channel or self.midi._channel != ch:
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
import itertools
|
||||
from pathlib import Path
|
||||
|
||||
import tomllib
|
||||
try:
|
||||
import tomllib
|
||||
except ModuleNotFoundError:
|
||||
import tomli as tomllib
|
||||
|
||||
from .kinds import request_kind_map as kindmap
|
||||
|
||||
@@ -70,7 +73,6 @@ class TOMLStrBuilder:
|
||||
|
||||
class TOMLDataExtractor:
|
||||
def __init__(self, file):
|
||||
self._data = dict()
|
||||
with open(file, "rb") as f:
|
||||
self._data = tomllib.load(f)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from abc import abstractmethod
|
||||
from enum import IntEnum
|
||||
from functools import cached_property
|
||||
from typing import Iterable, NoReturn, Self
|
||||
from typing import Iterable, NoReturn
|
||||
|
||||
from . import misc
|
||||
from .base import Remote
|
||||
@@ -51,49 +51,49 @@ class FactoryBuilder:
|
||||
name = name.split("_")[1]
|
||||
print(self._info[int(getattr(self.BuilderProgress, name))])
|
||||
|
||||
def make_strip(self) -> Self:
|
||||
def make_strip(self):
|
||||
self._factory.strip = tuple(
|
||||
strip(i < self.kind.phys_in, self._factory, i)
|
||||
for i in range(self.kind.num_strip)
|
||||
)
|
||||
return self
|
||||
|
||||
def make_bus(self) -> Self:
|
||||
def make_bus(self):
|
||||
self._factory.bus = tuple(
|
||||
bus(i < self.kind.phys_out, self._factory, i)
|
||||
for i in range(self.kind.num_bus)
|
||||
)
|
||||
return self
|
||||
|
||||
def make_command(self) -> Self:
|
||||
def make_command(self):
|
||||
self._factory.command = Command.make(self._factory)
|
||||
return self
|
||||
|
||||
def make_macrobutton(self) -> Self:
|
||||
def make_macrobutton(self):
|
||||
self._factory.button = tuple(MacroButton(self._factory, i) for i in range(80))
|
||||
return self
|
||||
|
||||
def make_vban(self) -> Self:
|
||||
def make_vban(self):
|
||||
self._factory.vban = vban(self._factory)
|
||||
return self
|
||||
|
||||
def make_device(self) -> Self:
|
||||
def make_device(self):
|
||||
self._factory.device = Device.make(self._factory)
|
||||
return self
|
||||
|
||||
def make_option(self) -> Self:
|
||||
def make_option(self):
|
||||
self._factory.option = misc.Option.make(self._factory)
|
||||
return self
|
||||
|
||||
def make_recorder(self) -> Self:
|
||||
def make_recorder(self):
|
||||
self._factory.recorder = Recorder.make(self._factory)
|
||||
return self
|
||||
|
||||
def make_patch(self) -> Self:
|
||||
def make_patch(self):
|
||||
self._factory.patch = misc.Patch.make(self._factory)
|
||||
return self
|
||||
|
||||
def make_fx(self) -> Self:
|
||||
def make_fx(self):
|
||||
self._factory.fx = misc.FX(self._factory)
|
||||
return self
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import time
|
||||
from abc import ABCMeta, abstractmethod
|
||||
from typing import Self
|
||||
|
||||
|
||||
class IRemote(metaclass=ABCMeta):
|
||||
@@ -26,7 +25,7 @@ class IRemote(metaclass=ABCMeta):
|
||||
def identifier(self):
|
||||
pass
|
||||
|
||||
def apply(self, data: dict) -> Self:
|
||||
def apply(self, data: dict):
|
||||
def fget(attr, val):
|
||||
if attr == "mode":
|
||||
return (getattr(self, attr), val, 1)
|
||||
|
||||
Reference in New Issue
Block a user