Example #1
0
	public MainWindow() : base(Gtk.WindowType.Toplevel) {
		Build();

		notebook.CurrentPage = 1;
		volume.Percentage = 70;

		Gdk.Color bk = new Gdk.Color(17, 118, 207);
		Gdk.Color fg = new Gdk.Color(255, 255, 255);
		this.ModifyBg(StateType.Normal, bk);
		this.ModifyFg(StateType.Normal, fg);
		ctlArtwork.ModifyBg(StateType.Normal, bk);
		ctlArtwork.ModifyFg(StateType.Normal, fg);
		ctlDrawingMeta.ModifyBg(StateType.Normal, bk);
		ctlDrawingMeta.ModifyFg(StateType.Normal, fg);
		drawWiFi.ModifyBg(StateType.Normal, bk);
		drawWiFi.ModifyFg(StateType.Normal, fg);
		eventLeft.ModifyBg(StateType.Normal, bk);
		eventLeft.ModifyFg(StateType.Normal, fg);
		eventRight.ModifyBg(StateType.Normal, bk);
		eventRight.ModifyFg(StateType.Normal, fg);
		analogclock.ModifyBg(StateType.Normal, bk);
		analogclock.ModifyFg(StateType.Normal, fg);
		notebook.ModifyBg(StateType.Normal, bk);
		notebook.ModifyFg(StateType.Normal, fg);
		notebook.ModifyBg(StateType.Active, bk);
		notebook.ModifyFg(StateType.Active, fg);
		volume.ModifyBg(StateType.Normal, bk);
		volume.ModifyFg(StateType.Normal, fg);
		labelClockInfo.ModifyBg(StateType.Normal, bk);
		labelClockInfo.ModifyFg(StateType.Normal, fg);
		labelClockInfo.ModifyFont(Pango.FontDescription.FromString("Serif 12"));
		weatherview.ChangeColors(fg, bk);

		loadImages();

		wordList = new List<string>();
		if (File.Exists("missing_words.txt")) {
			FileStream file = new FileStream("missing_words.txt", FileMode.Open, FileAccess.Read);
			StreamReader reader = new StreamReader(file);
			string line = reader.ReadLine();
			while (line != null) {
				wordList.Add(line);
				line = reader.ReadLine();
			}
			reader.Close();
			reader.Dispose();
			file.Close();
			file.Dispose();
		}

		clockEvents = new EventList();
		clockEvents.Load();
		Console.WriteLine("Events ******************");
		foreach (EventItem item in clockEvents.Events) {
			Console.WriteLine("  " + item.Name);
		}
		Console.WriteLine("*************************");
		Console.WriteLine("Loaded " + clockEvents.Events.Count + " events");
		clockAlarms = new AlarmList();
		clockAlarms.Load();
		Console.WriteLine("Alarms ******************");
		foreach (AlarmItem item in clockAlarms.Alarms) {
			Console.WriteLine("  " + item.Name);
		}
		Console.WriteLine("*************************");
		Console.WriteLine("Loaded " + clockAlarms.Alarms.Count + " alarms");

		wireless = new WirelessWrapper();
		wireless.Status += Wireless_Status;

		network = new NetworkWorker();
		network.Start();

		findArtwork = new FindArtwork();
		volumeService = new VolumeService();

		stations = new List<StationInfo>();
		stations.Add(null);
		LoadStations();

		ttsRecordings = new TTSRecordings();
		ttsRecordings.MissingWords += TtsRecordings_MissingWords;
		ttsRecordings.Status += TtsRecordings_Status;

		player = new SoundPlayer();

		radio = new RadioPlayer();
		radio.MetadataReceived += Player_MetadataReceived;

		recognizer = new SpeechRecognition();
		recognizer.StatusChanged += Recognizer_StatusChanged;
		recognizer.Recognized += Recognizer_Recognized;
		//recognizer.LogMessage += Recognizer_LogMessage;
		Console.WriteLine("Starting recognizer");
		recognizer.Start();

		analogclock.TimeChanged += Analogclock_TimeChanged;

		intercomView.Start();
		timedimage.Start();

		timer = new Timer(new TimerCallback(timerTick));
		timer.Change(250, 250);

		background = new Timer(new TimerCallback(backgroundTick));
		background.Change(2000, 2000);
	}
 public NetworkWorker()
 {
     wireless = new WirelessWrapper();
     IpAddress = "";
     WiFi = null;
 }