private TGMeasureHeader readMeasureHeader(int number, TGSong song, TGTimeSignature timeSignature) throws IOException { int flags = readUnsignedByte(); TGMeasureHeader header = getFactory().newHeader(); header.setNumber(number); header.setStart(0); header.getTempo().setValue(120); header.setTripletFeel(this.tripletFeel); header.setRepeatOpen(((flags & 0x04) != 0)); if ((flags & 0x01) != 0) { timeSignature.setNumerator(readByte()); } if ((flags & 0x02) != 0) { timeSignature.getDenominator().setValue(readByte()); } timeSignature.copy(header.getTimeSignature()); if ((flags & 0x08) != 0) { header.setRepeatClose(readByte()); } if ((flags & 0x10) != 0) { header.setRepeatAlternative(parseRepeatAlternative(song, number, readUnsignedByte())); } if ((flags & 0x20) != 0) { header.setMarker(readMarker(number)); } if ((flags & 0x40) != 0) { readByte(); readByte(); } return header; }
public TGTimeSignature clone(TGFactory factory) { TGTimeSignature timeSignature = factory.newTimeSignature(); copy(timeSignature); return timeSignature; }