コード例 #1
0
ファイル: Mp3Encode.cs プロジェクト: shferguson/mp3encode
        private void encodingBackgroundWorkder_DoWork(object sender, DoWorkEventArgs e)
        {
            LameInterface lame = (LameInterface)e.Argument;

            lame.EncodingProgress += new EncodingProgressEventHandler(lame_EncodingProgress);
            lame.Encode();
        }
コード例 #2
0
        private void Mp3Encode_Load(object sender, EventArgs e)
        {
            // Always default to this year
            year.Value = DateTime.Now.Year;

            // Load the list of Genre's before restoring settings, or else
            // we can't restore the last used Genre
            genre.Items.AddRange(LameInterface.GetGenreList().ToArray());

            samplingRate.Items.Add("(Automatic)");
            List <decimal> sortedSamplingRate = LameInterface.ValidSamplingRates.ToList();

            sortedSamplingRate.Sort();
            sortedSamplingRate.ForEach(rate => samplingRate.Items.Add(rate.ToString("0.000")));

            if (samplingRate.Text == string.Empty)
            {
                samplingRate.Text = samplingRate.Items[0].ToString();
            }

            // Call the scroll event handler directly to update the scroll data
            qualityTrackBar_Scroll(encodingTrackBar, EventArgs.Empty);

            profileList.DataSource    = userSettings.GetAllRecordingSettings();
            profileList.ValueMember   = "Id";
            profileList.DisplayMember = "Name";

            RestoreSettings();
        }
コード例 #3
0
        private void encodingBackgroundWorkder_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (closeAfterEncoding)
            {
                Close();
                return;
            }

            if (e.Error == null)
            {
                progressBar.Value = 100;
                MessageBox.Show(this, "Encoding Complete", this.Text);
            }
            else
            {
                MessageBox.Show(this, e.Error.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            progressBar.Value    = 0;
            cancelButton.Visible = false;
            encodeButton.Visible = true;
            tabControl.Enabled   = true;

            progressBar.Visible    = false;
            encodingStatus.Visible = false;
            canceling = false;

            lame = null;
        }
コード例 #4
0
ファイル: Mp3Encode.cs プロジェクト: shferguson/mp3encode
        private void Mp3Encode_Load(object sender, EventArgs e)
        {
            year.Value = DateTime.Now.Year;
            genre.Items.AddRange(LameInterface.GetGenreList().ToArray());

            RestoreSettings();
            if (samplingRate.Text == string.Empty)
            {
                samplingRate.Text = samplingRate.Items[0].ToString();
            }

            qualityTrackBar_Scroll(encodingTrackBar, EventArgs.Empty);
        }
コード例 #5
0
ファイル: Mp3Encode.cs プロジェクト: shferguson/mp3encode
        private void encodeButton_Click(object sender, EventArgs e)
        {
            lame = new LameInterface();

            lame.InputFile  = inputFile.Text;
            lame.OutputFile = Path.ChangeExtension(inputFile.Text, ".mp3");

            if (quality.Checked)
            {
                lame.EncodingType = EncodingType.Quality;
                lame.Quality      = 9 - encodingTrackBar.Value;
            }
            else if (averageBitrate.Checked)
            {
                lame.EncodingType   = EncodingType.AverageBitRate;
                lame.AverageBitRate = decimal.Parse(LameInterface.ValidBitRates[encodingTrackBar.Value]);
            }
            else if (constantBitrate.Checked)
            {
                lame.EncodingType = EncodingType.ConstantBitRate;
                lame.BitRate      = decimal.Parse(LameInterface.ValidBitRates[encodingTrackBar.Value]);
            }

            lame.MonoMode = monoMode.Checked;

            lame.Artist = artist.Text;
            lame.Title  = title.Text;
            lame.Album  = album.Text;
            lame.Year   = (int)year.Value;

            lame.Genre   = genre.Text;
            lame.Comment = comment.Text;

            if (samplingRate.Text != samplingRate.Items[0].ToString())
            {
                lame.SamplingRate = decimal.Parse(samplingRate.Text);
            }

            cancelButton.Enabled   = true;
            cancelButton.Visible   = true;
            encodeButton.Visible   = false;
            tabControl.Enabled     = false;
            progressBar.Visible    = true;
            encodingStatus.Text    = string.Empty;
            encodingStatus.Visible = true;
            if (!encodingBackgroundWorkder.IsBusy)
            {
                encodingBackgroundWorkder.RunWorkerAsync(lame);
            }
        }
コード例 #6
0
        private void encodeButton_Click(object sender, EventArgs e)
        {
            lame = new LameInterface();
            SetEncodingOptions();

            cancelButton.Enabled   = true;
            cancelButton.Visible   = true;
            encodeButton.Visible   = false;
            tabControl.Enabled     = false;
            progressBar.Visible    = true;
            encodingStatus.Text    = string.Empty;
            encodingStatus.Visible = true;
            if (!encodingBackgroundWorkder.IsBusy)
            {
                encodingBackgroundWorkder.RunWorkerAsync(lame);
            }

            SaveProfile();
        }