Esempio n. 1
0
        private List <Syllabe> FiltrarSilabas(List <string> elementos)
        {
            var silabas = new List <Syllabe>();

            for (var i = 0; i < elementos.Count; i++)
            {
                var elementoActual = elementos[i];
                var silaba         = new Syllabe();

                if (AssFilter.IsTagGroup(elementoActual))
                {
                    // Si es grupo {}.
                    silaba.TagGroup = new TagGroup(elementoActual);
                }
                else
                {
                    // Si es texto.
                    if (elementoActual == string.Empty)
                    {
                        goto Salida;
                    }

                    if (i == 0)
                    {
                        // Si el primer elemento es un texto, es una sílaba sin tags.
                        silaba.Text = elementoActual;
                    }
                    else
                    {
                        // Si no es el primero, sí o sí tiene un grupo antes,
                        // por tanto el texto corresponde a esa sílaba.
                        silabas[silabas.Count - 1].Text = elementoActual;
                        goto Salida;
                    }
                }

                silabas.Add(silaba);

Salida:
                continue;
            }

            return(silabas);
        }
Esempio n. 2
0
        public void FiltroAssFiltrarPropiedades()
        {
            var _tipo      = "Dialogue";
            var _capa      = "1";
            var _inicio    = "2:22:22.22";
            var _fin       = "3:33:33.33";
            var _estilo    = "Default";
            var _actor     = "Actor";
            var _efecto    = "Efecto";
            var _margenI   = "4";
            var _margenD   = "5";
            var _margenV   = "6";
            var _contenido = @"{\pos(100,0)}Con{\pos(0,0)}tenido";

            var s = @"Dialogue: 1,2:22:22.22,3:33:33.33,Default,Actor,4,5,6,Efecto,{\pos(100,0)}Con{\pos(0,0)}tenido";
            var p = AssFilter.FilterProperties(s);

            Assert.AreEqual(_tipo, p[PropertyInfo.PropiedadToString(Property.Type)].Value);

            Assert.AreEqual(_capa, p[PropertyInfo.PropiedadToString(Property.Layer)].Value);

            Assert.AreEqual(_inicio, p[PropertyInfo.PropiedadToString(Property.Start)].Value);

            Assert.AreEqual(_fin, p[PropertyInfo.PropiedadToString(Property.End)].Value);

            Assert.AreEqual(_estilo, p[PropertyInfo.PropiedadToString(Property.Style)].Value);

            Assert.AreEqual(_actor, p[PropertyInfo.PropiedadToString(Property.Actor)].Value);

            Assert.AreEqual(_efecto, p[PropertyInfo.PropiedadToString(Property.Effect)].Value);

            Assert.AreEqual(_margenI, p[PropertyInfo.PropiedadToString(Property.MarginLeft)].Value);

            Assert.AreEqual(_margenD, p[PropertyInfo.PropiedadToString(Property.MarginRight)].Value);

            Assert.AreEqual(_margenV, p[PropertyInfo.PropiedadToString(Property.MarginVertical)].Value);

            Assert.AreEqual(_contenido, p[PropertyInfo.PropiedadToString(Property.Content)].Value);
        }
Esempio n. 3
0
        public void PruebaReemplazar(string textoOriginal, string textoNuevo, Tags tagOriginal, string tagNuevo)
        {
            var resultado = AssFilter.ReplaceTag(textoOriginal, tagOriginal, tagNuevo);

            Assert.AreEqual(textoNuevo, resultado);
        }
Esempio n. 4
0
        public void FiltroAssBuscar(string texto, Tags tag, string esperado)
        {
            var resultado = AssFilter.SearchTag(texto, tag).Value;

            Assert.AreEqual(esperado, resultado);
        }
Esempio n. 5
0
        public void FuncionesTagExiste(string texto, Tags t, bool esperado)
        {
            var real = AssFilter.TagExists(texto, t);

            Assert.AreEqual(esperado, real);
        }
