/// <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(); }
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); }
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); } }