changeset 1110:67dd16e33a3d spectrogram-minor-refactor

Make VerticalBinLayer an actual Layer (via SliceableLayer)
author Chris Cannam
date Tue, 19 Jul 2016 08:55:13 +0100
parents 477521f95a84
children 953ce409ccfb
files layer/Colour3DPlotLayer.h layer/Colour3DPlotRenderer.cpp layer/SpectrogramLayer.h layer/VerticalBinLayer.h
diffstat 4 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/layer/Colour3DPlotLayer.h	Mon Jul 18 15:37:15 2016 +0100
+++ b/layer/Colour3DPlotLayer.h	Tue Jul 19 08:55:13 2016 +0100
@@ -38,8 +38,7 @@
  * implementation that derived the spectrogram itself from a
  * DenseTimeValueModel instead of using a three-dimensional model.
  */
-class Colour3DPlotLayer : public SliceableLayer,
-                          public VerticalBinLayer
+class Colour3DPlotLayer : public VerticalBinLayer
 {
     Q_OBJECT
 
--- a/layer/Colour3DPlotRenderer.cpp	Mon Jul 18 15:37:15 2016 +0100
+++ b/layer/Colour3DPlotRenderer.cpp	Tue Jul 19 08:55:13 2016 +0100
@@ -215,6 +215,8 @@
 
     //!!! todo, here or in caller: illuminateLocalFeatures
 
+    //!!! todo: colourmap rotation
+    
     //!!! fft model scaling?
     
     //!!! should we own the Dense3DModelPeakCache here? or should it persist
--- a/layer/SpectrogramLayer.h	Mon Jul 18 15:37:15 2016 +0100
+++ b/layer/SpectrogramLayer.h	Tue Jul 19 08:55:13 2016 +0100
@@ -48,8 +48,7 @@
  * DenseTimeValueModel) in spectrogram form.
  */
 
-class SpectrogramLayer : public SliceableLayer,
-                         public VerticalBinLayer,
+class SpectrogramLayer : public VerticalBinLayer,
 			 public PowerOfSqrtTwoZoomConstraint
 {
     Q_OBJECT
--- a/layer/VerticalBinLayer.h	Mon Jul 18 15:37:15 2016 +0100
+++ b/layer/VerticalBinLayer.h	Tue Jul 19 08:55:13 2016 +0100
@@ -16,13 +16,15 @@
 #ifndef VERTICAL_BIN_LAYER_H
 #define VERTICAL_BIN_LAYER_H
 
+#include "SliceableLayer.h"
+
 /**
  * Interface for layers in which the Y axis corresponds to bin number
  * rather than scale value. Colour3DPlotLayer is the obvious example.
  *!!! should just be a mapper interface, not a layer one?
  *!!! or even an application of RangeMapper
  */
-class VerticalBinLayer
+class VerticalBinLayer : public SliceableLayer
 {
 public:
     /**