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