/// <summary>
        /// Import all Details (Countrys, Citys ...)
        /// </summary>
        private static void FillAllLists()
        {
            StreamList = WebradioHome.StreamList;

            if (StreamList.Count == 0)
            {
                StreamList = MyStreams.Read(StreamlistUpdate.StreamListFile).Streams;
            }

            foreach (var ms in StreamList)
            {
                // Add Countrys
                if (ms.Country != "" & !CounList.Contains(ms.Country))
                {
                    CounList.Add(ms.Country);
                }

                // Add Citys
                if (ms.City != "" & !CityList.Contains(ms.City))
                {
                    CityList.Add(ms.City);
                }

                // Add Bitrate
                if (ms.StreamUrls[0].Bitrate != "")
                {
                    var br = ms.StreamUrls[0].Bitrate.Replace(" kbps", "").PadLeft(3, '0');
                    if (!BitrList.Contains(br))
                    {
                        BitrList.Add(br);
                    }
                }

                // Add Genres
                var split = ms.Genres.Split(',');
                foreach (var s in split.Where(s => s.Trim() != "" & !GenrList.Contains(s.Trim())))
                {
                    GenrList.Add(s.Trim());
                }
            }

            CounList.Sort();
            CityList.Sort();
            BitrList.Sort();
            GenrList.Sort();
            FillAllItemsList();
        }
Example #2
0
        public void Init()
        {
            ClearFanart();

            // if no Streamlist found, load a new List from Web
            if (!StreamlistUpdate.StreamListExists())
            {
                WebradioDlgLoadUpdate.LoadSenderListe();
                return; // Update runs async
            }

            DefaultImage = "DefaultLogo.png";
            StreamlistUpdate.CheckUpdate();
            var ms = MyStreams.Read(StreamlistUpdate.StreamListFile);

            StreamList = ms.Streams;
            FillItemList(StreamList);
        }
Example #3
0
        public override void CloseStream(string name)
        {
            if (Streams.ContainsKey(name))
            {
                Stream          stream = Streams[name];
                TemporaryStream temp   = stream as TemporaryStream;
                if (temp != null && MyStreams.ContainsValue(stream))
                {
                    temp.ClosePersist();
                }
                else if (StreamOwnership)
                {
                    stream.Close();
                }
                else
                {
                    return;
                }

                Streams.Remove(name);
            }
        }