public void LoadSf2(Sf2Region[] regions, AssetManager assets) { _intervalList = new PatchInterval[regions.Length]; for (int x = 0; x < regions.Length; x++) { byte loKey; byte hiKey; byte loVel; byte hiVel; if (TypeUtils.IsLittleEndian) { loKey = TypeUtils.ToUInt8(regions[x].Generators[(int)GeneratorEnum.KeyRange] & 0xFF); hiKey = TypeUtils.ToUInt8((regions[x].Generators[(int)GeneratorEnum.KeyRange] >> 8) & 0xFF); loVel = TypeUtils.ToUInt8(regions[x].Generators[(int)GeneratorEnum.VelocityRange] & 0xFF); hiVel = TypeUtils.ToUInt8((regions[x].Generators[(int)GeneratorEnum.VelocityRange] >> 8) & 0xFF); } else { hiKey = TypeUtils.ToUInt8(regions[x].Generators[(int)GeneratorEnum.KeyRange] & 0xFF); loKey = TypeUtils.ToUInt8((regions[x].Generators[(int)GeneratorEnum.KeyRange] >> 8) & 0xFF); hiVel = TypeUtils.ToUInt8(regions[x].Generators[(int)GeneratorEnum.VelocityRange] & 0xFF); loVel = TypeUtils.ToUInt8((regions[x].Generators[(int)GeneratorEnum.VelocityRange] >> 8) & 0xFF); } var sf2 = new Sf2Patch(Name + "_" + x); sf2.Load(regions[x], assets); _intervalList[x] = new PatchInterval(sf2, 0, 15, loKey, hiKey, loVel, hiVel); } DetermineIntervalType(); }
public void LoadSf2(Sf2Region[] regions, AssetManager assets) { _intervalList = new PatchInterval[regions.Length]; for (int x = 0; x < regions.Length; x++) { byte loKey; byte hiKey; byte loVel; byte hiVel; if (TypeUtils.IsLittleEndian) { loKey = TypeUtils.ToUInt8(regions[x].Generators[(int)GeneratorEnum.KeyRange] & 0xFF); hiKey = TypeUtils.ToUInt8((regions[x].Generators[(int)GeneratorEnum.KeyRange] >> 8) & 0xFF); loVel = TypeUtils.ToUInt8(regions[x].Generators[(int)GeneratorEnum.VelocityRange] & 0xFF); hiVel = TypeUtils.ToUInt8((regions[x].Generators[(int)GeneratorEnum.VelocityRange] >> 8) & 0xFF); } else { hiKey = TypeUtils.ToUInt8(regions[x].Generators[(int)GeneratorEnum.KeyRange] & 0xFF); loKey = TypeUtils.ToUInt8((regions[x].Generators[(int)GeneratorEnum.KeyRange] >> 8) & 0xFF); hiVel = TypeUtils.ToUInt8(regions[x].Generators[(int)GeneratorEnum.VelocityRange] & 0xFF); loVel = TypeUtils.ToUInt8((regions[x].Generators[(int)GeneratorEnum.VelocityRange] >> 8) & 0xFF); } var sf2 = new Sf2Patch(Name + "_" + x); sf2.Load(regions[x], assets); _intervalList[x] = new PatchInterval(sf2, 0, 15, loKey, hiKey, loVel, hiVel); } DetermineIntervalType(); }