Exemplo n.º 1
0
        /**
        // \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);
            //----
        }
Exemplo n.º 2
0
        /**
        // \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;
        }
Exemplo n.º 3
0
 /**
 // \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;
 }