// ---------------------------------------------------------------------------------------- // pattern handling // /// <summary> // Play a color pattern. // Can restart if already playing, or just leave be an already playing pattern // /// </summary> /// <param name="pname">pattern name / color code to play</param> /// <returns> true if pattern was played, false if not</returns> public Boolean playPattern(string pname) { Log("playPattern:" + pname); if (pname == null) { return(false); } // if rgb hex code, just do it if (pname.StartsWith("#")) { Color c = ColorTranslator.FromHtml(pname); fadeToRGB(0.1, c); return(true); } // otherwise treat it as a color pattern name Blink1Pattern patt = null; if (patterns.TryGetValue(pname, out patt)) { patt.blink1Server = this; // just in case patt.play(); return(true); } return(false); }
// /blink1/pattern/play -- Play/test a specific color pattern static string Ublink1PatternPlay(HttpRequest request, Blink1Server blink1Server) { string pname = request.Query.Get("pname"); string statusstr = "no pattern by that name"; if (pname != null) { Blink1Pattern patt = null; if (blink1Server.patterns.TryGetValue(pname, out patt)) { patt.blink1Server = blink1Server; // justin case patt.play(); statusstr = "pattern '" + pname + "' playing"; } } Dictionary <string, object> result = new Dictionary <string, object>(); result.Add("status", statusstr); return(JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings)); }