Mercurial > hg > svapp
annotate audio/PlaySpeedRangeMapper.h @ 738:48001ed9143b audio-source-refactor
Introduce TimeStretchWrapper; some work towards making the AudioCallbackPlaySource not actually try to be an ApplicationPlaybackSource itself but only return one that is constructed from wrappers that it controls the lifespan of
author | Chris Cannam |
---|---|
date | Wed, 18 Mar 2020 12:51:41 +0000 |
parents | 26a0cb8335e3 |
children |
rev | line source |
---|---|
Chris@43 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
Chris@43 | 2 |
Chris@43 | 3 /* |
Chris@43 | 4 Sonic Visualiser |
Chris@43 | 5 An audio file viewer and annotation editor. |
Chris@43 | 6 Centre for Digital Music, Queen Mary, University of London. |
Chris@43 | 7 This file copyright 2006 QMUL. |
Chris@43 | 8 |
Chris@43 | 9 This program is free software; you can redistribute it and/or |
Chris@43 | 10 modify it under the terms of the GNU General Public License as |
Chris@43 | 11 published by the Free Software Foundation; either version 2 of the |
Chris@43 | 12 License, or (at your option) any later version. See the file |
Chris@43 | 13 COPYING included with this distribution for more information. |
Chris@43 | 14 */ |
Chris@43 | 15 |
Chris@635 | 16 #ifndef SV_PLAY_SPEED_RANGE_MAPPER_H |
Chris@635 | 17 #define SV_PLAY_SPEED_RANGE_MAPPER_H |
Chris@43 | 18 |
Chris@43 | 19 #include "base/RangeMapper.h" |
Chris@43 | 20 |
Chris@43 | 21 class PlaySpeedRangeMapper : public RangeMapper |
Chris@43 | 22 { |
Chris@43 | 23 public: |
Chris@466 | 24 PlaySpeedRangeMapper(); |
Chris@43 | 25 |
Chris@466 | 26 int getMinPosition() const { return m_minpos; } |
Chris@466 | 27 int getMaxPosition() const { return m_maxpos; } |
Chris@466 | 28 |
Chris@634 | 29 int getPositionForValue(double value) const override; |
Chris@634 | 30 int getPositionForValueUnclamped(double value) const override; |
Chris@330 | 31 |
Chris@634 | 32 double getValueForPosition(int position) const override; |
Chris@634 | 33 double getValueForPositionUnclamped(int position) const override; |
Chris@43 | 34 |
Chris@434 | 35 int getPositionForFactor(double factor) const; |
Chris@434 | 36 double getValueForFactor(double factor) const; |
Chris@43 | 37 |
Chris@434 | 38 double getFactorForPosition(int position) const; |
Chris@434 | 39 double getFactorForValue(double value) const; |
Chris@43 | 40 |
Chris@634 | 41 QString getUnit() const override; |
Chris@43 | 42 |
Chris@43 | 43 protected: |
Chris@43 | 44 int m_minpos; |
Chris@43 | 45 int m_maxpos; |
Chris@43 | 46 }; |
Chris@43 | 47 |
Chris@43 | 48 |
Chris@43 | 49 #endif |