Example #1
0
        private void FillIOWavGroup(IOWavGroup ioWavGroup, WavGroup wavGroup)
        {
            if (wavGroup == null)
            {
                return;
            }
            var iOAliasTypes = new List <IOAliasType>();

            foreach (var pair in wavGroup.AliasTypes)
            {
                var ioAliasType = new IOAliasType
                {
                    Name = pair.Key.ToString(),
                    CanTakeFromAllPositions = pair.Value.CanTakeAllPositions
                };
                if (!ioAliasType.CanTakeFromAllPositions)
                {
                    ioAliasType.Positions = pair.Value.Positions;
                }
                iOAliasTypes.Add(ioAliasType);
            }
            ioWavGroup.AliasTypes = iOAliasTypes.ToArray();
            ioWavGroup.WavFiles   = wavGroup.Wavs.ToArray();
            ioWavGroup.Name       = wavGroup.Name;
            ioWavGroup.SkipC      = wavGroup.SkipC.ToArray();
            ioWavGroup.SkipV      = wavGroup.SkipV.ToArray();
            ioWavGroup.SkipR      = wavGroup.SkipR.ToArray();
        }
Example #2
0
        private WavGroup FillWavGroup(IOWavGroup ioWavGroup)
        {
            var aliasTypes = new Dictionary <AliasType, AliasTypeMask>();

            foreach (IOAliasType iOAliasType in ioWavGroup.AliasTypes)
            {
                var aliasType = AliasTypeResolver.Current.GetAliasType(iOAliasType.Name);
                if (aliasType != AliasType.undefined)
                {
                    aliasTypes[aliasType] = iOAliasType.CanTakeFromAllPositions ? new AliasTypeMask() : new AliasTypeMask(iOAliasType.Positions);
                }
            }
            var wavGroup = new WavGroup(ioWavGroup.Name, aliasTypes, ioWavGroup.WavFiles);

            wavGroup.SkipC = ioWavGroup.SkipC.ToList();
            wavGroup.SkipR = ioWavGroup.SkipR.ToList();
            wavGroup.SkipV = ioWavGroup.SkipV.ToList();
            return(wavGroup);
        }
Example #3
0
        private IOWavMask GetIOWavMask(WavMask wavMask)
        {
            var ioWavMask = new IOWavMask
            {
                MaxDuplicates = wavMask.MaxDuplicates
            };
            var list = new List <IOWavGroup>();

            foreach (var wavGroup in wavMask.WavGroups)
            {
                var ioWavGroup = new IOWavGroup();
                FillIOWavGroup(ioWavGroup, wavGroup);
                list.Add(ioWavGroup);
            }
            var defaultIOGroup = new IOWavGroup();

            FillIOWavGroup(defaultIOGroup, wavMask.Default);
            ioWavMask.WavGroups = list.ToArray();
            return(ioWavMask);
        }