Added beat to events
This commit is contained in:
@ -46,9 +46,10 @@ class Meta:
|
||||
elif getattr(self, key) is None:
|
||||
local_value = self.local_options.get(key, False)
|
||||
if local_value:
|
||||
setattr(self, key, local_value)
|
||||
else:
|
||||
setattr(self, key, value)
|
||||
value = local_value
|
||||
setattr(self, key, value)
|
||||
if key == "duration":
|
||||
setattr(self, "beat", value * 4)
|
||||
|
||||
def dict(self):
|
||||
"""Returns safe dict from the dataclass"""
|
||||
@ -132,11 +133,16 @@ class Event(Item):
|
||||
"""Abstract class for events with duration"""
|
||||
|
||||
duration: float = field(default=None)
|
||||
beat: float = field(default=None)
|
||||
|
||||
def get_duration(self):
|
||||
"""Getter for duration"""
|
||||
return self.duration
|
||||
|
||||
def get_beat(self):
|
||||
"""Getter for beat"""
|
||||
return self.beat
|
||||
|
||||
|
||||
@dataclass
|
||||
class Rest(Event):
|
||||
@ -171,7 +177,6 @@ class Pitch(Event):
|
||||
key: str = field(default=None)
|
||||
scale: str | list = field(default=None)
|
||||
freq: float = field(default=None)
|
||||
beat: float = field(default=None)
|
||||
|
||||
def __post_init__(self):
|
||||
super().__post_init__()
|
||||
@ -198,10 +203,6 @@ class Pitch(Event):
|
||||
"""Getter for octave"""
|
||||
return self.octave
|
||||
|
||||
def get_beat(self):
|
||||
"""Getter for beat"""
|
||||
return self.beat
|
||||
|
||||
def get_pitch_class(self):
|
||||
"""Getter for pitche"""
|
||||
return self.pitch_class
|
||||
|
||||
Reference in New Issue
Block a user