public SoundVisualizerVM(IValueHolderReadOnly<short[]> samples, IValueHolderReadOnly<int> samplingRate) { _color = new ValueHolder<Color>(); _samplingRate = samplingRate; _samples = samples; _frequencies = new ValueHolder<IReadOnlyList<KeyValuePair<Frequency, double>>>(); _amplitudes = new ValueHolder<IReadOnlyList<KeyValuePair<int, double>>>(); _averageIntensity = new ValueHolder<double>(); _averageAmplitudeFromLastSampling = new ValueHolder<double>(); Sound2ColorMappings = new List<ISound2ColorMapping>{ new LinearSound2ColorMapping{ Color = System.Windows.Media.Color.FromRgb(0,0,255), IntensityMultiplier = 0.8, SoundFrequencyMidpoint = new Frequency(250), SoundFrequencySpanWidth = new Frequency(300)}, new LinearSound2ColorMapping{ Color = System.Windows.Media.Color.FromRgb(0,255,0), IntensityMultiplier = 1.1, SoundFrequencyMidpoint = new Frequency(700), SoundFrequencySpanWidth = new Frequency(450)}, new LinearSound2ColorMapping{ Color = System.Windows.Media.Color.FromRgb(255,0,0), IntensityMultiplier = 0.9, SoundFrequencyMidpoint = new Frequency(1500), SoundFrequencySpanWidth = new Frequency(1000)}, new LinearSound2ColorMapping{ Color = System.Windows.Media.Color.FromRgb(255,0,0), IntensityMultiplier = 0.4, SoundFrequencyMidpoint = new Frequency(2600), SoundFrequencySpanWidth = new Frequency(1400)}}; _samples.PropertyChanged += HandleAmplitudesChanged; _samplingRate.PropertyChanged += HandleSamplingRateChanged; }
public ShipStatusViewModel(IValueHolderReadOnly <IShipReadOnly> selectedShip) { _selectedShip = selectedShip; _selectedShip.PropertyChanged += HandleSelectedShipPropertyChanged; HandleSelectedShipPropertyChanged(this, new PropertyChangedEventArgs(null)); }
public ShipOrderViewModel(IValueHolderReadOnly <IShipReadOnly> selectedShip, IShipOrderEditor shipOrderManager) { _selectedShip = selectedShip; _selectedShip.PropertyChanged += HandleSelectedShipPropertyChanged; _shipOrderManager = shipOrderManager; HandleSelectedShipPropertyChanged(this, new PropertyChangedEventArgs(null)); }
public LandMassViewModel(LandMass landMass, IValueHolderReadOnly <double> metersPerPixel, IValueHolderReadOnly <double> seaMapSizeInPixels) { _landMass = landMass; _metersPerPixel = metersPerPixel; _seaMapSizeInPixels = seaMapSizeInPixels; _metersPerPixel.PropertyChanged += HandleMetersPerPixelPropertyChanged; HandleMetersPerPixelPropertyChanged(this, new PropertyChangedEventArgs(null)); }
public ShipViewModel(IShipReadOnly ship, IValueHolderReadOnly <double> metersPerPixel, IValueHolderReadOnly <double> seaMapSizeInPixels, IValueHolder <IShipReadOnly> selectedShip) { _ship = ship; _ship.PropertyChanged += HandleShipPropertyChanged; _metersPerPixel = metersPerPixel; _metersPerPixel.PropertyChanged += HandleMetersPerPixelPropertyChanged; _seaMapSizeInPixels = seaMapSizeInPixels; _selectedShip = selectedShip; _selectedShip.PropertyChanged += HandleSelectedShipPropertyChanged; UpdateShape(); }