Esempio n. 6
0
        /// <summary>
        /// Inicializa una nueva instancia de la clase <see cref="Line"/> en base a una cadena.
        /// </summary>
        /// <param name="texto"></param>
        public Line(string texto)
        {
            // Obteniendo valores.
            var _tipo      = AssFilter.FilterProperty(texto, Property.Type);
            var _capa      = AssFilter.FilterProperty(texto, Property.Layer);
            var _inicio    = new Time(AssFilter.FilterProperty(texto, Property.Start));
            var _fin       = new Time(AssFilter.FilterProperty(texto, Property.End));
            var _estilo    = AssFilter.FilterProperty(texto, Property.Style);
            var _actor     = AssFilter.FilterProperty(texto, Property.Actor);
            var _margenI   = AssFilter.FilterProperty(texto, Property.MarginLeft);
            var _margenD   = AssFilter.FilterProperty(texto, Property.MarginRight);
            var _margenV   = AssFilter.FilterProperty(texto, Property.MarginVertical);
            var _efecto    = AssFilter.FilterProperty(texto, Property.Effect);
            var _contenido = AssFilter.FilterProperty(texto, Property.Content);

            // Verificando valores.

            // Tipo.
            if (_tipo != "Dialogue" && _tipo != "Comment")
            {
                return;
            }
            else
            {
                Type = LineTypeInfo.StringToLineType(_tipo);
            }

            // Capa.
            if (_capa == "")
            {
                Layer = 0;
            }
            else
            {
                Layer = int.Parse(_capa);
            }

            // Tiempos.
            if (_inicio.ToDouble() > _fin.ToDouble())
            {
                throw new InvalidOperationException("El tiempo de inicio de línea debe ser menor o igual al de fin.");
            }

            // Márgenes.
            if (_margenD == "")
            {
                MarginRight = 0;
            }
            else
            {
                MarginRight = int.Parse(_margenD);
            }

            if (_margenI == "")
            {
                MarginLeft = 0;
            }
            else
            {
                MarginLeft = int.Parse(_margenI);
            }

            if (_margenV == "")
            {
                MarginVertical = 0;
            }
            else
            {
                MarginVertical = int.Parse(_margenV);
            }

            // Ingresando demás valores.
            Start   = _inicio;
            End     = _fin;
            Style   = _estilo;
            Actor   = _actor;
            Effect  = _efecto;
            Content = _contenido;
        }
