示例#1
0
        public QuickTimeAAC(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            //--check    Show library versions and exit
            //--formats  Show available AAC formats and exit

            combo_mode.Items.Add("CBR");             //-c, --cbr <bitrate>   AAC CBR mode / bitrate
            combo_mode.Items.Add("ABR");             //-a, --abr <bitrate>   AAC ABR mode / bitrate
            combo_mode.Items.Add("Constrained VBR"); //-v, --cvbr <bitrate>  AAC Constrained VBR mode / bitrate
            combo_mode.Items.Add("True VBR");        //-V, --tvbr <quality>  AAC True VBR mode / quality [0-127] (AAC-HE не поддерживается)
            combo_mode.Items.Add("Lossless (ALAC)"); //-A, --alac            ALAC encoding mode

            combo_accuracy.Items.Add("0 - Fast");
            combo_accuracy.Items.Add("1");
            combo_accuracy.Items.Add("2 - Slow");

            combo_aac_profile.Items.Add("AAC-LC");
            combo_aac_profile.Items.Add("AAC-HE");

            //Предупреждение о неточности битрейта
            combo_bitrate.Tag = Languages.Translate("Do not expect that selected bitrate will be strictly observed by the encoder!") + "\r\n" +
                Languages.Translate("The actual value will varies with encoding mode (ABR/CBR/CVBR), profile (LC/HE), sample rate and number of channels.") + "\r\n" +
                Languages.Translate("Click on \"Bitrate\" label to get detailed information about all supported combinations.");

            text_mode.Content = Languages.Translate("Encoding mode") + ":";
            text_accuracy.Content = Languages.Translate("Accuracy") + ":";

            LoadFromProfile();
        }
示例#2
0
        public NeroAAC(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            combo_mode.Items.Add("CBR");
            combo_mode.Items.Add("VBR");
            combo_mode.Items.Add("ABR");
            combo_mode.Items.Add("ABR 2-Pass");

            combo_aac_profile.Items.Add("Auto");
            combo_aac_profile.Items.Add("AAC-LC");
            combo_aac_profile.Items.Add("AAC-HE");
            combo_aac_profile.Items.Add("AAC-HEv2");

            this.num_period.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(num_period_ValueChanged);
            num_period.ToolTip = "2-Pass encoding bitrate averaging period, milliseconds. \r\nDefault and recommended: 0 (Auto).\r\n" +
            "\r\nWARNING! Low values may produce crash of neroAacEnc.exe!";

            text_mode.Content = Languages.Translate("Encoding mode") + ":";

            LoadFromProfile();
        }
示例#3
0
        public FMP2(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            LoadFromProfile();
        }
示例#4
0
        public LameMP3(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            combo_mode.Items.Add("CBR");
            combo_mode.Items.Add("VBR");
            combo_mode.Items.Add("ABR");

            combo_channels_mode.Items.Add("Auto");                //default is (j) or (s) depending on bitrate
            combo_channels_mode.Items.Add("Stereo");              //"-m s" (s)imple = force LR stereo on all frames
            combo_channels_mode.Items.Add("Joint Stereo");        //"-m j" (j)oint  = joins the best possible of MS and LR stereo
            combo_channels_mode.Items.Add("Forced Joint Stereo"); //"-m f" (f)orce  = force MS stereo on all frames.
            combo_channels_mode.Items.Add("Mono");                //"-m m" (d)ual-mono, (m)ono
            combo_channels_mode.ToolTip = "Auto - auto select (depending on bitrate), default\r\n" +
                "Stereo - force LR stereo on all frames\r\n" +
                "Joint Stereo - joins the best possible of MS and LR stereo\r\n" +
                "Forced Joint Stereo - force MS stereo on all frames\r\n" +
                "Mono - encode as mono";

            combo_quality.Items.Add("0 - Best Quality");
            combo_quality.Items.Add("1");
            combo_quality.Items.Add("2 - Recommended");
            combo_quality.Items.Add("3");
            combo_quality.Items.Add("4");
            combo_quality.Items.Add("5 - Good Speed");
            combo_quality.Items.Add("6");
            combo_quality.Items.Add("7 - Very Fast");
            combo_quality.Items.Add("8");
            combo_quality.Items.Add("9 - Poor Quality");
            combo_quality.ToolTip = "Noise shaping & psycho acoustic algorithms\r\n" +
                "0 - highest quality, very slow\r\n" +
                "2 - recommended, default\r\n" +
                "9 - poor quality, but fast";

            combo_gain.Items.Add("None");
            combo_gain.Items.Add("Fast");
            combo_gain.Items.Add("Accurate");
            combo_gain.ToolTip = "None - do not compute RG (slightly faster encoding)\r\n" +
                "Fast - compute RG fast and slightly inaccurately, default\r\n" +
                "Accurate - compute RG more accurately, but slower";

            //прогружаем битрейты
            LoadBitrates();

            text_mode.Content = Languages.Translate("Encoding mode") + ":";
            text_quality.Content = Languages.Translate("Accuracy") + ":";

            LoadFromProfile();
        }
