kwave
18.07.70
|
#include <FileInfo.h>
Classes | |
class | PropertyTypesMap |
Public Types | |
enum | Flag { FP_NONE = 0, FP_INTERNAL = 1, FP_READONLY = 2, FP_NO_LOAD_SAVE = 4, FP_FORMAT_NUMERIC = 8 } |
![]() | |
enum | Scope { None = 0, Signal = (1 << 0), Track = (1 << 1), Range = (1 << 2), Position = (1 << 3), All = ~0 } |
typedef QMap< QString, QVariant > | PropertyList |
Public Member Functions | |
FileInfo () | |
FileInfo (const Kwave::MetaDataList &meta_data_list) | |
virtual | ~FileInfo () Q_DECL_OVERRIDE |
sample_index_t | length () const |
void | setLength (sample_index_t length) |
double | rate () const |
void | setRate (double rate) |
unsigned int | bits () const |
void | setBits (unsigned int bits) |
unsigned int | tracks () const |
void | setTracks (unsigned int tracks) |
bool | contains (const FileProperty property) const |
void | set (FileProperty key, const QVariant &value) |
QVariant | get (FileProperty key) const |
Flags | flags (FileProperty key) const |
bool | isInternal (FileProperty key) const |
bool | canLoadSave (FileProperty key) const |
QString | name (FileProperty key) const |
QString | description (FileProperty key) const |
FileProperty | fromName (const QString &name) const |
const QMap< FileProperty, QVariant > | properties () const |
QList< FileProperty > | allKnownProperties () const |
virtual void | dump () const Q_DECL_OVERRIDE |
![]() | |
MetaData () | |
MetaData (const MetaData &other) | |
MetaData (Scope scope) | |
virtual | ~MetaData () |
virtual void | clear () |
virtual bool | isNull () const |
QString | id () const |
Scope | scope () const |
void | setScope (Scope scope) |
void | setProperty (const QString &p, const QVariant &value) |
bool | hasProperty (const QString &p) const |
QVariant | property (const QString &p) const |
QVariant | operator[] (const QString p) const |
QVariant & | property (const QString &p) |
QVariant & | operator[] (const QString p) |
bool | operator== (const MetaData &other) const |
bool | operator!= (const MetaData &other) const |
QStringList | keys () const |
sample_index_t | firstSample () const |
sample_index_t | lastSample () const |
QList< unsigned int > | boundTracks () const |
Static Public Member Functions | |
static QString | metaDataType () |
![]() | |
static QStringList | positionBoundPropertyNames () |
Private Attributes | |
PropertyTypesMap | m_property_map |
Additional Inherited Members | |
![]() | |
static const QString | STDPROP_TYPE |
static const QString | STDPROP_TRACKS |
static const QString | STDPROP_START |
static const QString | STDPROP_END |
static const QString | STDPROP_POS |
static const QString | STDPROP_DESCRIPTION |
Holds various properties of a file.
Definition at line 113 of file FileInfo.h.
flags additional meta information about file info entries
Definition at line 120 of file FileInfo.h.
Kwave::FileInfo::FileInfo | ( | ) |
Default constructor, creates an empty file info object
Definition at line 317 of file FileInfo.cpp.
References metaDataType(), Kwave::MetaData::setProperty(), and Kwave::MetaData::STDPROP_TYPE.
|
explicit |
Constructor, filters out all file global data from a list of meta data objects.
meta_data_list | a meta data list to copy from |
Definition at line 325 of file FileInfo.cpp.
References FILE_INFO_PROPERTY_PREFIX, Kwave::MetaData::hasProperty(), Kwave::TypesMap< IDX, DATA >::keys(), m_property_map, metaDataType(), Kwave::TypesMap< IDX, DATA >::name(), name(), Kwave::MetaData::setProperty(), and Kwave::MetaData::STDPROP_TYPE.
|
virtual |
QList< Kwave::FileProperty > Kwave::FileInfo::allKnownProperties | ( | ) | const |
Returns a list of all known non-standard properties
Definition at line 383 of file FileInfo.cpp.
References Kwave::FileInfo::PropertyTypesMap::all(), and m_property_map.
Referenced by Kwave::SignalManager::executeCommand(), Kwave::AsciiDecoder::open(), and Kwave::AsciiEncoder::supportedProperties().
unsigned int Kwave::FileInfo::bits | ( | ) | const |
returns the number of bits per sample
Definition at line 430 of file FileInfo.cpp.
References Kwave::INF_BITS_PER_SAMPLE.
Referenced by Kwave::SignalManager::bits(), dump(), Kwave::AsciiEncoder::encode(), Kwave::WavEncoder::encode(), Kwave::MP3Encoder::encode(), Kwave::FlacEncoder::encode(), Kwave::SignalManager::loadFile(), Kwave::TopWidget::metaDataChanged(), Kwave::AudiofileDecoder::open(), Kwave::OpusEncoder::open(), Kwave::SignalManager::save(), setBits(), Kwave::FileInfoDialog::setupFileInfoTab(), and Kwave::FlacDecoder::write_callback().
|
inline |
Returns true if a property is intended to be saved into or loaded from a file.
Definition at line 220 of file FileInfo.h.
Referenced by Kwave::AsciiEncoder::encode(), and Kwave::Encoder::unsupportedProperties().
bool Kwave::FileInfo::contains | ( | const FileProperty | property | ) | const |
Returns true if the given property exists
Definition at line 354 of file FileInfo.cpp.
References FILE_INFO_PROPERTY_PREFIX, Kwave::MetaData::hasProperty(), Kwave::TypesMap< IDX, DATA >::keys(), m_property_map, Kwave::TypesMap< IDX, DATA >::name(), and name().
Referenced by Kwave::FileInfoDialog::accept(), Kwave::FileInfoDialog::acceptEdit(), Kwave::VorbisDecoder::close(), Kwave::FileInfoDialog::compressionChanged(), dump(), Kwave::OggEncoder::encode(), Kwave::WavEncoder::encode(), Kwave::MP3Encoder::encode(), Kwave::MP3Encoder::encodeID3Tags(), Kwave::FlacEncoder::encodeMetaData(), Kwave::VorbisEncoder::encodeProperties(), Kwave::WavEncoder::fixAudiofileBrokenHeaderBug(), Kwave::SignalManager::loadFile(), Kwave::FileInfoDialog::mpegLayerChanged(), Kwave::AsciiDecoder::open(), Kwave::VorbisEncoder::open(), Kwave::VorbisDecoder::open(), Kwave::PlayBackPulseAudio::open(), Kwave::OpusDecoder::parseComment(), Kwave::MP3Decoder::parseID3Tags(), Kwave::FlacDecoder::parseVorbisComments(), properties(), Kwave::SignalManager::save(), Kwave::OpusEncoder::setupBitrate(), Kwave::FileInfoDialog::setupCompressionTab(), Kwave::FileInfoDialog::setupContentTab(), Kwave::OpusEncoder::setupEncoder(), Kwave::FileInfoDialog::setupFileInfoTab(), Kwave::FileInfoDialog::setupMiscellaneousTab(), Kwave::FileInfoDialog::setupMpegTab(), Kwave::FileInfoDialog::setupSourceTab(), and Kwave::OpusEncoder::writeOpusTags().
|
inline |
Returns the localized description of a property.
Definition at line 234 of file FileInfo.h.
Referenced by Kwave::FileInfoDialog::initInfo(), Kwave::CompressionWidget::initInfo(), and Kwave::FileInfoDialog::setupMiscellaneousTab().
|
virtual |
dumps all properties to stdout, useful for debugging
Reimplemented from Kwave::MetaData.
Definition at line 460 of file FileInfo.cpp.
References bits(), contains(), DBG, Kwave::TypesMap< IDX, DATA >::keys(), length(), m_property_map, Kwave::TypesMap< IDX, DATA >::name(), name(), rate(), and tracks().
Referenced by Kwave::FileInfoDialog::accept(), and Kwave::OpusDecoder::open().
|
inline |
returns the flags of a property (meta data)
Definition at line 205 of file FileInfo.h.
Referenced by Kwave::SaveBlocksPlugin::createFileName().
|
inline |
Returns a file property key from a property name
Definition at line 241 of file FileInfo.h.
Referenced by Kwave::SaveBlocksPlugin::createFileName().
QVariant Kwave::FileInfo::get | ( | Kwave::FileProperty | key | ) | const |
Returns the value of a property. If the property does not exist, an empty value will be returned.
key | identifies the property |
Definition at line 372 of file FileInfo.cpp.
References FILE_INFO_PROPERTY_PREFIX, Kwave::MetaData::hasProperty(), Kwave::TypesMap< IDX, DATA >::keys(), m_property_map, Kwave::TypesMap< IDX, DATA >::name(), name(), and Kwave::MetaData::property().
Referenced by Kwave::FileInfoDialog::compressionChanged(), Kwave::SaveBlocksPlugin::createFileName(), Kwave::OggEncoder::encode(), Kwave::WavEncoder::encode(), Kwave::MP3Encoder::encode(), Kwave::MP3Encoder::encodeID3Tags(), Kwave::FlacEncoder::encodeMetaData(), Kwave::VorbisEncoder::encodeProperties(), Kwave::WavEncoder::fixAudiofileBrokenHeaderBug(), Kwave::MainWidget::fullZoom(), Kwave::FileInfoDialog::initInfoText(), Kwave::FileInfoDialog::mpegLayerChanged(), Kwave::AsciiDecoder::open(), Kwave::VorbisEncoder::open(), Kwave::VorbisDecoder::open(), Kwave::PlayBackPulseAudio::open(), Kwave::OpusDecoder::parseComment(), Kwave::MP3Decoder::parseID3Tags(), Kwave::FlacDecoder::parseVorbisComments(), Kwave::K3BExportPlugin::saveDocumentData(), Kwave::SaveBlocksPlugin::scanBlocksToSave(), Kwave::K3BExportPlugin::scanBlocksToSave(), Kwave::OpusEncoder::setupBitrate(), Kwave::OpusEncoder::setupBitrateMode(), Kwave::FileInfoDialog::setupCompressionTab(), Kwave::FileInfoDialog::setupContentTab(), Kwave::OpusEncoder::setupEncoder(), Kwave::FileInfoDialog::setupFileInfoTab(), Kwave::FileInfoDialog::setupMiscellaneousTab(), Kwave::FileInfoDialog::setupMpegTab(), Kwave::FileInfoDialog::setupSourceTab(), Kwave::SaveBlocksPlugin::start(), Kwave::FileInfoDialog::updateAvailableCompressions(), and Kwave::OpusEncoder::writeOpusTags().
|
inline |
Returns true if a property is only internal.
Definition at line 212 of file FileInfo.h.
sample_index_t Kwave::FileInfo::length | ( | ) | const |
returns the number of samples
Definition at line 400 of file FileInfo.cpp.
References Kwave::INF_LENGTH.
Referenced by Kwave::AudiofileDecoder::decode(), Kwave::WavDecoder::decode(), dump(), Kwave::AsciiEncoder::encode(), Kwave::WavEncoder::encode(), Kwave::FlacEncoder::encode(), Kwave::VorbisEncoder::encode(), Kwave::OpusEncoder::encode(), Kwave::MP3Encoder::encodeID3Tags(), Kwave::WavEncoder::fixAudiofileBrokenHeaderBug(), Kwave::SignalManager::loadFile(), Kwave::PlayerToolBar::metaDataChanged(), Kwave::TopWidget::metaDataChanged(), Kwave::AudiofileDecoder::open(), Kwave::SignalManager::save(), and Kwave::FileInfoDialog::setupFileInfoTab().
|
inlinestatic |
returns the identifier of the "type" of this meta data object
Definition at line 154 of file FileInfo.h.
Referenced by Kwave::MimeData::decode(), and FileInfo().
|
inline |
Returns the name of a property.
Definition at line 227 of file FileInfo.h.
Referenced by contains(), dump(), Kwave::AsciiEncoder::encode(), Kwave::SignalManager::executeCommand(), FileInfo(), get(), Kwave::FileInfoDialog::initInfo(), Kwave::CompressionWidget::initInfo(), Kwave::AsciiDecoder::open(), Kwave::SignalManager::save(), Kwave::SaveBlocksWidget::SaveBlocksWidget(), set(), and Kwave::FileInfoDialog::setupMiscellaneousTab().
const QMap< Kwave::FileProperty, QVariant > Kwave::FileInfo::properties | ( | ) | const |
Returns a list with all properties
Definition at line 389 of file FileInfo.cpp.
References contains(), Kwave::TypesMap< IDX, DATA >::keys(), and m_property_map.
Referenced by Kwave::AsciiEncoder::encode(), Kwave::MP3Encoder::encodeID3Tags(), Kwave::SignalManager::save(), Kwave::K3BExportPlugin::saveBlocks(), Kwave::SaveBlocksPlugin::start(), and Kwave::WavEncoder::writeInfoChunk().
double Kwave::FileInfo::rate | ( | ) | const |
returns the sample rate [samples/second]
Definition at line 415 of file FileInfo.cpp.
References Kwave::INF_SAMPLE_RATE.
Referenced by Kwave::FileInfoPlugin::apply(), Kwave::VorbisDecoder::close(), dump(), Kwave::AsciiEncoder::encode(), Kwave::WavEncoder::encode(), Kwave::MP3Encoder::encode(), Kwave::FlacEncoder::encode(), Kwave::OpusEncoder::encode(), Kwave::MP3Encoder::encodeID3Tags(), Kwave::NormalizePlugin::getMaxPower(), Kwave::SignalManager::loadFile(), Kwave::TopWidget::metaDataChanged(), Kwave::AudiofileDecoder::open(), Kwave::VorbisEncoder::open(), Kwave::OpusEncoder::open(), Kwave::MP3Decoder::parseID3Tags(), Kwave::SignalManager::rate(), Kwave::SampleRatePlugin::run(), Kwave::SignalManager::save(), setRate(), Kwave::FileInfoDialog::setupFileInfoTab(), and Kwave::RecordPlugin::startRecording().
void Kwave::FileInfo::set | ( | Kwave::FileProperty | key, |
const QVariant & | value | ||
) |
Sets a property to a new value. If the property does not already exist, a new one will be added to the info. If an empty value is passed, the property will be removed if exists.
key | identifies the property |
value | a QVariant with the new value |
Definition at line 363 of file FileInfo.cpp.
References FILE_INFO_PROPERTY_PREFIX, Kwave::TypesMap< IDX, DATA >::keys(), m_property_map, Kwave::TypesMap< IDX, DATA >::name(), name(), and Kwave::MetaData::setProperty().
Referenced by Kwave::FileInfoDialog::accept(), Kwave::FileInfoDialog::acceptEdit(), Kwave::VorbisDecoder::close(), Kwave::OpusDecoder::close(), Kwave::WavEncoder::encode(), Kwave::MimeData::encode(), Kwave::SignalManager::executeCommand(), Kwave::SignalManager::loadFile(), Kwave::AudiofileDecoder::open(), Kwave::AsciiDecoder::open(), Kwave::MP3Decoder::open(), Kwave::FlacDecoder::open(), Kwave::WavDecoder::open(), Kwave::VorbisDecoder::open(), Kwave::OpusDecoder::open(), Kwave::OpusDecoder::parseComment(), Kwave::OggDecoder::parseHeader(), Kwave::MP3Decoder::parseID3Tags(), Kwave::MP3Decoder::parseMp3Header(), Kwave::OpusDecoder::parseOpusHead(), Kwave::VorbisDecoder::parseTag(), Kwave::FlacDecoder::parseVorbisComments(), Kwave::SignalManager::save(), Kwave::K3BExportPlugin::saveBlocks(), Kwave::FileContext::saveFileAs(), Kwave::FileInfoDialog::setupFileInfoTab(), Kwave::SaveBlocksPlugin::start(), Kwave::RecordPlugin::startRecording(), and Kwave::MP3EncoderDialog::testSettings().
void Kwave::FileInfo::setBits | ( | unsigned int | bits | ) |
sets a new resolution in bits per sample
Definition at line 439 of file FileInfo.cpp.
References bits(), and Kwave::INF_BITS_PER_SAMPLE.
Referenced by Kwave::FileInfoDialog::accept(), Kwave::WavEncoder::encode(), Kwave::SignalManager::newSignal(), Kwave::AudiofileDecoder::open(), Kwave::WavDecoder::open(), Kwave::OggDecoder::parseHeader(), Kwave::MP3Decoder::parseMp3Header(), Kwave::SignalManager::save(), Kwave::K3BExportPlugin::saveBlocks(), Kwave::SelectionItem::startDragging(), and Kwave::RecordPlugin::startRecording().
void Kwave::FileInfo::setLength | ( | sample_index_t | length | ) |
Sets the length in samples
Definition at line 409 of file FileInfo.cpp.
References Kwave::INF_LENGTH.
Referenced by Kwave::AsciiDecoder::decode(), Kwave::FlacDecoder::decode(), Kwave::MimeData::encode(), Kwave::SignalManager::loadFile(), Kwave::SignalManager::newSignal(), Kwave::AudiofileDecoder::open(), Kwave::WavDecoder::open(), Kwave::OggDecoder::parseHeader(), Kwave::MP3Decoder::parseID3Tags(), Kwave::MP3Decoder::parseMp3Header(), Kwave::RecordPlugin::recordStopped(), Kwave::SignalManager::save(), Kwave::SignalManager::slotSamplesDeleted(), Kwave::SignalManager::slotSamplesInserted(), and Kwave::SelectionItem::startDragging().
void Kwave::FileInfo::setRate | ( | double | rate | ) |
sets a new sample rate
Definition at line 424 of file FileInfo.cpp.
References Kwave::INF_SAMPLE_RATE, and rate().
Referenced by Kwave::FileInfoDialog::accept(), Kwave::FileInfoPlugin::apply(), Kwave::SignalManager::newSignal(), Kwave::AudiofileDecoder::open(), Kwave::WavDecoder::open(), Kwave::VorbisDecoder::open(), Kwave::MP3Decoder::parseMp3Header(), Kwave::OpusDecoder::parseOpusHead(), Kwave::SampleRatePlugin::run(), Kwave::SignalManager::save(), Kwave::SelectionItem::startDragging(), and Kwave::RecordPlugin::startRecording().
void Kwave::FileInfo::setTracks | ( | unsigned int | tracks | ) |
Sets the number of tracks
Definition at line 454 of file FileInfo.cpp.
References Kwave::INF_CHANNELS, and tracks().
Referenced by Kwave::MimeData::encode(), Kwave::SignalManager::loadFile(), Kwave::SignalManager::newSignal(), Kwave::AudiofileDecoder::open(), Kwave::WavDecoder::open(), Kwave::VorbisDecoder::open(), Kwave::MP3Decoder::parseMp3Header(), Kwave::OpusDecoder::parseOpusHead(), Kwave::RecordPlugin::recordStopped(), Kwave::SignalManager::save(), Kwave::SignalManager::slotTrackDeleted(), Kwave::SignalManager::slotTrackInserted(), Kwave::SelectionItem::startDragging(), and Kwave::RecordPlugin::startRecording().
unsigned int Kwave::FileInfo::tracks | ( | ) | const |
returns the number of tracks
Definition at line 445 of file FileInfo.cpp.
References Kwave::INF_CHANNELS.
Referenced by Kwave::FileInfoDialog::accept(), Kwave::AudiofileDecoder::decode(), Kwave::AsciiDecoder::decode(), dump(), Kwave::AsciiEncoder::encode(), Kwave::WavEncoder::encode(), Kwave::FlacEncoder::encode(), Kwave::VorbisEncoder::encode(), Kwave::SignalManager::loadFile(), Kwave::PlayerToolBar::metaDataChanged(), Kwave::TopWidget::metaDataChanged(), Kwave::FileInfoDialog::mpegLayerChanged(), Kwave::AudiofileDecoder::open(), Kwave::AsciiDecoder::open(), Kwave::VorbisEncoder::open(), Kwave::OpusEncoder::open(), Kwave::SignalManager::save(), setTracks(), Kwave::FileInfoDialog::setupFileInfoTab(), Kwave::FileInfoDialog::setupMpegTab(), and Kwave::FlacDecoder::write_callback().
|
private |
map with properties and their names and descriptions
Definition at line 277 of file FileInfo.h.
Referenced by allKnownProperties(), contains(), dump(), FileInfo(), get(), properties(), and set().