internal AlbumViewModel(IViewService viewService, IAlbumService albumService, ITrackService trackService, ITrackFactory trackFactory, IDialogService dialogService) { _viewService = viewService; _albumService = albumService; _trackService = trackService; _trackFactory = trackFactory; _dialogService = dialogService; }
public Output(ITrackFactory trackFactory, IAirspace airspace, ISeparation separation) { airspace.OnAirspaceCheckEventDone += Airspace_OnAirspaceCheckEventDone; trackFactory.OnTrackListDoneEvent += TrackFactory_OnTrackListDoneEvent; airspace.OnPlaneEnteringAirspace += Airspace_OnPlaneEnteringAirspace; airspace.OnPlaneExitingAirspace += Airspace_OnPlaneExitingAirspace; separation.OnPlaneCollision += Separation_OnPlaneCollision; separation.OnPlaneAvoidedCollision += Separation_OnPlaneAvoidedCollision; }
public NewLibraryBuilder(Uri libraryPath, ITrackFactory trackFactory, BackgroundWorker backgroundWorker) { _libraryPath = libraryPath; _trackFactory = trackFactory; _backgroundWorker = backgroundWorker; Library = new Model.Library { IsDirty = true }; }
public void Setup() { _trFakeData = Substitute.For <ITransponderReceiver>(); _trackFactory = new TrackFactory(_trFakeData); _airspace = new Airspace(_trackFactory); _separation = new Separation(_airspace); _uut = new Output(_trackFactory, _airspace, _separation); _insideAirspacePlane1 = new Track() { Altitude = 8000, AltitudeOld = 8000, Heading = 0, Tag = "PIE284", TimeStamp = new DateTime(2018, 11, 1, 11, 11, 11, 0), TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0), Velocity = 0, XCoord = 15000, YCoord = 15000, XCoordOld = 16000, YCoordOld = 16000 }; _insideAirspacePlane2 = new Track() { Altitude = 8200, AltitudeOld = 8200, Heading = 0, Tag = "PIE285", TimeStamp = new DateTime(2018, 11, 1, 11, 11, 11, 0), TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0), Velocity = 0, XCoord = 18000, YCoord = 18000, XCoordOld = 17000, YCoordOld = 17000 }; _insideAirspacePlane3 = new Track() { Altitude = 8200, AltitudeOld = 8200, Heading = 0, Tag = "PIE286", TimeStamp = new DateTime(2018, 11, 1, 11, 11, 11, 0), TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0), Velocity = 0, XCoord = 12000, YCoord = 12000, XCoordOld = 17000, YCoordOld = 17000 }; }
public void Setup() { _fakeTrackFactory = Substitute.For <ITrackFactory>(); _fakeAirspace = Substitute.For <IAirspace>(); _fakeSeparation = Substitute.For <ISeparation>(); _uut = new Output(_fakeTrackFactory, _fakeAirspace, _fakeSeparation); _insideAirspacePlane1 = new Track() { Altitude = 8000, AltitudeOld = 8000, Heading = 0, Tag = "PIE284", TimeStamp = new DateTime(2018, 11, 1, 11, 11, 11, 0), TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0), Velocity = 0, XCoord = 15000, YCoord = 15000, XCoordOld = 16000, YCoordOld = 16000 }; _insideAirspacePlane2 = new Track() { Altitude = 8200, AltitudeOld = 8200, Heading = 0, Tag = "PIE285", TimeStamp = new DateTime(2018, 11, 1, 11, 11, 11, 0), TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0), Velocity = 0, XCoord = 18000, YCoord = 18000, XCoordOld = 17000, YCoordOld = 17000 }; _insideAirspacePlane3 = new Track() { Altitude = 8200, AltitudeOld = 8200, Heading = 0, Tag = "PIE286", TimeStamp = new DateTime(2018, 11, 1, 11, 11, 11, 0), TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0), Velocity = 0, XCoord = 12000, YCoord = 12000, XCoordOld = 17000, YCoordOld = 17000 }; }
public LocalLibraryService( ITracksRepository tracksRepository, ITrackFactory trackFactory, IPlaylistsRepository playlistsRepository, IPlaylistFactory playlistFactory) { this._tracksRepository = tracksRepository ?? throw new ArgumentNullException(nameof(tracksRepository)); this._trackFactory = trackFactory ?? throw new ArgumentNullException(nameof(trackFactory)); this._playlistsRepository = playlistsRepository ?? throw new ArgumentNullException(nameof(playlistsRepository)); this._playlistFactory = playlistFactory ?? throw new ArgumentNullException(nameof(playlistFactory)); this._playlistBaseChangesSubscription = new SerialDisposable().DisposeWith(this._disposables); this._tracksChangesSubscription = new SerialDisposable().DisposeWith(this._disposables); this.TracksChanges = ObservableChangeSet.Create <Track, uint>( async cache => { var items = await this._tracksRepository.GetAllAsync(); cache.AddOrUpdate(items); //return new CompositeDisposable( // //this._tracksRepository.TracksAddeded.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))), // //this._tracksRepository.TracksRemoved.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.Remove(addedItems))), // //this._tracksRepository.TracksUpdated.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))) // ); }, x => x.Id) // TODO: add synchronization to handle multiple subscriptions? .RefCount() //.Multicast(new ReplaySubject<IChangeSet<Track, uint>>()) //.AutoConnect(1, subscription => this._tracksChangesSubscription.Disposable = subscription) ; this.PlaylistsChanges = ObservableChangeSet.Create <PlaylistBase, uint>( async cache => { var items = await this._playlistsRepository.GetAllPlaylistsAsync(); cache.AddOrUpdate(items); //return new CompositeDisposable( //// this._playlistsRepository.Addeded.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))), //// this._playlistsRepository.Removed.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.Remove(addedItems))), //// this._playlistsRepository.Updated.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))) //); }, x => x.Id) .RefCount() //.Multicast(new ReplaySubject<IChangeSet<PlaylistBase, uint>>()) //.AutoConnect(1, subscription => this._playlistBaseChangesSubscription.Disposable = subscription) ; }
public PlaylistViewModel(ITrackFactory trackFactory, IMusicPlayerService musicPlayerService) { _musicPlayerService = musicPlayerService; Tracks = new BindableCollection <ITrackViewModel>(_musicPlayerService.Tracks.Select(trackFactory.MakeTrackViewModel)); _musicPlayerService.PlaylistLoaded += (sender, e) => { Tracks.Clear(); Tracks.AddRange(e.Tracks.Select(trackFactory.MakeTrackViewModel)); }; _musicPlayerService.TrackChanged += (sender, e) => NotifyOfPropertyChange(() => SelectedTrackIndex); }
public LocalLibraryService( ITracksRepository tracksRepository, ITrackFactory trackFactory, IPlaylistsRepository playlistsRepository, IPlaylistFactory playlistFactory) { this._tracksRepository = tracksRepository ?? throw new ArgumentNullException(nameof(tracksRepository)); this._trackFactory = trackFactory ?? throw new ArgumentNullException(nameof(trackFactory)); this._playlistsRepository = playlistsRepository ?? throw new ArgumentNullException(nameof(playlistsRepository)); this._playlistFactory = playlistFactory ?? throw new ArgumentNullException(nameof(playlistFactory)); this.TracksChanges = ObservableChangeSet.Create <Track, uint>( async cache => { var items = await this.GetTracksAsync( //TimeSpan.FromSeconds(3) ); GC.Collect(); cache.AddOrUpdate(items); GC.Collect(); //return new CompositeDisposable( // this._tracksRepository.Addeded.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))), // this._tracksRepository.Removed.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.Remove(addedItems))), // this._tracksRepository.Updated.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems)))); }, x => x.Id) // TODO: add synchronization to handle multiple subscriptions? .RefCount(); this.PlaylistsChanges = ObservableChangeSet.Create <PlaylistBase, uint>( async cache => { var items = await this._playlistsRepository.GetAllPlaylistsAsync(); cache.AddOrUpdate(items); //return new CompositeDisposable( // this._playlistsRepository.Addeded.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))), // this._playlistsRepository.Removed.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.Remove(addedItems))), // this._playlistsRepository.Updated.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems)))); }, x => x.Id) .RefCount(); }
public MainWindow(ITrackFactory trackFactory, IAppDataPersister <Library.Model.Library> libraryPersister) { _trackFactory = trackFactory; _libraryPersister = libraryPersister; InitializeComponent(); // Defaults Left = Settings.Default.MainWindowLeft; Top = Settings.Default.MainWindowTop; Width = Settings.Default.MainWindowWidth; Height = Settings.Default.MainWindowHeight; MainGrid.ColumnDefinitions.First(c => c.Name == "NavigationColumn").Width = new GridLength(20, GridUnitType.Star); MainGrid.ColumnDefinitions.First(c => c.Name == "ContentColumn").Width = new GridLength(80, GridUnitType.Star); Closing += MainWindow_Closing; _filesPath = @"M:\VA"; _library = _libraryPersister.Load(LibraryFileName) ?? new Library.Model.Library(); BindLibrary(); _mediaPlayer = new WindowsMediaPlayer(); _mediaPlayer.Volume = .5d; }
public MainWindow(ITrackFactory trackFactory, IAppDataPersister<Library.Model.Library> libraryPersister) { _trackFactory = trackFactory; _libraryPersister = libraryPersister; InitializeComponent(); // Defaults Left = Settings.Default.MainWindowLeft; Top = Settings.Default.MainWindowTop; Width = Settings.Default.MainWindowWidth; Height = Settings.Default.MainWindowHeight; MainGrid.ColumnDefinitions.First(c => c.Name == "NavigationColumn").Width = new GridLength(20, GridUnitType.Star); MainGrid.ColumnDefinitions.First(c => c.Name == "ContentColumn").Width = new GridLength(80, GridUnitType.Star); Closing += MainWindow_Closing; _filesPath = @"M:\VA"; _library = _libraryPersister.Load(LibraryFileName) ?? new Library.Model.Library(); BindLibrary(); _mediaPlayer = new WindowsMediaPlayer(); _mediaPlayer.Volume = .5d; }
public Airspace(ITrackFactory track) { track.OnTrackListDoneEvent += Track_OnTrackListDoneEvent; }
public Conference(ITrackFactory factory) { tracks = new List <Tracker>(); trackFactory = factory; }
public void SetUp() { _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>(); _fakeTrackFactory = Substitute.For <ITrackFactory>(); _uut = new TransponderDataReceiver(_fakeTransponderReceiver, _fakeTrackFactory); }
public TransponderDataReceiver(ITransponderReceiver transponderReceiver, ITrackFactory trackFactory) { _trackFactory = trackFactory; transponderReceiver.TransponderDataReady += HandleTransponderData; }
public void Setup() { _trFakeData = Substitute.For <ITransponderReceiver>(); _trackFactory = new TrackFactory(_trFakeData); _uut = new Airspace(_trackFactory); _insideAirspaceTrack = new Track() { Altitude = 8000, AltitudeOld = 0, Heading = 0, Tag = "PIE284", TimeStamp = DateTime.Now, //DateTime.Parse("20170914T225015100Z"), TimeStampOld = DateTime.Now, //DateTime.Parse("20170914T225015100Z"), Velocity = 0, XCoord = 15000, YCoord = 25000, XCoordOld = 0, YCoordOld = 0 }; _outsideAirspaceTrackAlt = new Track() { Altitude = 10, AltitudeOld = 0, Heading = 0, Tag = "AAA666", TimeStamp = DateTime.Now, //DateTime.Parse("20170914225015100"), TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"), Velocity = 0, XCoord = 15000, YCoord = 25000, XCoordOld = 0, YCoordOld = 0 }; _outsideAirspaceTrackX = new Track() { Altitude = 8000, AltitudeOld = 0, Heading = 0, Tag = "BBB666", TimeStamp = DateTime.Now, //DateTime.Parse("20170914225015100"), TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"), Velocity = 0, XCoord = 150000, YCoord = 25000, XCoordOld = 0, YCoordOld = 0 }; _outsideAirspaceTrackY = new Track() { Altitude = 8000, AltitudeOld = 0, Heading = 0, Tag = "CCC666", TimeStamp = DateTime.Now, //DateTime.Parse("20170914225015100"), TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"), Velocity = 0, XCoord = 15000, YCoord = 250000, XCoordOld = 0, YCoordOld = 0 }; //_fakeTrackFactory.OnTrackListDoneEvent += (o, args) => { testDictionary = args; }; }
public void Setup() { _fakeTrackFactory = Substitute.For <ITrackFactory>(); _uut = new Airspace(_fakeTrackFactory); _insideAirspaceTrack = new Track() { Altitude = 8000, AltitudeOld = 0, Heading = 0, Tag = "PIE284", TimeStamp = DateTime.Now, //DateTime.Parse("20170914T225015100Z"), TimeStampOld = DateTime.Now, //DateTime.Parse("20170914T225015100Z"), Velocity = 0, XCoord = 15000, YCoord = 25000, XCoordOld = 0, YCoordOld = 0 }; _outsideAirspaceTrackAlt = new Track() { Altitude = 10, AltitudeOld = 0, Heading = 0, Tag = "AAA666", TimeStamp = DateTime.Now, //DateTime.Parse("20170914225015100"), TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"), Velocity = 0, XCoord = 15000, YCoord = 25000, XCoordOld = 0, YCoordOld = 0 }; _outsideAirspaceTrackX = new Track() { Altitude = 8000, AltitudeOld = 0, Heading = 0, Tag = "BBB666", TimeStamp = DateTime.Now, //DateTime.Parse("20170914225015100"), TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"), Velocity = 0, XCoord = 150000, YCoord = 25000, XCoordOld = 0, YCoordOld = 0 }; _outsideAirspaceTrackY = new Track() { Altitude = 8000, AltitudeOld = 0, Heading = 0, Tag = "CCC666", TimeStamp = DateTime.Now, //DateTime.Parse("20170914225015100"), TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"), Velocity = 0, XCoord = 15000, YCoord = 250000, XCoordOld = 0, YCoordOld = 0 }; }
public void Setup() { _trFakeData = Substitute.For <ITransponderReceiver>(); _trackFactory = new TrackFactory(_trFakeData); _airspace = new Airspace(_trackFactory); _uut = new Separation(_airspace); _insideAirspacePlane1 = new Track() { Altitude = 8000, AltitudeOld = 8000, Heading = 0, Tag = "PIE284", TimeStamp = new DateTime(2018, 11, 1, 11, 11, 11, 0), TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0), Velocity = 0, XCoord = 15000, YCoord = 15000, XCoordOld = 16000, YCoordOld = 16000 }; _insideAirspacePlane2 = new Track() { Altitude = 8200, AltitudeOld = 8200, Heading = 0, Tag = "PIE285", TimeStamp = new DateTime(2018, 11, 1, 11, 11, 11, 0), TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0), Velocity = 0, XCoord = 18000, YCoord = 18000, XCoordOld = 17000, YCoordOld = 17000 }; _insideAirspacePlane3 = new Track() { Altitude = 15000, AltitudeOld = 15000, Heading = 0, Tag = "PIE286", TimeStamp = new DateTime(2018, 11, 1, 11, 11, 11, 0), TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0), Velocity = 0, XCoord = 18000, YCoord = 18000, XCoordOld = 17000, YCoordOld = 17000 }; _uut.OnPlaneCollision += (s, e) => { FoundPlanesOnCollision = true; if (e.Plane1.Tag == e.Plane2.Tag) { Assert.Fail(); } if (_insideAirspacePlane1.Tag == e.Plane1.Tag || _insideAirspacePlane1.Tag == e.Plane2.Tag || _insideAirspacePlane2.Tag == e.Plane1.Tag || _insideAirspacePlane2.Tag == e.Plane2.Tag) { Assert.IsTrue(Math.Abs(e.Plane1.Altitude - e.Plane2.Altitude) <= verticalSeparation && Math.Abs(e.Plane1.XCoord - e.Plane2.XCoord) <= horizontalSeparation && Math.Abs(e.Plane1.YCoord - e.Plane2.YCoord) <= horizontalSeparation); } else { Assert.Fail(); } }; }
public TrackManager(ITrackFactory factoryObj, ICategoricalObjectPool <BeatBlock> beatBlockPool) { trackFactory = factoryObj; this.beatBlockPool = beatBlockPool; isCurrentlyPlayingTrack = false; }
public TrackServices(ITrackRepository trackRepository, IUserRepository userRepository, ITrackFactory trackFactory) { _trackRepository = trackRepository; _userRepository = userRepository; _trackFactory = trackFactory; }