Exemplo n.º 1
0
        /// <summary>
        /// Reading .wav file chosen by user and prepare data array for further processing
        /// </summary>
        /// <param name="ts">Parameter deciding which track should be loaded (either first or second one)</param>
        private void LoadFile(TrackSelector ts)
        {
            using (var dialog = new OpenFileDialog())
            {
                dialog.Title  = "Choose wisely";
                dialog.Filter = "Sound tracks (*.wav) | *.wav";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    PreprocessRawData(ts, dialog.FileName);
                    switch (ts)
                    {
                    case TrackSelector.First:

                        Label_OfTrack1.Text = dialog.FileName;
                        _player1?.Dispose();
                        _player1 = new SoundPlayer(dialog.FileName);
                        break;

                    case TrackSelector.Second:

                        Label_OfTrack2.Text = dialog.FileName;
                        _player2?.Dispose();
                        _player2 = new SoundPlayer(dialog.FileName);
                        break;
                    }
                }
            }
        }
Exemplo n.º 2
0
 public void SetTrackSelector(TrackSelector t)
 {
     trackSelector = t;
     if (!trackSelector.SetTrackPostion(trackPos))
     {
         updatePlayerTrackAbility = true;
     }
 }
Exemplo n.º 3
0
        /// <summary>
        ///     Initializes a new instance of the frmGeneratePlaylist class.
        /// </summary>
        public FrmGeneratePlaylist()
        {
            InitializeComponent();

            Load += frmGeneratePlaylist_Load;

            TrackSelector = new TrackSelector();

            InitialiseControls();
        }
