public FrameReader(ObjectPool <MemoryFrame> pool, SmithersLogger logger) { #if DSAPI _dsAPI = new DSAPIManaged(); _dsAPI.initializeDevice(); #else _pool = pool; _logger = logger; //Directory.SetCurrentDirectory("") // TODO Inject this instead of creating it _session = PXCMSession.CreateInstance(); if (_session == null) { throw new Smithers.Reading.FrameData.ScannerNotFoundException("No valid plugged-in DS4 sensor found."); } _senseManager = PXCMSenseManager.CreateInstance(); if (_senseManager == null) { throw new Smithers.Reading.FrameData.ScannerNotFoundException("Failed to create an SDK pipeline object"); } _session.SetCoordinateSystem(PXCMSession.CoordinateSystem.COORDINATE_SYSTEM_REAR_OPENCV); #endif this.Synced = true; this.Mirrored = false; this.Record = false; this.Playback = false; this.RealTime = true; }
public CaptureController(string baseDirectory, SmithersLogger logger) { _baseDirectory = baseDirectory; _logger = logger; try { _reader = new FrameReader(_pool, logger); } catch (Smithers.Reading.FrameData.ScannerNotFoundException e) { _logger.info("Failed to initizale camera" + e.Message); throw e; } StartNewSession(); _sessionManager = new SmithersDS4.Sessions.SessionManager<DS4Session, DS4Meta, Shot<ShotDefinition, DS4SavedItem>, ShotDefinition, DS4SavedItem>(_session); this.CaptureMode = CaptureMode.Sweeping; _sessionManager.AttachToReader(_reader); //_reader.FrameArrived += _sessionManager.FrameArrived; _reader.FrameArrived += _frameRateReporter.FrameArrived; //_reader.StartCapture += StartCapture; try { _reader.StartAsync(); } catch (Smithers.Reading.FrameData.ScannerNotFoundException e) { _logger.info(e.Message); } }
public FrameReader(ObjectPool<MemoryFrame> pool, SmithersLogger logger) { #if DSAPI _dsAPI = new DSAPIManaged(); _dsAPI.initializeDevice(); #else _pool = pool; _logger = logger; //Directory.SetCurrentDirectory("") // TODO Inject this instead of creating it _session = PXCMSession.CreateInstance(); if (_session == null) { throw new Smithers.Reading.FrameData.ScannerNotFoundException("No valid plugged-in DS4 sensor found."); } _senseManager = PXCMSenseManager.CreateInstance(); if (_senseManager == null) { throw new Smithers.Reading.FrameData.ScannerNotFoundException("Failed to create an SDK pipeline object"); } _session.SetCoordinateSystem(PXCMSession.CoordinateSystem.COORDINATE_SYSTEM_REAR_OPENCV); #endif this.Synced = true; this.Mirrored = false; this.Record = false; this.Playback = false; this.RealTime = true; }