Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 private void UnsetAudioTrack()
 {
     if (audioTrack != null)
     {
         audioTrack.BalanceChanged   -= OnAudioTrackBalanceChanged;
         audioTrack.VolumeChanged    -= OnAudioTrackVolumeChanged;
         audioTrack.LengthChanged    -= OnAudioTrackLengthChanged;
         audioStream.WaveformChanged -= OnAudioStreamWaveformChanged;
         audioStream.Close();
         audioStream = null;
         audioTrack  = null;
     }
 }
Ejemplo n.º 4
0
        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;
        }