TagLib API Documentation
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
60 void setChannels(int channels);
61
62 void setLengthInPatterns(unsigned short lengthInPatterns);
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
A simple, abstract interface to common audio properties.
Definition: audioproperties.h:46
ReadStyle
Definition: audioproperties.h:56
An implementation of audio property reading for XM.
Definition: xmproperties.h:35
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
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
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