Esempio n. 7
0
        /// <summary>
        /// Inicializa una nueva instancia de la clase <see cref="TagGroup"/>, obteniendo los tags y el comentario existentes en el texto dado.
        /// </summary>
        /// <param name="texto">Texto con tags o comentario.</param>
        public TagGroup(string texto)
        {
            Tags = new List <string>();

            var regex = new Regex(RegularExpressions.RegexGroups);
            var match = regex.Match(texto);

            if (match.Success)
            {
                Comment = match.Groups["texto"].Value;

                var tags = match.Groups["grupo"].Value;

                if (AssFilter.TagExists(tags, Constants.Tags.A))
                {
                    TagA = new TagA(tags);
                    Tags.Add(TagA.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Alpha))
                {
                    TagAlpha = new TagAlpha(tags);
                    Tags.Add(TagAlpha.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Alpha1))
                {
                    TagAlpha1 = new TagAlpha1(tags);
                    Tags.Add(TagAlpha1.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Alpha2))
                {
                    TagAlpha2 = new TagAlpha2(tags);
                    Tags.Add(TagAlpha2.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Alpha3))
                {
                    TagAlpha3 = new TagAlpha3(tags);
                    Tags.Add(TagAlpha3.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Alpha4))
                {
                    TagAlpha4 = new TagAlpha4(tags);
                    Tags.Add(TagAlpha4.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.An))
                {
                    TagAn = new TagAn(tags);
                    Tags.Add(TagAn.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.B))
                {
                    TagB = new TagB(tags);
                    Tags.Add(TagB.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Be))
                {
                    TagBe = new TagBe(tags);
                    Tags.Add(TagBe.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Blur))
                {
                    TagBlur = new TagBlur(tags);
                    Tags.Add(TagBlur.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Bord))
                {
                    TagBord = new TagBord(tags);
                    Tags.Add(TagBord.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.BordX))
                {
                    TagBordX = new TagBordX(tags);
                    Tags.Add(TagBordX.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.BordY))
                {
                    TagBordY = new TagBordY(tags);
                    Tags.Add(TagBordY.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Clip))
                {
                    TagClip = new TagClip(tags);
                    Tags.Add(TagClip.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.ClipI))
                {
                    TagClipI = new TagClipI(tags);
                    Tags.Add(TagClipI.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Color1))
                {
                    TagColor1 = new TagColor1(tags);
                    Tags.Add(TagColor1.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Color2))
                {
                    TagColor2 = new TagColor2(tags);
                    Tags.Add(TagColor2.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Color3))
                {
                    TagColor3 = new TagColor3(tags);
                    Tags.Add(TagColor3.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Color4))
                {
                    TagColor4 = new TagColor4(tags);
                    Tags.Add(TagColor4.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Fad))
                {
                    TagFad = new TagFad(tags);
                    Tags.Add(TagFad.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Fade))
                {
                    TagFade = new TagFade(tags);
                    Tags.Add(TagFade.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Fax))
                {
                    TagFax = new TagFax(tags);
                    Tags.Add(TagFax.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Fay))
                {
                    TagFay = new TagFay(tags);
                    Tags.Add(TagFay.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Fe))
                {
                    TagFe = new TagFe(tags);
                    Tags.Add(TagFe.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Fn))
                {
                    TagFn = new TagFn(tags);
                    Tags.Add(TagFn.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Frx))
                {
                    TagFrx = new TagFrx(tags);
                    Tags.Add(TagFrx.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Fry))
                {
                    TagFry = new TagFry(tags);
                    Tags.Add(TagFry.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Frz))
                {
                    TagFrz = new TagFrz(tags);
                    Tags.Add(TagFrz.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Fs))
                {
                    TagFs = new TagFs(tags);
                    Tags.Add(TagFs.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Fscx))
                {
                    TagFscx = new TagFscx(tags);
                    Tags.Add(TagFscx.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Fscy))
                {
                    TagFscy = new TagFscy(tags);
                    Tags.Add(TagFscy.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Fsp))
                {
                    TagFsp = new TagFsp(tags);
                    Tags.Add(TagFsp.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.I))
                {
                    TagI = new TagI(tags);
                    Tags.Add(TagI.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.K))
                {
                    TagK = new TagK(tags);
                    Tags.Add(TagK.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Kf))
                {
                    TagKf = new TagKf(tags);
                    Tags.Add(TagKf.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Ko))
                {
                    TagKo = new TagKo(tags);
                    Tags.Add(TagKo.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Move))
                {
                    TagMove = new TagMove(tags);
                    Tags.Add(TagMove.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Org))
                {
                    TagOrg = new TagOrg(tags);
                    Tags.Add(TagOrg.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.P))
                {
                    TagP = new TagP(tags);
                    Tags.Add(TagP.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Pbo))
                {
                    TagPbo = new TagPbo(tags);
                    Tags.Add(TagPbo.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Pos))
                {
                    TagPos = new TagPos(tags);
                    Tags.Add(TagPos.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Q))
                {
                    TagQ = new TagQ(tags);
                    Tags.Add(TagQ.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.R))
                {
                    TagR = new TagR(tags);
                    Tags.Add(TagR.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.S))
                {
                    TagS = new TagS(tags);
                    Tags.Add(TagS.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.Shad))
                {
                    TagShad = new TagShad(tags);
                    Tags.Add(TagShad.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.ShadX))
                {
                    TagShadX = new TagShadX(tags);
                    Tags.Add(TagShadX.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.ShadY))
                {
                    TagShadY = new TagShadY(tags);
                    Tags.Add(TagShadY.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.T))
                {
                    TagT = new TagT(tags);
                    Tags.Add(TagT.ToString());
                }

                if (AssFilter.TagExists(tags, Constants.Tags.U))
                {
                    TagU = new TagU(tags);
                    Tags.Add(TagU.ToString());
                }
            }
        }