public bool Add(CasparCGItem item, int layer)
        {
            if (item != null)
            {
                string fullFilename = System.IO.Path.GetFullPath(System.IO.Path.Combine(TemplateFolder, item.TemplateIdentifier));

                if (System.IO.File.Exists(fullFilename + ".ft"))
                {
                    string dataxml  = Svt.Caspar.CGDataPair.ToXml(item.Data);
                    string template = item.TemplateIdentifier;

                    string        addRequest = AddRequestTemplate20;
                    StringBuilder request    = new StringBuilder(addRequest, dataxml.Length + addRequest.Length);
                    request.Replace("$LAYER$", layer.ToString());
                    request.Replace("$TEMPLATE$", template);
                    request.Replace("$MIXDURATION$", "0");
                    request.Replace("$PLAY$", "<true />");
                    request.Replace("$LABEL$", string.Empty);
                    request.Replace("$DATA$", dataxml);

                    InvokeFlashCall(request.ToString());
                    return(true);
                }
            }
            return(false);
        }
        public void Update(CasparCGItem item)
        {
            if (item != null)
            {
                string        dataxml       = CGDataPair.ToXml(item.Data);
                string        updateRequest = UpdateRequestTemplate20;
                StringBuilder request       = new StringBuilder(updateRequest, dataxml.Length + updateRequest.Length);
                request.Replace("$LAYER$", item.Layer.ToString());
                request.Replace("$DATA$", dataxml);

                InvokeFlashCall(request.ToString());
            }
        }