TagLib  2.1
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 {
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
68
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);
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
AudioProperties(const AudioProperties &)=delete
ReadStyle
Definition audioproperties.h:56
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)
@ AmigaSlides
Definition s3mproperties.h:40
@ ST2Tempo
Definition s3mproperties.h:39
@ EnableFilter
Definition s3mproperties.h:43
@ AmigaLimits
Definition s3mproperties.h:42
@ Vol0MixOptimizations
Definition s3mproperties.h:41
@ ST2Vibrato
Definition s3mproperties.h:38
@ CustomData
Definition s3mproperties.h:44
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
An implementation of ScreamTracker III metadata.
Definition s3mfile.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