示例#1
0
        private void OnPlayerStateChanged(object o, PlayerEngineStateArgs args)
        {
            view.QueueDraw();

            if (args.State == PlayerEngineState.Loaded && PlayerEngineCore.CurrentTrack is RadioTrackInfo)
            {
                last_loaded_track = PlayerEngineCore.CurrentTrack as RadioTrackInfo;
            }
        }
        public RadioSource(RadioPlugin plugin) : base(Catalog.GetString("Internet Radio"), 150)
        {
            this.plugin = plugin;

            stations_file = Path.Combine(Paths.UserPluginDirectory, "radio-stations.xml");

            if (!File.Exists(stations_file))
            {
                string     default_xml = Resource.GetFileContents("stations.xml");
                TextWriter writer      = new StreamWriter(stations_file);
                writer.Write(default_xml);
                writer.Close();
            }

            stations          = Stations.Load(stations_file);
            stations.Updated += delegate {
                view.QueueDraw();
            };

            store = new StationStore(stations);

            BuildInterface();
        }