Skip to content

Commit

Permalink
[dsp] Add AudioParameterBool
Browse files Browse the repository at this point in the history
  • Loading branch information
tobiashienzsch committed May 21, 2021
1 parent 2776bcd commit 9eb0724
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 8 deletions.
4 changes: 2 additions & 2 deletions dsp/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'''Audio DSP utility classes and functions
'''
from .parameter import AudioProcessorParameter
from .parameter import AudioParameter, AudioParameterBool


__all__ = ['AudioProcessorParameter', ]
__all__ = ['AudioParameter', 'AudioParameterBool']
32 changes: 30 additions & 2 deletions dsp/parameter.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
import abc


class AudioProcessorParameter:
class AudioParameter:
'''Base class for all parameter types
'''

def __init__(self, identifier: str, name: str) -> None:
def __init__(self, identifier: str, name: str):
self._identifier = identifier
self._name = name

Expand All @@ -28,3 +28,31 @@ def name(self) -> str:
def value(self):
'''Returns the current value
'''

@property
@abc.abstractmethod
def default_value(self):
'''Returns the default value
'''


class AudioParameterBool(AudioParameter):
'''Parameter of type bool
'''

def __init__(self, identifier: str, name: str, default_val: bool):
super().__init__(identifier, name)
self._value = default_val
self._default_value = default_val

@property
def value(self):
'''Returns the current value
'''
return self._value

@property
def default_value(self):
'''Returns the default value
'''
return self._default_value
2 changes: 1 addition & 1 deletion examples/parameter.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import dsp

print(dsp.AudioProcessorParameter('test', 'Test'))
print(dsp.AudioParameter('test', 'Test'))
15 changes: 12 additions & 3 deletions tests/test_parameter.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# pylint: skip-file
import pytest

from dsp import AudioProcessorParameter
import dsp


@pytest.mark.parametrize("test_case, expected", [
Expand All @@ -11,7 +11,7 @@
('baz', 'baz'),
])
def test_effect_parameter_identifier(test_case, expected):
param = AudioProcessorParameter(test_case, '')
param = dsp.AudioParameter(test_case, '')
assert param.identifier == expected


Expand All @@ -22,5 +22,14 @@ def test_effect_parameter_identifier(test_case, expected):
('baz', 'baz'),
])
def test_effect_parameter_name(test_case, expected):
param = AudioProcessorParameter('', test_case)
param = dsp.AudioParameter('', test_case)
assert param.name == expected


@pytest.mark.parametrize("test_case, expected", [
(False, False),
(False, False),
])
def test_effect_bool_parameter_value(test_case, expected):
param = dsp.AudioParameterBool('id', 'name', test_case)
assert param.value == expected

0 comments on commit 9eb0724

Please sign in to comment.