Example #1
0
    def update(self):
        sequences = split_array(self.sequence, 8)
        self.setFixedSize(
            get_widget_size(self._signature, len(split_array(sequences, 4))))

        self._igmeasures = [
            IGMeasure(None, s, self._signature) for s in sequences
        ]
        self._igmeasures[-1].end = True

        rects = set_array_lenght_multiple(extract_measures_rects(
            self.rect(), self._signature),
                                          len(self._igmeasures),
                                          default=None)
        for rect, igmeasure in zip(rects, self._igmeasures):
            igmeasure.set_rect(rect)

        rects = extract_rects_keyspaces(self.rect())
        self._igkeyspaces = [IGKeySpace(rect) for rect in rects]

        rects = extract_signature_rects(self.rect(), self._signature)
        self._igsignatures = [
            IGSignature(rect, self._signature) for rect in rects
        ]

        self.repaint()
Example #2
0
 def __init__(self, rect, sequence, signature):
     self.rect = rect
     self.end = False
     self.staff_lines = get_standard_staff_lines(rect) if rect else None
     self.separator = get_measure_separator(rect,
                                            self.end) if rect else None
     self.sequence = sequence
     alterations = split_array(
         get_alterations(sequence, signature.tonality), 4)
     sequences = split_array(sequence, 4)
     rects = extract_quarters_rects(rect) if rect else [None] * 2
     self.igquarters = [
         IGQuarter(r, s, a, signature.display_scale())
         for r, s, a in zip(rects, sequences, alterations)
     ]
Example #3
0
 def set_chordgrid(self, chordgrid):
     chordgrids = split_array(chordgrid, 32)
     set_array_lenght_multiple(chordgrids[-1], 32)
     staff_rects = extract_staffs_rects(self.rect, len(chordgrids))
     self.staffs = []
     for i, (chords, rect) in enumerate(zip(chordgrids, staff_rects)):
         staff = IGStaff(
             rect,
             chords,
             final=i == len(chordgrids) - 1,
             tonality=self.tonality)
         self.staffs.append(staff)
Example #4
0
def generate_measures(eighthkbnotes, tempo=None):
    eighthkbnotes = set_array_lenght_multiple(array=eighthkbnotes,
                                              multiple=8,
                                              default=[])
    eighthkbnotes_measures = split_array(eighthkbnotes, lenght=8)

    measures = ''
    for i, eighthkbnotes_measure in enumerate(eighthkbnotes_measures):
        measures += generate_measure(eighthkbnotes_measure,
                                     measure_number=i + 1,
                                     tempo=tempo)
        tempo = None
    part = RESSOURCES['part'].format(id=PIANO_PART['id'], content=measures)
    return part
Example #5
0
 def set_signature(self, signature):
     alterations = split_array(
         get_alterations(self.sequence, signature.tonality), 4)
     for a, igquarter in zip(alterations, self.igquarters):
         igquarter.set_alterations(a, signature.display_scale())