示例#5
0
        public FLPCM(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            combo_bits.Items.Add("16-bit");
            combo_bits.Items.Add("24-bit");
            combo_bits.Items.Add("32-bit");

            LoadFromProfile();
        }
示例#6
0
        public FFLAC(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            for (int n = 0; n < 13; n++) combo_level.Items.Add(n);
            for (int n = 0; n < 11; n++) combo_use_lpc.Items.Add(n);
            for (int n = 0; n < 16; n++) combo_precision.Items.Add(n);

            combo_level.ToolTip = "Set compression level:\r\n0 - fast, but bigger filesize\r\n5 - default\r\n12 - slow, but smaller filesize";
            combo_use_lpc.ToolTip = "LPC method for determining coefficients:\r\n0 - LPC with fixed pre-defined coeffs (fast)\r\n" +
                "1 - LPC with coeffs determined by Levinson-Durbin recursion (default)\r\n2+ - LPC with coeffs determined by Cholesky factorization using (Use LPC - 1) passes (10 - veeery slow)";
            combo_precision.ToolTip = "LPC coefficient precision (15 - default)";

            LoadFromProfile();
        }
示例#7
0
        public AftenAC3(Massive mass, AudioEncoding AudioEncWindow)
        {
            this.InitializeComponent();

            this.m = mass.Clone();
            this.root_window = AudioEncWindow;

            for (int i = 1; i < 32; i++) combo_dnorm.Items.Add("-" + i + "dB");

            combo_bandwidth.Items.Add("Auto");
            for (int i = 10; i < 24; i += 1) combo_bandwidth.Items.Add(i + "kHz");

            combo_dnorm.ToolTip = "Dialog normalization level. -31dB means that decoder will leave audio level as is while play back." +
                "\r\nHigher values will produce more quiet sound.\r\nDefault: -31dB";

            combo_bandwidth.ToolTip = "High-frequency cutoff. In Auto mode encoder will auto-select this parameter depending\r\non bitrate, samplerate" +
                " and N of channels. But you can specify it manually.\r\nDefault: Auto (not optimal, very low cutoff frequency!)";

            LoadFromProfile();
        }
示例#8
0
        private void AudioEncodingSettings_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (m != null && (m.inaudiostreams.Count == 0 || m.outaudiostreams.Count == 0))
            {
                Message mess = new Message(this);
                mess.ShowMessage(Languages.Translate("File doesn`t have audio streams!"), Languages.Translate("Error"));
            }
            else
            {
                if (m == null)
                {
                    AudioEncoding enc = new AudioEncoding(null, this);
                    LoadAudioPresets();

                    string aencoding = ((AudioStream)enc.m.outaudiostreams[enc.m.outaudiostream]).encoding;

                    //защита от удаления профиля
                    if (!combo_aencoding.Items.Contains(aencoding))
                        aencoding = ChooseAudioPreset(enc.m.format);
                    combo_aencoding.SelectedItem = aencoding;

                    if (aencoding != "Disabled")
                        Settings.SetAEncodingPreset(enc.m.format, aencoding);
                }
                else
                {
                    //определяем аудио потоки
                    AudioStream instream = (AudioStream)m.inaudiostreams[m.inaudiostream];
                    AudioStream outstream = (AudioStream)m.outaudiostreams[m.outaudiostream];

                    //Запоминаем старый кодер
                    string old_codec = outstream.codec;

                    AudioEncoding enc = new AudioEncoding(m, this);
                    m = enc.m.Clone();
                    LoadAudioPresets();

                    //защита от удаления профиля
                    if (!combo_aencoding.Items.Contains(outstream.encoding))
                        outstream.encoding = ChooseAudioPreset(m.format);
                    combo_aencoding.SelectedItem = outstream.encoding;

                    if (outstream.encoding != "Disabled")
                    {
                        Settings.SetAEncodingPreset(m.format, outstream.encoding);
                    }
                    else
                    {
                        m.outaudiostreams.Clear();
                        old_codec = ".";
                    }

                    //Пересоздаем скрипт при изменении кодера. audio encoding settings
                    if (m.outaudiostreams.Count > 0 && ((AudioStream)m.outaudiostreams[m.outaudiostream]).codec != old_codec ||
                        old_codec == ".")
                    {
                        //Меняем расширение
                        if (m.format == Format.ExportFormats.Audio && m.outfilepath != null)
                            m.outfilepath = Calculate.RemoveExtention(m.outfilepath, true) + Format.GetValidExtension(m);

                        string old_script = m.script;
                        m = AviSynthScripting.CreateAutoAviSynthScript(m);
                        if (old_script != m.script) LoadVideo(MediaLoad.update);
                    }

                    //проверка на размер
                    //m.outfilesize = Calculate.GetEncodingSize(m);

                    UpdateTaskMassive(m);
                    ReloadChildWindows();
                    ValidateTrimAndCopy(m);
                }
            }
        }