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
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
@ LinearFreqTable
Definition xmproperties.h:40
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