diff src/app/visualisations/curve/curve.component.ts @ 488:64ed45a0bad3

Introduce PlayheadRenderer, implement in the waves base. Make VerticallyBounded and VerticalScaleRenderer generic and remove bin equivalents. Forward calls for a PlayheadRenderer from VerticalScaleComponent on to its children. Also update other components accordingly.
author Lucas Thompson <dev@lucas.im>
date Wed, 05 Jul 2017 18:42:12 +0100
parents 89674c064cda
children ab43880f1cd5
line wrap: on
line diff
--- a/src/app/visualisations/curve/curve.component.ts	Wed Jul 05 17:28:24 2017 +0100
+++ b/src/app/visualisations/curve/curve.component.ts	Wed Jul 05 18:42:12 2017 +0100
@@ -10,6 +10,8 @@
 import {OnSeekHandler} from '../../playhead/PlayHeadHelpers';
 import {VectorFeature} from 'piper/HigherLevelUtilities';
 import {
+  PlayheadManager,
+  PlayheadRenderer,
   VerticallyBounded,
   VerticalScaleRenderer,
   VerticalValueInspectorRenderer,
@@ -33,10 +35,13 @@
     {provide: VerticallyBounded, useExisting: CurveComponent },
     {provide: VerticalScaleRenderer, useExisting: CurveComponent},
     {provide: VerticalValueInspectorRenderer, useExisting: CurveComponent},
+    {provide: PlayheadRenderer, useExisting: CurveComponent },
     {provide: WavesComponent, useExisting: CurveComponent}
   ]
 })
-export class CurveComponent implements VerticalValueInspectorRenderer {
+export class CurveComponent
+  implements VerticalValueInspectorRenderer, PlayheadRenderer {
+
   @Input() timeline: Timeline; // TODO refactor WaveComponents to have own Timeline, sharing a TimeContext
   @Input() onSeek: OnSeekHandler;
   @Input() width: number;
@@ -45,6 +50,10 @@
   @Input() duration: number;
   @ViewChild(TracksComponent) tracksComponent: TracksComponent;
 
+  renderPlayhead(initialTime: number, colour: string): PlayheadManager {
+    return this.tracksComponent.renderPlayhead(initialTime, colour);
+  }
+
   renderInspector(range: [number, number], unit?: string): void {
     this.tracksComponent.renderInspector(range, unit);
   }