annotate base/Pitch.h @ 184:5a916fee6d2d

* Handle generator transforms (plugins whose channel count isn't dependent on number of audio inputs, as they have none) * Be less keen to suspend writing FFT data in spectrogram repaint -- only do it if we find we actually need to query the FFT data (i.e. we aren't repainting an area that hasn't been generated at all yet)
author Chris Cannam
date Tue, 10 Oct 2006 19:04:57 +0000
parents 4f26f623a8bc
children e412f65884ee
rev   line source
Chris@49 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@19 2
Chris@19 3 /*
Chris@52 4 Sonic Visualiser
Chris@52 5 An audio file viewer and annotation editor.
Chris@52 6 Centre for Digital Music, Queen Mary, University of London.
Chris@52 7 This file copyright 2006 Chris Cannam.
Chris@19 8
Chris@52 9 This program is free software; you can redistribute it and/or
Chris@52 10 modify it under the terms of the GNU General Public License as
Chris@52 11 published by the Free Software Foundation; either version 2 of the
Chris@52 12 License, or (at your option) any later version. See the file
Chris@52 13 COPYING included with this distribution for more information.
Chris@19 14 */
Chris@19 15
Chris@19 16 #ifndef _PITCH_H_
Chris@19 17 #define _PITCH_H_
Chris@19 18
Chris@19 19 #include <QString>
Chris@19 20
Chris@19 21 class Pitch
Chris@19 22 {
Chris@19 23 public:
Chris@141 24 /* If concertA <= 0, it will be taken from current preferences */
Chris@141 25
Chris@19 26 static float getFrequencyForPitch(int midiPitch,
Chris@19 27 float centsOffset = 0,
Chris@141 28 float concertA = 0.0);
Chris@19 29
Chris@19 30 static int getPitchForFrequency(float frequency,
Chris@19 31 float *centsOffsetReturn = 0,
Chris@141 32 float concertA = 0.0);
Chris@19 33
Chris@19 34 static QString getPitchLabel(int midiPitch,
Chris@26 35 float centsOffset = 0,
Chris@26 36 bool useFlats = false);
Chris@19 37
Chris@19 38 static QString getPitchLabelForFrequency(float frequency,
Chris@141 39 float concertA = 0.0,
Chris@26 40 bool useFlats = false);
Chris@19 41 };
Chris@19 42
Chris@19 43
Chris@19 44 #endif