remote is now our ABC - as it should be because it is the launching point of the interface.

it no longer inherits from CBindings.

move steps abstract method into Remote class. This is a much more meaningful abstraction - because it is the principle behaviour that distinguishes each kind of Remote.

add wrapper methods to CBindings. This provides a cleaner api for the Remote class.

import abc as namespace throughout the package.
This commit is contained in:
2026-03-15 22:02:17 +00:00
parent 84b4426e44
commit 842feb2407
8 changed files with 139 additions and 62 deletions

View File

@@ -1,5 +1,4 @@
import logging
from abc import abstractmethod
from enum import IntEnum
from functools import cached_property
from typing import Iterable
@@ -137,11 +136,6 @@ class FactoryBase(Remote):
def __str__(self) -> str:
return f'Voicemeeter {self.kind}'
@property
@abstractmethod
def steps(self):
pass
@cached_property
def configs(self):
self._configs = configs(self.kind.name)