internal SF2SampleHeader(string name, uint start, uint end, uint loopStart, uint loopEnd, uint sampleRate, byte originalKey, sbyte pitchCorrection) { SampleName = name; Start = start; End = end; LoopStart = loopStart; LoopEnd = loopEnd; SampleRate = sampleRate; OriginalKey = originalKey; PitchCorrection = pitchCorrection; SampleType = SF2SampleLink.MonoSample; }
internal SF2SampleHeader(EndianBinaryReader reader) { SampleName = reader.ReadString(20, true); Start = reader.ReadUInt32(); End = reader.ReadUInt32(); LoopStart = reader.ReadUInt32(); LoopEnd = reader.ReadUInt32(); SampleRate = reader.ReadUInt32(); OriginalKey = reader.ReadByte(); PitchCorrection = reader.ReadSByte(); SampleLink = reader.ReadUInt16(); SampleType = reader.ReadEnum <SF2SampleLink>(); }
internal SF2Sample(SF2 inSf2, string name, uint start, uint end, uint start_loop, uint end_loop, uint sample_rate, sbyte original_pitch, sbyte pitch_correction) { achSampleName = new char[20]; var temp = name.ToCharArray().Take(20).ToArray(); Buffer.BlockCopy(temp, 0, achSampleName, 0, temp.Length * 2); dwStart = start; dwEnd = end; dwStartloop = start_loop; dwEndloop = end_loop; dwSampleRate = sample_rate; byOriginalPitch = original_pitch; chPitchCorrection = pitch_correction; wSampleLink = 0; sfSampleType = SF2SampleLink.monoSample; sf2 = inSf2; }