Mercurial > hg > syncopation-dataset
comparison Syncopation models/music_objects.py @ 18:43fa04812800
Added TimeSignature class
author | csong <csong@eecs.qmul.ac.uk> |
---|---|
date | Fri, 03 Apr 2015 18:38:10 +0100 |
parents | 4fb9c00e4ef0 |
children | b959c2acb927 |
comparison
equal
deleted
inserted
replaced
17:a5a26d2cff40 | 18:43fa04812800 |
---|---|
61 self.velocitySequence = rhythmSequence | 61 self.velocitySequence = rhythmSequence |
62 self.noteSequence = None | 62 self.noteSequence = None |
63 | 63 |
64 self.tpq = ticksPerQuarter | 64 self.tpq = ticksPerQuarter |
65 self.qpm = qpmTempo | 65 self.qpm = qpmTempo |
66 self.timeSignature = timeSignature | 66 self.timeSignature = TimeSignature(timeSignature) |
67 self.nextBar = nextBar | 67 self.nextBar = nextBar |
68 self.prevBar = prevBar | 68 self.prevBar = prevBar |
69 | 69 |
70 def get_note_sequence(self): | 70 def get_note_sequence(self): |
71 #if self.noteSequence==None: | 71 #if self.noteSequence==None: |
91 | 91 |
92 def set_previous_bar(self, bar): | 92 def set_previous_bar(self, bar): |
93 self.prevBar = bar | 93 self.prevBar = bar |
94 | 94 |
95 def get_subdivision_sequence(self): | 95 def get_subdivision_sequence(self): |
96 return ParameterSetter.get_subdivision_seq(self.timeSignature) | 96 return self.timeSignature.get_subdivision_sequence() |
97 | 97 |
98 def get_beat_level(self): | 98 def get_beat_level(self): |
99 return ParameterSetter.get_beat_level(self.timeSignature) | 99 return ParameterSetter.get_beat_level(self.timeSignature) |
100 | 100 |
101 def get_time_signature(self): | 101 def get_time_signature(self): |
103 | 103 |
104 def get_t_span(self): | 104 def get_t_span(self): |
105 # return the length of a bar in time units | 105 # return the length of a bar in time units |
106 return None # NEED TO IMPLEMENT | 106 return None # NEED TO IMPLEMENT |
107 | 107 |
108 class TimeSignature(): | |
109 def __init__(self, inputString): | |
110 if inputString in parameter_setter.readTimesig(): | |
111 self.tsString = inputString | |
112 else: | |
113 print "Error: undefined time-signature ", inputString | |
114 raise NullTimeSignatureError | |
115 | |
116 def get_subdivision_sequence(self): | |
117 return parameter_setter.timesigBase[self.tsString][0] | |
118 | |
119 def get_beat_level(self): | |
120 return parameter_setter.timesigBase[self.tsString][1] | |
121 | |
122 def get_numerator(self): | |
123 return int(self.tsString.split('/')[0]) | |
124 | |
125 def get_denominator(self): | |
126 return int(self.tsString.split('/')[1]) | |
127 | |
128 | |
129 |