1 /*************************************************************************** 2 copyright : (C) 2011 by Mathias Panzenböck 3 email : grosser.meister.morti@gmx.net 4 ***************************************************************************/ 5 6 /*************************************************************************** 7 * This library is free software; you can redistribute it and/or modify * 8 * it under the terms of the GNU Lesser General Public License version * 9 * 2.1 as published by the Free Software Foundation. * 10 * * 11 * This library is distributed in the hope that it will be useful, but * 12 * WITHOUT ANY WARRANTY; without even the implied warranty of * 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 14 * Lesser General Public License for more details. * 15 * * 16 * You should have received a copy of the GNU Lesser General Public * 17 * License along with this library; if not, write to the Free Software * 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 19 * 02110-1301 USA * 20 * * 21 * Alternatively, this file is available under the Mozilla Public * 22 * License Version 1.1. You may obtain a copy of the License at * 23 * http://www.mozilla.org/MPL/ * 24 ***************************************************************************/ 25 26 #ifndef TAGLIB_MODPROPERTIES_H 27 #define TAGLIB_MODPROPERTIES_H 28 29 #include "taglib.h" 30 #include "audioproperties.h" 31 32 namespace TagLib { 33 34 namespace Mod { 35 36 class TAGLIB_EXPORT Properties : public AudioProperties 37 { 38 public: 39 Properties(AudioProperties::ReadStyle propertiesStyle); 40 virtual ~Properties(); 41 42 int length() const; 43 int lengthInSeconds() const; 44 int lengthInMilliseconds() const; 45 int bitrate() const; 46 int sampleRate() const; 47 int channels() const; 48 49 unsigned int instrumentCount() const; 50 unsigned char lengthInPatterns() const; 51 52 void setChannels(int channels); 53 54 void setInstrumentCount(unsigned int sampleCount); 55 void setLengthInPatterns(unsigned char lengthInPatterns); 56 57 private: 58 friend class File; 59 60 Properties(const Properties&); 61 Properties &operator=(const Properties&); 62 63 class PropertiesPrivate; 64 PropertiesPrivate *d; 65 }; 66 67 } 68 69 } 70 71 #endif 72