54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
import math
|
|
from timestamp import formatTimeStamp
|
|
|
|
class Metronome:
|
|
bpm = 0
|
|
volume = 0
|
|
meter=1
|
|
name=''
|
|
play=''
|
|
pmode =''
|
|
startTs =0
|
|
stopTs = 0
|
|
ticks = 0
|
|
|
|
def __init__(self, ticks, bpm, tStart, tStop, vol, pmode, name="default",play='mono', meter = 1):
|
|
self.ticks = ticks
|
|
self.bpm = bpm
|
|
self.startTs = tStart
|
|
self.stopTs = tStop
|
|
self.volume = vol
|
|
self.meter = meter
|
|
self.pmode = pmode
|
|
self.name = name
|
|
self.play = play
|
|
|
|
def doesTimeOverlap(self, other):
|
|
if(self.startTs < other.startTs):
|
|
return self.stopTs > other.startTs
|
|
return other.stopTs > self.startTs
|
|
|
|
def generateStart(self):
|
|
dt={}
|
|
dt['ts'] = formatTimeStamp(self.startTs)
|
|
dt['action']='start'
|
|
dt['bpm'] = self.bpm
|
|
dt['vol'] = self.volume
|
|
dt['mode'] = self.pmode
|
|
dt['name'] = self.name
|
|
dt['meter'] = self.meter
|
|
dt['sound'] = self.pmode
|
|
dt['ticks'] = self.ticks
|
|
return dt
|
|
|
|
def generateStop(self):
|
|
dt={}
|
|
dt['ts'] = formatTimeStamp(self.stopTs)
|
|
dt['action']='stop'
|
|
dt['ticks'] = self.ticks
|
|
return dt
|
|
|
|
def setMeter(self,meter):
|
|
self.meter = meter
|
|
|