/** // \fn public bool UpdateTranscoder(WebradioTranscoder transcoder, bool debug, int webradioId) // // \brief Updates the transcoder. // // \author Simon Menetrey // \date 26.05.2014 // // \param transcoder The transcoder. // \param debug true to debug. // \param webradioId Identifier for the webradio. // // \return true if it succeeds, false if it fails. **/ public bool UpdateTranscoder(WebradioTranscoder transcoder, bool debug, int webradioId) { try { bool wasRunning = false; if (transcoder.IsRunning()) { wasRunning = true; transcoder.Process.Kill(); } this.Bdd.UpdateTranscoder(transcoder); transcoder.GenerateConfigFile(this.Webradios[webradioId].Playlists); if (wasRunning) transcoder.Start(debug); this.UpdateObservers(webradioId); return true; } catch { return false; } }
/** // \fn public bool DeleteTranscoder(WebradioTranscoder transcoder, int webradioId) // // \brief Deletes the transcoder. // // \author Simon Menetrey // \date 26.05.2014 // // \param transcoder The transcoder. // \param webradioId Identifier for the webradio. // // \return true if it succeeds, false if it fails. **/ public bool DeleteTranscoder(WebradioTranscoder transcoder, int webradioId) { if (transcoder.IsRunning()) transcoder.Stop(); if (this.Bdd.DeleteTranscoder(transcoder.Id)) { System.IO.File.Delete(transcoder.ConfigFilename); if (System.IO.File.Exists(transcoder.LogFilename)) System.IO.File.Delete(transcoder.LogFilename); this.Webradios[webradioId].Transcoders.Remove(transcoder); this.UpdateObservers(webradioId); return true; } else return false; }
/** // \fn private void ShowTranscoderInfos(WebradioTranscoder transcoder) // // \brief Shows the transcoder infos. // // \author Simon Menetrey // \date 23.05.2014 // // \param transcoder The transcoder. **/ private void ShowTranscoderInfos(WebradioTranscoder transcoder) { if (transcoder != null) { txbStreamNameEdit.Text = transcoder.Name; txbStreamUrlEdit.Text = transcoder.Url; txbServerIPEdit.Text = transcoder.Ip.ToString(); txbServerPasswordEdit.Text = transcoder.Password; nudPortEdit.Value = transcoder.Port; nudAdminPortEdit.Value = transcoder.AdminPort; cmbSampleRateEdit.SelectedItem = transcoder.SampleRate.ToString(); cmbBitrateEdit.SelectedItem = transcoder.Birate; cmbEncoderEdit.SelectedItem = (transcoder.StreamType == StreamType.MP3) ? "MP3" : "AAC+"; bool running = transcoder.IsRunning(); lblStatusTranscoder.Text = (running) ? "On" : "Off"; lblStatusTranscoder.ForeColor = (running) ? Color.Green : Color.Red; btnStartTranscoder.Enabled = !running; btnStopTranscoder.Enabled = running; btnNextTrack.Enabled = running; btnStartCapture.Enabled = !transcoder.Capture; btnStopCapture.Enabled = transcoder.Capture; } }