TagLib API Documentation
s3mproperties.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_S3MPROPERTIES_H
27#define TAGLIB_S3MPROPERTIES_H
28
29#include "audioproperties.h"
30
31namespace TagLib {
32 namespace S3M {
35 public:
37 enum {
38 ST2Vibrato = 1,
39 ST2Tempo = 2,
40 AmigaSlides = 4,
41 Vol0MixOptimizations = 8,
42 AmigaLimits = 16,
43 EnableFilter = 32,
44 CustomData = 128
45 };
46
48 ~Properties() override;
49
50 Properties(const Properties &) = delete;
51 Properties &operator=(const Properties &) = delete;
52
53 int channels() const override;
54
55 unsigned short lengthInPatterns() const;
56 bool stereo() const;
57 unsigned short sampleCount() const;
58 unsigned short patternCount() const;
59 unsigned short flags() const;
60 unsigned short trackerVersion() const;
61 unsigned short fileFormatVersion() const;
62 unsigned char globalVolume() const;
63 unsigned char masterVolume() const;
64 unsigned char tempo() const;
65 unsigned char bpmSpeed() const;
66
67 void setChannels(int channels);
68
69 void setLengthInPatterns(unsigned short lengthInPatterns);
70 void setStereo(bool stereo);
71 void setSampleCount(unsigned short sampleCount);
72 void setPatternCount(unsigned short patternCount);
73 void setFlags(unsigned short flags);
74 void setTrackerVersion(unsigned short trackerVersion);
75 void setFileFormatVersion(unsigned short fileFormatVersion);
76 void setGlobalVolume(unsigned char globalVolume);
77 void setMasterVolume(unsigned char masterVolume);
78 void setTempo(unsigned char tempo);
79 void setBpmSpeed(unsigned char bpmSpeed);
80
81 private:
82 class PropertiesPrivate;
84 std::unique_ptr<PropertiesPrivate> d;
85 };
86 } // namespace S3M
87} // namespace TagLib
88
89#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 S3M.
Definition: s3mproperties.h:34
unsigned char masterVolume() const
void setLengthInPatterns(unsigned short lengthInPatterns)
void setGlobalVolume(unsigned char globalVolume)
unsigned short lengthInPatterns() const
unsigned char tempo() const
int channels() const override
unsigned char globalVolume() const
void setFileFormatVersion(unsigned short fileFormatVersion)
void setMasterVolume(unsigned char masterVolume)
Properties(AudioProperties::ReadStyle propertiesStyle)
Properties & operator=(const Properties &)=delete
void setSampleCount(unsigned short sampleCount)
void setPatternCount(unsigned short patternCount)
Properties(const Properties &)=delete
unsigned short flags() const
unsigned char bpmSpeed() const
void setTrackerVersion(unsigned short trackerVersion)
void setChannels(int channels)
void setFlags(unsigned short flags)
void setTempo(unsigned char tempo)
unsigned short sampleCount() const
void setBpmSpeed(unsigned char bpmSpeed)
void setStereo(bool stereo)
unsigned short patternCount() const
unsigned short trackerVersion() const
unsigned short fileFormatVersion() 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