TagLib
2.1
|
An ID3v2 relative volume adjustment frame implementation. More...
#include <relativevolumeframe.h>
Classes | |
struct | PeakVolume |
Struct that stores the relevant values for ID3v2 peak volume. More... |
Public Types | |
enum | ChannelType { Other = 0x00 , MasterVolume = 0x01 , FrontRight = 0x02 , FrontLeft = 0x03 , BackRight = 0x04 , BackLeft = 0x05 , FrontCentre = 0x06 , BackCentre = 0x07 , Subwoofer = 0x08 } |
Protected Member Functions | |
void | parseFields (const ByteVector &data) override |
ByteVector | renderFields () const override |
Protected Member Functions inherited from TagLib::ID3v2::Frame | |
Frame (const ByteVector &data) | |
Frame (Header *h) | |
void | setHeader (Header *h, bool deleteCurrent=true) |
void | parse (const ByteVector &data) |
ByteVector | fieldData (const ByteVector &frameData) const |
String | readStringField (const ByteVector &data, String::Type encoding, int *position=nullptr) |
String::Type | checkTextEncoding (const StringList &fields, String::Type encoding) const |
virtual PropertyMap | asProperties () const |
Friends | |
class | FrameFactory |
Additional Inherited Members | |
Static Public Member Functions inherited from TagLib::ID3v2::Frame | |
static ByteVector | textDelimiter (String::Type t) |
static ByteVector | keyToFrameID (const String &) |
static String | frameIDToKey (const ByteVector &) |
Static Public Attributes inherited from TagLib::ID3v2::Frame | |
static const String | instrumentPrefix |
static const String | commentPrefix |
static const String | lyricsPrefix |
static const String | urlPrefix |
Static Protected Member Functions inherited from TagLib::ID3v2::Frame | |
static void | splitProperties (const PropertyMap &original, PropertyMap &singleFrameProperties, PropertyMap &tiplProperties, PropertyMap &tmclProperties) |
An ID3v2 relative volume adjustment frame implementation.
This is an implementation of ID3v2 relative volume adjustment. The presence of this frame makes it possible to specify an increase in volume for an audio file or specific audio tracks in that file.
Multiple relative volume adjustment frames may be present in the tag each with a unique identification and describing volume adjustment for different channel types.
This indicates the type of volume adjustment that should be applied.
TagLib::ID3v2::RelativeVolumeFrame::RelativeVolumeFrame | ( | ) |
Constructs a RelativeVolumeFrame. The relevant data should be set manually.
Referenced by operator=(), RelativeVolumeFrame(), and renderFields().
TagLib::ID3v2::RelativeVolumeFrame::RelativeVolumeFrame | ( | const ByteVector & | data | ) |
Constructs a RelativeVolumeFrame based on the contents of data.
|
override |
Destroys the RelativeVolumeFrame instance.
|
delete |
References RelativeVolumeFrame().
List< ChannelType > TagLib::ID3v2::RelativeVolumeFrame::channels | ( | ) | const |
Returns a list of channels with information currently in the frame.
String TagLib::ID3v2::RelativeVolumeFrame::identification | ( | ) | const |
Returns the identification for this frame.
|
delete |
References RelativeVolumeFrame().
|
overrideprotectedvirtual |
Called by parse() to parse the field data. It makes this information available through the public API. This must be overridden by the subclasses.
Implements TagLib::ID3v2::Frame.
PeakVolume TagLib::ID3v2::RelativeVolumeFrame::peakVolume | ( | ChannelType | type = MasterVolume | ) | const |
Returns the peak volume (represented as a length and a string of bits).
This defaults to returning the value for the master volume channel if available and returns 0 if the specified channel does not exist.
References MasterVolume.
|
overrideprotectedvirtual |
Render the field data back to a binary format in a ByteVector. This must be overridden by subclasses.
Implements TagLib::ID3v2::Frame.
References RelativeVolumeFrame(), and TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE.
void TagLib::ID3v2::RelativeVolumeFrame::setIdentification | ( | const String & | s | ) |
Sets the identification of the frame to s. The string is used to identify the situation and/or device where this adjustment should apply.
void TagLib::ID3v2::RelativeVolumeFrame::setPeakVolume | ( | const PeakVolume & | peak, |
ChannelType | type = MasterVolume ) |
Sets the peak volume to peak.
By default this sets the value for the master volume.
References MasterVolume.
void TagLib::ID3v2::RelativeVolumeFrame::setVolumeAdjustment | ( | float | adjustment, |
ChannelType | type = MasterVolume ) |
Set the relative volume adjustment in decibels to adjustment.
By default this sets the value for the master volume.
References MasterVolume.
void TagLib::ID3v2::RelativeVolumeFrame::setVolumeAdjustmentIndex | ( | short | index, |
ChannelType | type = MasterVolume ) |
Set the volume adjustment to index. As indicated by the ID3v2 standard this is a 16-bit signed integer that reflects the decibels of adjustment when divided by 512.
By default this sets the value for the master volume.
References MasterVolume.
|
overridevirtual |
float TagLib::ID3v2::RelativeVolumeFrame::volumeAdjustment | ( | ChannelType | type = MasterVolume | ) | const |
Returns the relative volume adjustment in decibels.
This defaults to returning the value for the master volume channel if available and returns 0 if the specified channel does not exist.
References MasterVolume.
short TagLib::ID3v2::RelativeVolumeFrame::volumeAdjustmentIndex | ( | ChannelType | type = MasterVolume | ) | const |
Returns the relative volume adjustment "index". As indicated by the ID3v2 standard this is a 16-bit signed integer that reflects the decibels of adjustment when divided by 512.
This defaults to returning the value for the master volume channel if available and returns 0 if the specified channel does not exist.
References MasterVolume.
|
friend |
References FrameFactory.
Referenced by FrameFactory.