Exemplo n.º 4
0
        /// <summary>
        /// Which sound should be played
        /// </summary>
        /// <param name="ts">Parameter deciding which sound from which track should be played</param>
        private void Play(TrackSelector ts)
        {
            switch (ts)
            {
            case TrackSelector.First:
                _player1?.Play();
                break;

            case TrackSelector.Second:
                _player2?.Play();
                break;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Reading data from .wav and memory allocation for further processing
        /// </summary>
        /// <param name="ts"></param>
        /// <param name="fileName"></param>
        private void PreprocessRawData(TrackSelector ts, string fileName)
        {
            var reader = new WaveFileReader(fileName);

            switch (ts)
            {
            case TrackSelector.First:

                _data_Track1 = new float[reader.Length / 2];
                reader.ToSampleProvider().Read(_data_Track1, 0, _data_Track1.Length);
                _data_complex_Track1 = new Complex[reader.Length / 2];
                for (int i = 0; i < _data_Track1.Length; ++i)
                {
                    _data_complex_Track1[i] = new Complex(_data_Track1[i], 0);     //TODO: leave 0 or...?
                }
                _fft_frames_Track1 = new List <Complex[]>();
                PrepareFFTValues(ts);
                break;

            case TrackSelector.Second:

                _data_Track2 = new float[reader.Length / 2];
                reader.ToSampleProvider().Read(_data_Track2, 0, _data_Track2.Length);

                _data_complex_Track2 = new Complex[reader.Length / 2];
                for (int i = 0; i < _data_Track2.Length; ++i)
                {
                    _data_complex_Track2[i] = new Complex(_data_Track2[i], 0);
                }

                _fft_frames_Track2 = new List <Complex[]>();
                PrepareFFTValues(ts);
                break;

            case TrackSelector.File:
                _data_File = new float[reader.Length / 2];
                reader.ToSampleProvider().Read(_data_File, 0, _data_File.Length);

                _data_complex_FileData = new Complex[reader.Length / 2];
                for (int i = 0; i < _data_File.Length; ++i)
                {
                    _data_complex_FileData[i] = new Complex(_data_File[i], 0);
                }

                _fft_frames_FileData = new List <Complex[]>();
                PrepareFFTValues(ts);
                break;
            }
        }
        public FormBezierPointEditController(
            TrackSelector parent,
            CurveType curve_type,
            int selected_chain_id,
            int selected_point_id)
        {
            ui = (FormBezierPointEditUi) new FormBezierPointEditUiImpl(this);

            applyLanguage();
            m_parent     = parent;
            m_curve_type = curve_type;
            m_track      = AppManager.getSelected();
            m_chain_id   = selected_chain_id;
            m_point_id   = selected_point_id;
            bool               found    = false;
            VsqFileEx          vsq      = AppManager.getVsqFile();
            BezierCurves       attached = vsq.AttachedCurves.get(m_track - 1);
            List <BezierChain> chains   = attached.get(m_curve_type);

            for (int i = 0; i < chains.Count; i++)
            {
                if (chains[i].id == m_chain_id)
                {
                    found = true;
                    break;
                }
            }
            if (!found)
            {
                return;
            }
            bool smooth = false;

            foreach (var bp in attached.getBezierChain(m_curve_type, m_chain_id).points)
            {
                if (bp.getID() == m_point_id)
                {
                    m_point = bp;
                    smooth  =
                        (bp.getControlLeftType() != BezierControlType.None) ||
                        (bp.getControlRightType() != BezierControlType.None);
                    break;
                }
            }
            updateStatus();
        }
Exemplo n.º 7
0
        public void InitPlayer()
        {
            _context = CrossRxMediaPlayer.AppContext;


            // 1. Create a default TrackSelector
            Handler mainHandler = new Handler();

            _defaultBandwidthMeter = new DefaultBandwidthMeter();
            _adaptiveVideoTrackSelectionFactory = new AdaptiveVideoTrackSelection.Factory(_defaultBandwidthMeter);
            _trackSelector = new DefaultTrackSelector(_adaptiveVideoTrackSelectionFactory);

            // 2. Create a default LoadControl
            _defaultLoadControl = new DefaultLoadControl();

            // 3. Create the player
            TheExoPlayer = ExoPlayerFactory.NewSimpleInstance(_context, _trackSelector, _defaultLoadControl);

            TheExoPlayer.AddListener(this);

            PlayerStatesSubject = new BehaviorSubject <PlayerState>(PlayerState.Idle);
        }
 /// <summary>
 ///     Initalizes this instance.
 /// </summary>
 public void Initalize()
 {
     TrackSelector           = new TrackSelector();
     BassPlayer.OnSkipToEnd += BassPlayer_OnFadeEnded;
     BassPlayer.OnEndFadeIn += BassPlayer_OnFadeEnded;
 }
Exemplo n.º 9
0
        private void task()
        {
            MotorControler mc     = MotorControler.GetInstance(parameterManager);
            Surface        sur    = Surface.GetInstance(parameterManager);
            Camera         camera = Camera.GetInstance();
            Led            led    = Led.GetInstance();
            CoordManager   cm     = new CoordManager(parameterManager);


            Vector3 initialpoint = mc.GetPoint();

            int pixthre = 500;


            for (int bx = -5; bx <= 5; bx++)
            {
                for (int by = -5; by <= 5; by++)
                {
                    string       txtfileName = string.Format(@"E:\img\{0}_{1}.txt", bx, by);
                    StreamWriter twriter     = File.CreateText(txtfileName);

                    Vector3 blockstartpoint = new Vector3();
                    blockstartpoint.X = initialpoint.X + bx * 1.0;
                    blockstartpoint.Y = initialpoint.Y + by * 1.0;
                    blockstartpoint.Z = initialpoint.Z;

                    mc.MoveTo(new Vector3(blockstartpoint.X + 0.5, blockstartpoint.Y + 0.5, initialpoint.Z - 0.020));
                    mc.Join();

                    int ledbrightness = led.AdjustLight(parameterManager);


                    camera.Start();
                    surfrecog(pixthre, 0.003);
                    camera.Stop();
                    double surfaceZup = mc.GetPoint().Z;



                    //上面  ベース中からはじめ、ベース上側を表面認識
                    //ベース上側からはじめてZ方向正の向きにスキャン


                    for (int vy = 0; vy < 10; vy++)
                    {
                        Vector3 linestartpoint = mc.GetPoint();
                        linestartpoint.X = blockstartpoint.X;
                        linestartpoint.Y = blockstartpoint.Y + vy * parameterManager.SpiralShiftY;
                        linestartpoint.Z = surfaceZup;

                        for (int vx = 0; vx < 8;)
                        {
                            if (vx == 0)
                            {
                                Vector3 approachingpoint = mc.GetPoint();
                                approachingpoint.X = blockstartpoint.X + vx * parameterManager.SpiralShiftX - 0.05;
                                approachingpoint.Y = blockstartpoint.Y + vy * parameterManager.SpiralShiftY - 0.05;
                                approachingpoint.Z = linestartpoint.Z - 0.006;
                                mc.MoveTo(approachingpoint);
                                mc.Join();
                            }

                            Vector3 viewstartpoint = mc.GetPoint();
                            viewstartpoint.X = blockstartpoint.X + vx * parameterManager.SpiralShiftX;
                            viewstartpoint.Y = blockstartpoint.Y + vy * parameterManager.SpiralShiftY;
                            viewstartpoint.Z = linestartpoint.Z - 0.006;

                            mc.MoveTo(viewstartpoint);
                            mc.Join();
                            Thread.Sleep(100);

                            Vector3            viewpoint = mc.GetPoint();
                            List <ImageTaking> lit       = new List <ImageTaking>();

                            mc.Inch(PlusMinus.Plus, 0.15, VectorId.Z);

                            int viewcounter = 0;
                            while (viewcounter < 16 + 3)
                            {
                                byte[]  b = Ipt.CaptureMain();
                                Vector3 p = mc.GetPoint();

                                if (viewcounter >= 3)
                                {
                                    ImageTaking it = new ImageTaking(p, b);

                                    string stlog = "";
                                    stlog += String.Format("{0}   {1}  {2}  {3}\n",
                                                           ledbrightness,
                                                           p.X,
                                                           p.Y,
                                                           p.Z);
                                    twriter.Write(stlog);
                                }
                                viewcounter++;
                            }//view
                            viewcounter = 0;
                            double endz = mc.GetPoint().Z;

                            mc.SlowDownStop(VectorId.Z);
                            mc.Join();

                            if (endz - viewstartpoint.Z < 0.070)
                            {
                                tsparams tsp = new tsparams();
                                tsp.phthre = 10;
                                List <microtrack> lm = TrackSelector.Select(lit, tsp);
                                foreach (microtrack m in lm)
                                {
                                    double viewx  = viewpoint.X;
                                    double viewy  = viewpoint.Y;
                                    double pixelx = 135.0 / 512.0;
                                    double pixely = 115.0 / 440.0;
                                    double x      = viewx - (m.cx - 256) * pixelx;
                                    double y      = viewy + (m.cy - 220) * pixely;
                                    Console.WriteLine(string.Format("{0:0.0} {1:0.0}   {2:0.0} {3:0.0}    {4:0.0} {5:0.0}  {6:0.0} {7:0.0}", m.ph, m.pv, m.ax, m.ay, x, y, m.cx, m.cy));
                                }
                                vx++;
                            }
                        } //vx
                    }     //vy



                    //下面  ベース中からはじめ、ベース下側を表面認識
                    //ベース下側からはじめてZ方向負の向きにスキャン

                    mc.MoveTo(new Vector3(blockstartpoint.X + 0.5, blockstartpoint.Y + 0.5, initialpoint.Z - 0.140));
                    mc.Join();

                    camera.Start();
                    surfrecog(pixthre, -0.003);
                    camera.Stop();

                    double surfaceZdown = mc.GetPoint().Z;


                    for (int vy = 0; vy < 10; vy++)
                    {
                        Vector3 linestartpoint = mc.GetPoint();
                        linestartpoint.X = blockstartpoint.X;
                        linestartpoint.Y = blockstartpoint.Y + vy * parameterManager.SpiralShiftY;
                        linestartpoint.Z = surfaceZdown;


                        for (int vx = 0; vx < 8;)
                        {
                            if (vx == 0)
                            {
                                Vector3 approachingpoint = mc.GetPoint();
                                approachingpoint.X = blockstartpoint.X + vx * parameterManager.SpiralShiftX - 0.05;
                                approachingpoint.Y = blockstartpoint.Y + vy * parameterManager.SpiralShiftY - 0.05;
                                approachingpoint.Z = linestartpoint.Z + 0.006;
                                mc.MoveTo(approachingpoint);
                                mc.Join();
                            }

                            Vector3 viewstartpoint = mc.GetPoint();
                            viewstartpoint.X = blockstartpoint.X + vx * parameterManager.SpiralShiftX;
                            viewstartpoint.Y = blockstartpoint.Y + vy * parameterManager.SpiralShiftY;
                            viewstartpoint.Z = linestartpoint.Z + 0.006;

                            mc.MoveTo(viewstartpoint);
                            mc.Join();
                            Thread.Sleep(100);

                            Vector3 viewpoint = mc.GetPoint();

                            byte[] bb          = new byte[440 * 512 * 16];
                            string datfileName = string.Format(@"E:\img\d_{0}_{1}_{2}_{3}.dat",
                                                               (int)(viewpoint.X * 1000),
                                                               (int)(viewpoint.Y * 1000),
                                                               vx,
                                                               vy
                                                               );
                            BinaryWriter writer = new BinaryWriter(File.Open(datfileName, FileMode.Create));

                            mc.Inch(PlusMinus.Minus, 0.15, VectorId.Z);

                            int viewcounter = 0;
                            while (viewcounter < 16 + 3)
                            {
                                byte[]  b = Ipt.CaptureMain();
                                Vector3 p = mc.GetPoint();

                                if (viewcounter >= 3)
                                {
                                    b.CopyTo(bb, 440 * 512 * (viewcounter - 3));

                                    string stlog = "";
                                    stlog += String.Format("{0}   {1}  {2}  {3}\n",
                                                           ledbrightness,
                                                           p.X,
                                                           p.Y,
                                                           p.Z);
                                    twriter.Write(stlog);
                                }
                                viewcounter++;
                            }//view
                            viewcounter = 0;
                            double endz = mc.GetPoint().Z;

                            mc.SlowDownStop(VectorId.Z);
                            mc.Join();
                            Thread.Sleep(100);

                            if (viewstartpoint.Z - endz < 0.070)
                            {
                                vx++;
                                writer.Write(bb);
                                writer.Flush();
                                writer.Close();
                            }
                        } //vx
                    }     //vy



                    camera.Stop();
                    twriter.Close();
                } //blocky
            }     //blockx
        }         //task
Exemplo n.º 10
0
        public static VertexFitForm Browse(string name, GDI3D.Control.GDIDisplay gdidisp, TrackSelector updatefits, SySal.TotalScan.Flexi.Volume v)
        {
            foreach (VertexFitForm b in AvailableBrowsers)
            {
                if (String.Compare(b.FitName, name, true) == 0)
                {
                    b.BringToFront();
                    return(b);
                }
            }
            VertexFitForm newb = new VertexFitForm(name, gdidisp, v);

            newb.Show();
            AvailableBrowsers.Add(newb);
            newb.m_TrackSelector = updatefits;
            return(newb);
        }
Exemplo n.º 11
0
 void Start()
 {
     trackSelector = GetComponent <TrackSelector>();
 }