Exemplo n.º 1
0
        void BackgroundWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            var args = e.Argument as TraceArgs;

            var coeff = new List <Dictionary <int, double> >();

            WWCrossFeedFir crossfeed = args.CrossfeedFir;

            crossfeed.WallReflectionType = WWCrossFeedFir.ReflectionType.Diffuse;
            crossfeed.Start(mRoom);
            crossfeed.TraceAll(mRoom);
            coeff.AddRange(crossfeed.OutputFirCoeffs(args.SampleRate));

            crossfeed.Clear();
            crossfeed.WallReflectionType = WWCrossFeedFir.ReflectionType.Specular;
            crossfeed.Start(mRoom);
            crossfeed.TraceAll(mRoom);
            coeff.AddRange(crossfeed.OutputFirCoeffs(args.SampleRate));

            crossfeed.Clear();

            WWCrossFeedFir.OutputFile(args.SampleRate, coeff.ToArray(), args.FileName);
        }
Exemplo n.º 2
0
        private void mButtonRayTest_Click(object sender, RoutedEventArgs e)
        {
            if (!UpdateParameters())
            {
                return;
            }

            var reflectionType = (WWCrossFeedFir.ReflectionType)mComboBoxReflectionType.SelectedIndex;

            int rayCount;

            Int32.TryParse(mTextBoxRayCount.Text, out rayCount);

            mCrossFeed = CreateCrossFeedFirFromUseInput();
            mCrossFeed.WallReflectionType = reflectionType;
            mCrossFeed.Start(mRoom);
            for (int i = 0; i < rayCount; ++i)
            {
                mCrossFeed.Trace(mRoom, reflectionType, 0);
                mCrossFeed.Trace(mRoom, reflectionType, 1);
            }

            UpdateRoomCanvas();
        }
Exemplo n.º 3
0
        private void mButtonRayTest_Click(object sender, RoutedEventArgs e)
        {
            if (!UpdateParameters()) {
                return;
            }

            var reflectionType = (WWCrossFeedFir.ReflectionType)mComboBoxReflectionType.SelectedIndex;

            int rayCount;
            Int32.TryParse(mTextBoxRayCount.Text, out rayCount);

            mCrossFeed = CreateCrossFeedFirFromUseInput();
            mCrossFeed.WallReflectionType = reflectionType;
            mCrossFeed.Start(mRoom);
            for (int i = 0; i < rayCount; ++i) {
                mCrossFeed.Trace(mRoom, reflectionType, 0);
                mCrossFeed.Trace(mRoom, reflectionType, 1);
            }

            UpdateRoomCanvas();
        }