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
        }