private void button3_Click(object sender, EventArgs e) { if (casparDevice.IsConnected) { casparDevice.SendString("INFO"); string text = ""; casparDevice.RetrieveData(text); System.Diagnostics.Debug.WriteLine(DateTime.Now + ": " + text); casparDevice.RetrieveData("MY_DATA"); } }
private void cd_send_string(string action, string channel, string layer, string media, string loop) { if (layer != "") { layer = "-" + layer; } if (media != "") { //media = "\"" + media + "\""; media = media.Replace(@"\", "/"); } try { cd.SendString(action + " " + channel + layer + " " + media + " " + loop); } catch (Exception ex) { MessageBox.Show(ex.Message, "cd_send_string"); } //MessageBox.Show(action + " " + channel + layer + " " + media + " " + loop); }
public bool FadeUp(int channel, int layer, int duration, string xmlStr) { if (caspar_ == null || !caspar_.IsConnected) { return(false); } lock (this._lockServer) { var layerLoad = layer * 2; var layerMain = layerLoad + 1; var cglayer = layers.Where(o => o.Layer == layerLoad).FirstOrDefault(); if (cglayer != null) { caspar_.Channels[channel].Clear(layerMain); var cglayerOld = layers.Where(o => o.Layer == layerMain).FirstOrDefault(); if (cglayerOld != null) { layers.Remove(cglayerOld); } caspar_.Channels[channel].SetOpacity(layerMain, 0, 0, Easing.None); caspar_.Channels[channel].SetVolume(layerMain, 0, 0, Easing.None); bool fadeOk = false; if (cglayer.Type == CGType.Template) { try { CGComponentCollection components = new CGComponentCollection(); components.AddComponent("FadeUp", duration.ToString()); casparRetrieved = false; caspar_.Channels[channel].CG.Update(layerLoad, 1, toStandarXml(xmlStr)); for (int time = 0; !casparRetrieved && caspar_.IsConnected && time < timeOut_; time += 100) { Thread.Sleep(100); } if (casparRetrieved) { casparRetrieved = false; caspar_.Channels[channel].CG.Invoke(layerLoad, 1, "fadeUp"); for (int time = 0; !casparRetrieved && caspar_.IsConnected && time < timeOut_; time += 100) { Thread.Sleep(100); } if (casparRetrieved) { fadeOk = true; } } } catch { } } else { try { casparPlayed = false; caspar_.Channels[channel].Play(layerLoad); for (int time = 0; !casparPlayed && caspar_.IsConnected && time < timeOut_; timeOut_ += 100) { Thread.Sleep(100); } if (casparPlayed) { fadeOk = true; } } catch { } } if (fadeOk) { var channelID = caspar_.Channels[channel].ID; casparSwapOK = false; caspar_.SendString("SWAP " + channelID + "-" + layerLoad + " " + channelID + "-" + layerMain); for (int time = 0; !casparSwapOK && caspar_.IsConnected && time < timeOut_; timeOut_ += 100) { Thread.Sleep(100); } if (casparSwapOK) { if (cglayer.Type == CGType.Template) { caspar_.Channels[channel].SetOpacity(layerMain, 1, 0, Easing.None); } else { caspar_.Channels[channel].SetOpacity(layerMain, 1, duration / 40, Easing.None); } caspar_.Channels[channel].SetVolume(layerMain, 1, duration / 40, Easing.None); caspar_.Channels[channel].SetVolume(layerMain, 1, duration / 40, Easing.None); cglayer.Layer = layerMain; caspar_.Channels[channel].Clear(layerLoad); return(true); } } } return(false); } }