Mercurial > hg > ugly-duckling
changeset 472:9251232b689e
Bring through (but don't yet use) bin names from output descriptor
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Fri, 30 Jun 2017 09:07:12 +0100 |
parents | b69a223166b5 |
children | de23ea6bcd0d |
files | src/app/analysis-item/analysis-item.component.html src/app/visualisations/FeatureUtilities.ts src/app/visualisations/grid/grid.component.ts |
diffstat | 3 files changed, 22 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/src/app/analysis-item/analysis-item.component.html Thu Jun 29 15:06:16 2017 +0100 +++ b/src/app/analysis-item/analysis-item.component.html Fri Jun 30 09:07:12 2017 +0100 @@ -78,10 +78,8 @@ [duration]="getDuration()" ></ugly-notes> </ugly-cross-hair-inspector> - <ugly-cross-hair-inspector + <ugly-vertical-scale *ngSwitchCase="'matrix'" - [unit]="item.unit" - [isAnimated]="isActive" > <ugly-grid [colour]="getNextColour()" @@ -91,7 +89,7 @@ [grid]="item.collected" [duration]="getDuration()" ></ugly-grid> - </ugly-cross-hair-inspector> + </ugly-vertical-scale> <ugly-instants *ngSwitchCase="'instants'" [colour]="getNextColour()" @@ -101,15 +99,6 @@ [instants]="item.collected" [duration]="getDuration()" ></ugly-instants> -<!-- <ugly-grid - *ngSwitchCase="'matrix'" - [timeline]="timeline" - [width]="contentWidth" - [onSeek]="onSeek" - [grid]="item.collected" - [duration]="getDuration()" - ></ugly-grid> ---> <div *ngSwitchDefault>Feature cannot be visualised.</div> </ugly-waves-play-head>
--- a/src/app/visualisations/FeatureUtilities.ts Thu Jun 29 15:06:16 2017 +0100 +++ b/src/app/visualisations/FeatureUtilities.ts Fri Jun 30 09:07:12 2017 +0100 @@ -74,9 +74,13 @@ type ShapeDeducedFromList = 'instants' | 'notes'; export type HigherLevelFeatureShape = CollectedShape | ShapeDeducedFromList; +export interface AugmentedMatrixFeature extends MatrixFeature { + binNames: string[]; +} + export type ShapedFeatureData = VectorFeature - | MatrixFeature + | AugmentedMatrixFeature | TracksFeature | Note[] | Instant[]; @@ -89,7 +93,7 @@ } export class Vector extends ShapedFeature<'vector', VectorFeature> {} -export class Matrix extends ShapedFeature<'matrix', MatrixFeature> {} +export class Matrix extends ShapedFeature<'matrix', AugmentedMatrixFeature> {} export class Tracks extends ShapedFeature<'tracks', TracksFeature> {} export class Notes extends ShapedFeature<'notes', Note[]> {} export class Instants extends ShapedFeature<'instants', Instant[]> {} @@ -148,7 +152,12 @@ case 'vector': return response.features as Vector; case 'matrix': - return response.features as Matrix; + return { + shape: deducedShape, + collected: Object.assign(response.features.collected, { + binNames: response.outputDescriptor.configured.binNames || [] + }) + } as Matrix; case 'tracks': return response.features as Tracks; case 'notes':
--- a/src/app/visualisations/grid/grid.component.ts Thu Jun 29 15:06:16 2017 +0100 +++ b/src/app/visualisations/grid/grid.component.ts Fri Jun 30 09:07:12 2017 +0100 @@ -15,7 +15,7 @@ Input, } from '@angular/core'; import Waves from 'waves-ui-piper'; -import {MatrixFeature} from 'piper/HigherLevelUtilities'; +import {AugmentedMatrixFeature} from '../FeatureUtilities'; import {iceMapper} from '../../spectrogram/ColourMap'; import {estimatePercentile} from '../../spectrogram/MatrixUtils'; @@ -27,13 +27,13 @@ providers: [ {provide: VerticallyBounded, useExisting: GridComponent }, {provide: VerticalScaleRenderer, useExisting: GridComponent }, - {provide: VerticalValueInspectorRenderer, useExisting: GridComponent }, {provide: WavesComponent, useExisting: GridComponent} ] }) -export class GridComponent extends VerticallyBoundedWavesComponent<MatrixFeature> { - @Input() set grid(grid: MatrixFeature) { +export class GridComponent extends VerticallyBoundedWavesComponent<AugmentedMatrixFeature> { + + @Input() set grid(grid: AugmentedMatrixFeature) { this.feature = grid; } @@ -68,6 +68,10 @@ } get range(): [number, number] { + + const bins = this.feature.binNames; + console.log("have " + bins.length + " bins"); + return [0, this.feature.data.length > 0 ? this.feature.data[0].length : 0]; } }