TagLib API Documentation
itproperties.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_ITPROPERTIES_H
27#define TAGLIB_ITPROPERTIES_H
28
29#include "audioproperties.h"
30
31namespace TagLib {
32 namespace IT {
35 public:
37 enum {
38 Stereo = 1,
39 Vol0MixOptimizations = 2,
40 UseInstruments = 4,
41 LinearSlides = 8,
42 OldEffects = 16,
43 LinkEffects = 32,
44 UseMidiPitchController = 64,
45 RequestEmbeddedMidiConf = 128
46 };
47
49 enum {
50 MessageAttached = 1,
51 MidiConfEmbedded = 8
52 };
53
55 ~Properties() override;
56
57 Properties(const Properties &) = delete;
58 Properties &operator=(const Properties &) = delete;
59
60 int channels() const override;
61
62 unsigned short lengthInPatterns() const;
63 bool stereo() const;
64 unsigned short instrumentCount() const;
65 unsigned short sampleCount() const;
66 unsigned short patternCount() const;
67 unsigned short version() const;
68 unsigned short compatibleVersion() const;
69 unsigned short flags() const;
70 unsigned short special() const;
71 unsigned char globalVolume() const;
72 unsigned char mixVolume() const;
73 unsigned char tempo() const;
74 unsigned char bpmSpeed() const;
75 unsigned char panningSeparation() const;
76 unsigned char pitchWheelDepth() const;
77
78 void setChannels(int channels);
79 void setLengthInPatterns(unsigned short lengthInPatterns);
80 void setInstrumentCount(unsigned short instrumentCount);
81 void setSampleCount(unsigned short sampleCount);
82 void setPatternCount(unsigned short patternCount);
83 void setVersion(unsigned short version);
84 void setCompatibleVersion(unsigned short compatibleVersion);
85 void setFlags(unsigned short flags);
86 void setSpecial(unsigned short special);
87 void setGlobalVolume(unsigned char globalVolume);
88 void setMixVolume(unsigned char mixVolume);
89 void setTempo(unsigned char tempo);
90 void setBpmSpeed(unsigned char bpmSpeed);
91 void setPanningSeparation(unsigned char panningSeparation);
92 void setPitchWheelDepth(unsigned char pitchWheelDepth);
93
94 private:
95 class PropertiesPrivate;
97 std::unique_ptr<PropertiesPrivate> d;
98 };
99 } // namespace IT
100} // namespace TagLib
101
102#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 IT.
Definition: itproperties.h:34
unsigned short special() const
Properties & operator=(const Properties &)=delete
unsigned short flags() const
void setVersion(unsigned short version)
void setBpmSpeed(unsigned char bpmSpeed)
void setChannels(int channels)
Properties(const Properties &)=delete
unsigned short sampleCount() const
void setCompatibleVersion(unsigned short compatibleVersion)
void setPatternCount(unsigned short patternCount)
unsigned char pitchWheelDepth() const
unsigned char mixVolume() const
void setPitchWheelDepth(unsigned char pitchWheelDepth)
unsigned short lengthInPatterns() const
void setMixVolume(unsigned char mixVolume)
int channels() const override
void setLengthInPatterns(unsigned short lengthInPatterns)
unsigned char bpmSpeed() const
unsigned short patternCount() const
unsigned short compatibleVersion() const
void setGlobalVolume(unsigned char globalVolume)
unsigned short version() const
void setTempo(unsigned char tempo)
unsigned char panningSeparation() const
void setPanningSeparation(unsigned char panningSeparation)
unsigned char globalVolume() const
void setSampleCount(unsigned short sampleCount)
void setSpecial(unsigned short special)
unsigned char tempo() const
unsigned short instrumentCount() const
void setFlags(unsigned short flags)
Properties(AudioProperties::ReadStyle propertiesStyle)
void setInstrumentCount(unsigned short instrumentCount)
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