private void GetSchedule(HttpListenerResponse response) { var result = new JSON(); result.StartArray("schedule"); for (int i = 0; i < _scheduler.MediaEntries.Count; i++) { var item = (AudioCore.MediaEntry) _scheduler.MediaEntries[i]; result.StartObject(); result.Add("name", item.Name); result.Add("index", i + 1); result.Add("until", item.EndTime != TimeSpan.MaxValue ? item.EndTime.ToString() : ""); result.Add("every", item.Every != 0 ? item.Every : 0); result.Add("loops", item.RepeatCount); // B73 : changed item.RepeatCount-1 result.Add("shuffle", item.Shuffle ? "Yes" : "-"); if (item.Type == AudioCore.MediaEntry.PlayType.SpecificDate) { result.Add("time", item.PlayDate.Add(item.StartTime)); } else if (item.Type == AudioCore.MediaEntry.PlayType.DayOfWeek) { string day = ""; switch (item.PlayDay) { case DayOfWeek.Monday: day = "Monday"; break; case DayOfWeek.Tuesday: day = "Tuesday"; break; case DayOfWeek.Wednesday: day = "Wednesday"; break; case DayOfWeek.Thursday: day = "Thursday"; break; case DayOfWeek.Friday: day = "Friday"; break; case DayOfWeek.Saturday: day = "Saturday"; break; case DayOfWeek.Sunday: day = "Sunday"; break; } result.Add("time", day + "s " + item.StartTime); } else if (item.Type == AudioCore.MediaEntry.PlayType.Weekdays) { result.Add("time", "Weekdays " + item.StartTime); } else if (item.Type == AudioCore.MediaEntry.PlayType.Weekends) { result.Add("time", "Weekends " + item.StartTime); } else if (item.Type == AudioCore.MediaEntry.PlayType.Daily) { result.Add("time", "Daily " + item.StartTime); } result.EndObject(); } result.EndArray().End(); response.ContentType = "text/html"; response.ContentLength64 = result.Length; result.WriteToResponse(response); #if MF_FRAMEWORK_VERSION_V4_2 response.OutputStream.Flush(); response.OutputStream.Close(); #endif }
private void GetPlayListContent(HttpListenerRequest request, HttpListenerResponse response) { try { string[] s = request.RawUrl.Split('?'); string[] s1 = s[1].Split('&'); string[] s2 = s1[0].Split('='); string names = s2[1].ReplaceHtmlHexCodes() + ".m3u"; // "";//request.QueryString.GetValues("name"); ArrayList content = FileCore.GetPlayListContent(names); var result = new JSON(); result.StartArray("playlistContent"); foreach (PlayListContent nameValue in content) { result.StartObject(); result.Add("avail", nameValue.Available); result.Add("name", nameValue.FileName); result.Add("pause", nameValue.Pause); result.EndObject(); } result.EndArray().End(); response.ContentType = "text/html"; response.ContentLength64 = result.Length; result.WriteToResponse(response); #if MF_FRAMEWORK_VERSION_V4_2 response.OutputStream.Flush(); response.OutputStream.Close(); #endif } catch (Exception ex) { Log.WriteException(ex); } }
private void GetPlayListNames(HttpListenerResponse response) { var result = new JSON(); result.StartArray("playlist"); ArrayList fileList = FileCore.GetPlayListNames(); foreach (PlayListFileInfo plfi in fileList) { result.StartObject(); result.Add("name", plfi.ContainsSongs + ";" + plfi.FileName); result.EndObject(); } result.EndArray().End(); response.ContentType = "text/html"; response.ContentLength64 = result.Length; result.WriteToResponse(response); #if MF_FRAMEWORK_VERSION_V4_2 response.OutputStream.Flush(); response.OutputStream.Close(); #endif }
private void GetKnob(HttpListenerResponse response) { var result = new JSON(); result.StartArray("schedule"); for (int i = 0; i < _knob.KnobEntries.Count; i++) { var item = (AudioCore.MediaEntry) _knob.KnobEntries[i]; result.StartObject(); result.Add("name", item.Name); result.Add("index", i + 1); if (item.Type == AudioCore.MediaEntry.PlayType.Push) result.Add("type", "Push"); else if (item.Type == AudioCore.MediaEntry.PlayType.Loop) result.Add("type", "Loop"); else if (item.Type == AudioCore.MediaEntry.PlayType.Once) result.Add("type", "Once"); result.Add("shuffle", item.Shuffle ? "Yes" : "-"); result.EndObject(); } result.EndArray().End(); response.ContentType = "text/html"; response.ContentLength64 = result.Length; result.WriteToResponse(response); #if MF_FRAMEWORK_VERSION_V4_2 response.OutputStream.Flush(); response.OutputStream.Close(); #endif }