svapp  1.9
PlaySpeedRangeMapper.h
Go to the documentation of this file.
00001 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
00002 
00003 /*
00004     Sonic Visualiser
00005     An audio file viewer and annotation editor.
00006     Centre for Digital Music, Queen Mary, University of London.
00007     This file copyright 2006 QMUL.
00008     
00009     This program is free software; you can redistribute it and/or
00010     modify it under the terms of the GNU General Public License as
00011     published by the Free Software Foundation; either version 2 of the
00012     License, or (at your option) any later version.  See the file
00013     COPYING included with this distribution for more information.
00014 */
00015 
00016 #ifndef _PLAY_SPEED_RANGE_MAPPER_H_
00017 #define _PLAY_SPEED_RANGE_MAPPER_H_
00018 
00019 #include "base/RangeMapper.h"
00020 
00021 class PlaySpeedRangeMapper : public RangeMapper
00022 {
00023 public:
00024     PlaySpeedRangeMapper(int minpos, int maxpos);
00025 
00026     virtual int getPositionForValue(float value) const;
00027     virtual int getPositionForValueUnclamped(float value) const;
00028 
00029     virtual float getValueForPosition(int position) const;
00030     virtual float getValueForPositionUnclamped(int position) const;
00031 
00032     int getPositionForFactor(float factor) const;
00033     float getValueForFactor(float factor) const;
00034 
00035     float getFactorForPosition(int position) const;
00036     float getFactorForValue(float value) const;
00037 
00038     virtual QString getUnit() const;
00039     
00040 protected:
00041     int m_minpos;
00042     int m_maxpos;
00043 };
00044 
00045 
00046 #endif