/// <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; } } } }
public void SetTrackSelector(TrackSelector t) { trackSelector = t; if (!trackSelector.SetTrackPostion(trackPos)) { updatePlayerTrackAbility = true; } }
/// <summary> /// Initializes a new instance of the frmGeneratePlaylist class. /// </summary> public FrmGeneratePlaylist() { InitializeComponent(); Load += frmGeneratePlaylist_Load; TrackSelector = new TrackSelector(); InitialiseControls(); }
/// <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; } }
/// <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(); }
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; }
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
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); }
void Start() { trackSelector = GetComponent <TrackSelector>(); }