/** // \fn public void UpdateView() // // \brief Updates the view. // // \author Simon Menetrey // \date 23.05.2014 **/ public void UpdateView() { int index; Webradio webradio = this.Controller.GetWebradio(this.IdWebradio); this.NameWebradio = webradio.Name; this.Text = "WebradioManager - " + this.NameWebradio; txbWebradioName.Text = this.NameWebradio; lblWebradioTitle.Text = this.NameWebradio; cmbTypePlaylist.SelectedIndex = 0; cmbTypePlaylistGenerate.SelectedIndex = 0; //LIBRARY dgvMusics.Rows.Clear(); dgvAds.Rows.Clear(); List<AudioFile> audiofiles = this.Controller.GetLibrary(); foreach (AudioFile file in audiofiles) { if (file is Music) dgvMusics.Rows.Add(file.GetInfosArray()); else if (file is Ad) dgvAds.Rows.Add(file.GetInfosArray()); } txbSearchAd.Text = (txbSearchAd.Text != DEFAULT_SEARCH_STRING) ? txbSearchAd.Text : DEFAULT_SEARCH_STRING; txbSearchMusic.Text = (txbSearchMusic.Text != DEFAULT_SEARCH_STRING) ? txbSearchMusic.Text : DEFAULT_SEARCH_STRING; this.txbSearchTextChanged(txbSearchAd, new EventArgs()); this.txbSearchTextChanged(txbSearchMusic, new EventArgs()); //---- //PLAYLIST lblPlaylistDuration.Text = ""; cmbPlaylistsMusic.Items.Clear(); cmbPlaylistsAd.Items.Clear(); cmbPlaylistEvent.Items.Clear(); lsbPlaylistsAd.Items.Clear(); lsbPlaylistsMusic.Items.Clear(); dgvPlaylistContent.Rows.Clear(); cmbPlaylistEvent.Items.AddRange(webradio.Playlists.ToArray()); foreach (Playlist playlist in webradio.Playlists) { if (playlist is PlaylistMusic) { cmbPlaylistsMusic.Items.Add(playlist); lsbPlaylistsMusic.Items.Add(playlist); } else if (playlist is PlaylistAd) { cmbPlaylistsAd.Items.Add(playlist); lsbPlaylistsAd.Items.Add(playlist); } } if (cmbPlaylistsAd.Items.Count > 0) cmbPlaylistsAd.SelectedIndex = 0; if (cmbPlaylistsMusic.Items.Count > 0) cmbPlaylistsMusic.SelectedIndex = 0; if (cmbPlaylistEvent.Items.Count > 0) cmbPlaylistEvent.SelectedIndex = 0; lsbPlaylistsAd.SelectedIndex = -1; lsbPlaylistsMusic.SelectedIndex = -1; //---- //GENDER List<string> gender = this.Controller.GetGenders(); cmbGenderGenerate.Items.Clear(); cmbGenderGenerate.Items.AddRange(gender.ToArray()); if (cmbGenderGenerate.Items.Count > 0) cmbGenderGenerate.SelectedIndex = 0; //---- //EVENTS this.EventsCalendar.Clear(); dvwTimetable.Refresh(); dvwTimetable.Invalidate(); foreach (CalendarEvent ev in webradio.Calendar.Events) { DayWeek dw = ev.GetSelectedDays(); bool[] days = dw.ToArray(); for (int i = 0; i < 7; i++) { if (days[i]) { EventAppointment m_Appointment = new EventAppointment(); m_Appointment.StartDate = new DateTime(dvwTimetable.StartDate.Year, dvwTimetable.StartDate.Month, (i + 1), ev.StartTime.Hours, ev.StartTime.Minutes, ev.StartTime.Seconds); m_Appointment.EndDate = m_Appointment.StartDate.Add(ev.Duration); m_Appointment.Title = ev.Name + "(" + ev.Priority.ToString() + ")\r\n " + ev.Playlist.Name + "\r\n Shuffle : " + ((ev.Shuffle) ? "True" : "False"); if (ev.Playlist.Type == AudioType.Music) { m_Appointment.BorderColor = Color.Blue; //m_Appointment.Color = Color.Blue; } else { m_Appointment.BorderColor = Color.Red; //m_Appointment.Color = Color.Red; } m_Appointment.Playlist = ev.Playlist; m_Appointment.EventObject = ev; this.EventsCalendar.Add(m_Appointment); } } } //---- //TRANSCODERS index = lsbTranscoders.SelectedIndex; lsbTranscoders.Items.Clear(); lsbTranscoders.Items.AddRange(webradio.Transcoders.ToArray()); lsbTranscoders.SelectedIndex = (index >= lsbTranscoders.Items.Count)?-1:index; cmbBitrate.Items.Clear(); index = cmbBitrateEdit.SelectedIndex; cmbBitrateEdit.Items.Clear(); foreach (int bitrate in WebradioTranscoder.AvaliableBitrates) { cmbBitrate.Items.Add((bitrate / 1000)); cmbBitrateEdit.Items.Add((bitrate / 1000)); } cmbBitrate.SelectedIndex = 0; cmbBitrateEdit.SelectedIndex = index; cmbSampleRate.Items.Clear(); index = cmbSampleRateEdit.SelectedIndex; cmbSampleRateEdit.Items.Clear(); foreach (int samplerate in WebradioTranscoder.AvaliableSampleRates) { cmbSampleRate.Items.Add(samplerate.ToString()); cmbSampleRateEdit.Items.Add(samplerate.ToString()); } cmbSampleRate.SelectedIndex = 0; cmbSampleRateEdit.SelectedIndex = index; cmbEncoder.SelectedIndex = 0; lsbStatus.Items.Clear(); dgvCurrentTracks.Rows.Clear(); foreach (WebradioTranscoder transcoder in webradio.Transcoders) { lsbStatus.Items.Add(transcoder.Name + " : " + ((transcoder.IsRunning()) ? "On" : "Off")); if (transcoder.IsRunning()) { AudioFile file = this.Controller.GetAudioFileByFilename(transcoder.CurrentTrack); if (file != null) { string[] values = new string[] { transcoder.Name, file.Title, file.Artist, file.Album }; dgvCurrentTracks.Rows.Add(values); } } } //---- //SERVER nudPortServer.Value = webradio.Server.Port; txbLocalServerPassword.Text = webradio.Server.Password; txbLocalServerAdminPassword.Text = webradio.Server.AdminPassword; nudMaxListener.Value = webradio.Server.MaxListener; bool running = webradio.Server.IsRunning(); lblStatusServer.Text = (running) ? "On" : "Off"; lblStatusServer.ForeColor = (running) ? Color.Green : Color.Red; btnStartServer.Enabled = (running) ? false : true; btnStopServer.Enabled = (running) ? true : false; if (webradio.Server.Stats != null) this.ShowServerStats(webradio.Server.Stats); //---- }
/** // \fn private List<EventAppointment> GetAllRelatedAppointment(EventAppointment app) // // \brief Gets all related appointment to an event. // // \author Simon Menetrey // \date 23.05.2014 // // \param app The application. // // \return all related appointment. **/ private List<EventAppointment> GetAllRelatedAppointment(EventAppointment app) { List<EventAppointment> eventList = new List<EventAppointment>(); foreach (EventAppointment tmp in this.EventsCalendar) { if (tmp.EventObject.Id == app.EventObject.Id) eventList.Add(tmp); } return eventList; }
/** // \fn private bool CheckMovePossible(EventAppointment app) // // \brief Check move possible for an appointment. // // \author Simon Menetrey // \date 23.05.2014 // // \param app The application. // // \return true if it succeeds, false if it fails. **/ private bool CheckMovePossible(EventAppointment app) { bool result = true; foreach (EventAppointment ev in this.EventsCalendar) { if (ev.EventObject.Id == app.EventObject.Id && ev != app) { if (ev.StartDate.DayOfWeek == app.StartDate.DayOfWeek) { result = false; break; } } } return result; }