changeset 161:30027e471338

Multi-channel waveforms
author Chris Cannam <cannam@all-day-breakfast.com>
date Wed, 22 Mar 2017 08:10:18 +0000
parents 3be7b363fe1a
children fab88270bccc
files src/app/waveform/waveform.component.ts
diffstat 1 files changed, 14 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/app/waveform/waveform.component.ts	Tue Mar 21 21:27:32 2017 +0000
+++ b/src/app/waveform/waveform.component.ts	Wed Mar 22 08:10:18 2017 +0000
@@ -274,12 +274,20 @@
     });
     this.addLayer(timeAxis, waveTrack, this.timeline.timeContext, true);
 
-    const waveformLayer = new wavesUI.helpers.WaveformLayer(buffer, {
-      top: 10,
-      height: height * 0.9,
-      color: 'darkblue'
-    });
-    this.addLayer(waveformLayer, waveTrack, this.timeline.timeContext);
+    const nchannels = buffer.numberOfChannels;
+    const totalWaveHeight = height * 0.9;
+    const waveHeight = totalWaveHeight / nchannels;
+    
+    for (let ch = 0; ch < nchannels; ++ch) {
+      console.log("about to construct a waveform layer for channel " + ch);
+      const waveformLayer = new wavesUI.helpers.WaveformLayer(buffer, {
+	top: (height - totalWaveHeight)/2 + waveHeight * ch,
+	height: waveHeight,
+	color: 'darkblue',
+	channel: ch
+      });
+      this.addLayer(waveformLayer, waveTrack, this.timeline.timeContext);
+    }
 
     this.cursorLayer = new wavesUI.helpers.CursorLayer({
       height: height