TagLib  2.2.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 "tstring.h"
30#include "audioproperties.h"
31
32namespace TagLib {
33 namespace XM {
36 public:
38 enum {
39 LinearFreqTable = 1 // otherwise it is the amiga freq. table
40 };
41
43 ~Properties() override;
44
45 Properties(const Properties &) = delete;
46 Properties &operator=(const Properties &) = delete;
47
48 int channels() const override;
49
50 unsigned short lengthInPatterns() const;
51 unsigned short version() const;
52 unsigned short restartPosition() const;
53 unsigned short patternCount() const;
54 unsigned short instrumentCount() const;
55 unsigned int sampleCount() const;
56 unsigned short flags() const;
57 unsigned short tempo() const;
58 unsigned short bpmSpeed() const;
59
61
63 void setVersion(unsigned short version);
64 void setRestartPosition(unsigned short restartPosition);
65 void setPatternCount(unsigned short patternCount);
66 void setInstrumentCount(unsigned short instrumentCount);
67 void setSampleCount(unsigned int sampleCount);
68 void setFlags(unsigned short flags);
69 void setTempo(unsigned short tempo);
70 void setBpmSpeed(unsigned short bpmSpeed);
71
72 private:
73 class PropertiesPrivate;
75 std::unique_ptr<PropertiesPrivate> d;
76 };
77 } // namespace XM
78} // namespace TagLib
79
80#endif
AudioProperties(const AudioProperties &)=delete
ReadStyle
Definition audioproperties.h:56
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)
@ LinearFreqTable
Definition xmproperties.h:39
void setSampleCount(unsigned int sampleCount)
unsigned short version() const
Properties & operator=(const Properties &)=delete
unsigned short flags() const
void setBpmSpeed(unsigned short bpmSpeed)
unsigned int sampleCount() const
Properties(const Properties &)=delete
unsigned short restartPosition() const
int channels() const override
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
unsigned short instrumentCount() const
An implementation of Extended Module metadata.
Definition xmfile.h:44
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
#define TAGLIB_EXPORT
Definition taglib_export.h:40
#define TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
Definition taglib_export.h:55