TagLib  1.13.1
xmproperties.h
Go to the documentation of this file.
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_XMPROPERTIES_H
27#define TAGLIB_XMPROPERTIES_H
28
29#include "taglib.h"
30#include "tstring.h"
31#include "audioproperties.h"
32
33namespace TagLib {
34 namespace XM {
36 friend class File;
37 public:
39 enum {
40 LinearFreqTable = 1 // otherwise its the amiga freq. table
41 };
42
44 virtual ~Properties();
45
46 int length() const;
47 int lengthInSeconds() const;
49 int bitrate() const;
50 int sampleRate() const;
51 int channels() const;
52
53 unsigned short lengthInPatterns() const;
54 unsigned short version() const;
55 unsigned short restartPosition() const;
56 unsigned short patternCount() const;
57 unsigned short instrumentCount() const;
58 unsigned int sampleCount() const;
59 unsigned short flags() const;
60 unsigned short tempo() const;
61 unsigned short bpmSpeed() const;
62
64
66 void setVersion(unsigned short version);
67 void setRestartPosition(unsigned short restartPosition);
68 void setPatternCount(unsigned short patternCount);
69 void setInstrumentCount(unsigned short instrumentCount);
70 void setSampleCount(unsigned int sampleCount);
71 void setFlags(unsigned short flags);
72 void setTempo(unsigned short tempo);
73 void setBpmSpeed(unsigned short bpmSpeed);
74
75 private:
76 Properties(const Properties&);
77 Properties &operator=(const Properties&);
78
79 class PropertiesPrivate;
80 PropertiesPrivate *d;
81 };
82 } // namespace XM
83} // namespace TagLib
84
85#endif
AudioProperties(ReadStyle style)
ReadStyle
Definition audioproperties.h:53
void setChannels(int channels)
void setFlags(unsigned short flags)
void setVersion(unsigned short version)
unsigned short lengthInPatterns() const
unsigned short bpmSpeed() const
@ LinearFreqTable
Definition xmproperties.h:40
void setTempo(unsigned short tempo)
void setSampleCount(unsigned int sampleCount)
unsigned short version() const
unsigned short flags() const
void setBpmSpeed(unsigned short bpmSpeed)
friend class File
Definition xmproperties.h:36
unsigned int sampleCount() const
unsigned short restartPosition() const
void setInstrumentCount(unsigned short instrumentCount)
unsigned short patternCount() const
void setRestartPosition(unsigned short restartPosition)
void setLengthInPatterns(unsigned short lengthInPatterns)
void setPatternCount(unsigned short patternCount)
Properties(AudioProperties::ReadStyle propertiesStyle)
unsigned short tempo() const
int lengthInSeconds() const
int lengthInMilliseconds() const
unsigned short instrumentCount() const
Definition xmfile.h:38
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
#define TAGLIB_EXPORT
Definition taglib_export.h:40