package com.xenoage.zong.io.musicxml.in.readers; import static com.xenoage.utils.NullUtils.notNull; import lombok.RequiredArgsConstructor; import com.xenoage.zong.core.instrument.Transpose; import com.xenoage.zong.musicxml.types.MxlTranspose; /** * Reads a {@link Transpose} from a {@link MxlTranspose}. * * @author Andreas Wenger */ @RequiredArgsConstructor public class TransposeReader { private final MxlTranspose mxlTranspose; public Transpose read() { if (mxlTranspose == null) return Transpose.noTranspose; return new Transpose(mxlTranspose.getChromatic(), mxlTranspose.getDiatonic(), notNull(mxlTranspose.getOctaveChange(), 0), mxlTranspose.isDoubleValue()); } }