annotate audio/PlaySpeedRangeMapper.h @ 708:721eb532840d

Fix to avoid ffwd/rwd getting stuck at a single point if it translates to the playback frame again on alignment
author Chris Cannam
date Mon, 16 Sep 2019 13:28:40 +0100
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