private void SetAudioTrack(AudioTrack audioTrack) { UnsetAudioTrack(); this.audioTrack = audioTrack; audioStream = AudioStreamFactory.FromAudioTrackForGUI(audioTrack); audioStream.WaveformChanged += OnAudioStreamWaveformChanged; audioTrack.LengthChanged += OnAudioTrackLengthChanged; audioTrack.VolumeChanged += OnAudioTrackVolumeChanged; audioTrack.BalanceChanged += OnAudioTrackBalanceChanged; }
public static VisualizingStream FromAudioTrackForGUI(AudioTrack audioTrack) { VisualizingStream visualizingStream = new VisualizingStream(audioTrack.CreateAudioStream(), CreatePeakStore(audioTrack, audioTrack.TimeWarps.Count == 0)); // TODO if timewarps are added but total length stays the same, the peakstore still has to be refreshed audioTrack.LengthChanged += delegate(object sender, ValueEventArgs <TimeSpan> e) { visualizingStream.PeakStore = CreatePeakStore(audioTrack, false); }; return(visualizingStream); }
private void UnsetAudioTrack() { if (audioTrack != null) { audioTrack.BalanceChanged -= OnAudioTrackBalanceChanged; audioTrack.VolumeChanged -= OnAudioTrackVolumeChanged; audioTrack.LengthChanged -= OnAudioTrackLengthChanged; audioStream.WaveformChanged -= OnAudioStreamWaveformChanged; audioStream.Close(); audioStream = null; audioTrack = null; } }
private void SetAudioTrack(AudioTrack audioTrack) { UnsetAudioTrack(); // init renderers waveformBitmapRenderers = new WaveformBitmapRenderer[audioTrack.SourceProperties.Channels]; for (int i = 0; i < waveformBitmapRenderers.Length; i++) { waveformBitmapRenderers[i] = new WaveformBitmapRenderer(); } waveformGeometryRenderers = new WaveformGeometryRenderer[audioTrack.SourceProperties.Channels]; for (int i = 0; i < waveformGeometryRenderers.Length; i++) { waveformGeometryRenderers[i] = new WaveformGeometryRenderer(); } this.audioTrack = audioTrack; audioStream = AudioStreamFactory.FromAudioTrackForGUI(audioTrack); audioStream.WaveformChanged += OnAudioStreamWaveformChanged; audioTrack.LengthChanged += OnAudioTrackLengthChanged; audioTrack.VolumeChanged += OnAudioTrackVolumeChanged; audioTrack.BalanceChanged += OnAudioTrackBalanceChanged; }