annotate layer/LogNumericalScale.h @ 1386:fc3d89f88690 spectrogramparam

Use log-frequency rather than log-bin for calculating x coord in spectrum. This has the advantage that frequency positions don't move when we change the window size or oversampling ratio, but it does give us an unhelpfully large amount of space for very low frequencies - to be considered
author Chris Cannam
date Mon, 12 Nov 2018 11:34:34 +0000
parents fc9d9f1103fa
children
rev   line source
Chris@696 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@696 2
Chris@696 3 /*
Chris@696 4 Sonic Visualiser
Chris@696 5 An audio file viewer and annotation editor.
Chris@696 6 Centre for Digital Music, Queen Mary, University of London.
Chris@1281 7 This file copyright 2006-2018 Chris Cannam and QMUL.
Chris@696 8
Chris@696 9 This program is free software; you can redistribute it and/or
Chris@696 10 modify it under the terms of the GNU General Public License as
Chris@696 11 published by the Free Software Foundation; either version 2 of the
Chris@696 12 License, or (at your option) any later version. See the file
Chris@696 13 COPYING included with this distribution for more information.
Chris@696 14 */
Chris@696 15
Chris@1276 16 #ifndef SV_LOG_NUMERICAL_SCALE_H
Chris@1276 17 #define SV_LOG_NUMERICAL_SCALE_H
Chris@696 18
Chris@696 19 #include <QRect>
Chris@696 20
Chris@696 21 class QPainter;
Chris@918 22 class LayerGeometryProvider;
Chris@696 23 class VerticalScaleLayer;
Chris@696 24
Chris@696 25 class LogNumericalScale
Chris@696 26 {
Chris@696 27 public:
Chris@1281 28 int getWidth(LayerGeometryProvider *v, QPainter &paint);
Chris@696 29
Chris@696 30 void paintVertical
Chris@1276 31 (LayerGeometryProvider *v, const VerticalScaleLayer *layer,
Chris@1276 32 QPainter &paint, int x0, double minlog, double maxlog);
Chris@696 33 };
Chris@696 34
Chris@696 35 #endif
Chris@696 36