Example #1
0
		public void LoadZones(Zone[] presetZones)
		{
			// don't do the last preset, which is simply EOP
			for (int preset = 0; preset < data.Count - 1; preset++)
			{
				var p = (Preset) data[preset];
				p.Zones = new Zone[p.endPresetZoneIndex - p.startPresetZoneIndex + 1];
				Array.Copy(presetZones, p.startPresetZoneIndex, p.Zones, 0, p.Zones.Length);
			}
			// we can get rid of the EOP record now
			data.RemoveAt(data.Count - 1);
		}
Example #2
0
		public void LoadZones(Zone[] zones)
		{
			// don't do the last preset, which is simply EOP
			for (int instrument = 0; instrument < data.Count - 1; instrument++)
			{
				var i = (Instrument) data[instrument];
				i.Zones = new Zone[i.endInstrumentZoneIndex - i.startInstrumentZoneIndex + 1];
				Array.Copy(zones, i.startInstrumentZoneIndex, i.Zones, 0, i.Zones.Length);
			}
			// we can get rid of the EOP record now
			data.RemoveAt(data.Count - 1);
		}
Example #3
0
		public override object Read(BinaryReader br)
		{
			var z = new Zone();
			z.generatorIndex = br.ReadUInt16();
			z.modulatorIndex = br.ReadUInt16();
			if (lastZone != null)
			{
				lastZone.generatorCount = (ushort) (z.generatorIndex - lastZone.generatorIndex);
				lastZone.modulatorCount = (ushort) (z.modulatorIndex - lastZone.modulatorIndex);
			}
			data.Add(z);
			lastZone = z;
			return z;
		}