mirror of
https://github.com/taglib/taglib.git
synced 2025-05-27 21:20:26 -04:00
Add a skeleton (unimplemented) AIFF properties class.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@808255 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
parent
918366adcf
commit
c52f3a4974
@ -125,6 +125,7 @@ riff/rifffile.cpp
|
||||
|
||||
SET(aiff_SRCS
|
||||
riff/aiff/aifffile.cpp
|
||||
riff/aiff/aiffproperties.cpp
|
||||
)
|
||||
|
||||
SET(toolkit_SRCS
|
||||
|
@ -1 +1 @@
|
||||
INSTALL( FILES aifffile.h DESTINATION ${INCLUDE_INSTALL_DIR}/taglib)
|
||||
INSTALL( FILES aifffile.h aiffproperties.h DESTINATION ${INCLUDE_INSTALL_DIR}/taglib)
|
||||
|
@ -7,7 +7,7 @@ INCLUDES = \
|
||||
|
||||
noinst_LTLIBRARIES = libaiff.la
|
||||
|
||||
libaiff_la_SOURCES = aifffile.cpp
|
||||
libaiff_la_SOURCES = aifffile.cpp aiffproperties.cpp
|
||||
|
||||
taglib_include_HEADERS = aifffile.h
|
||||
taglib_include_HEADERS = aifffile.h aiffproperties.h
|
||||
taglib_includedir = $(includedir)/taglib
|
||||
|
@ -26,9 +26,9 @@
|
||||
#ifndef TAGLIB_AIFFFILE_H
|
||||
#define TAGLIB_AIFFFILE_H
|
||||
|
||||
#include <rifffile.h>
|
||||
#include <id3v2tag.h>
|
||||
#include <audioproperties.h>
|
||||
#include "rifffile.h"
|
||||
#include "id3v2tag.h"
|
||||
#include "aiffproperties.h"
|
||||
|
||||
namespace TagLib {
|
||||
|
||||
@ -47,8 +47,6 @@ namespace TagLib {
|
||||
|
||||
namespace AIFF {
|
||||
|
||||
class Properties : public AudioProperties {};
|
||||
|
||||
//! An implementation of TagLib::File with AIFF specific methods
|
||||
|
||||
/*!
|
||||
|
95
taglib/riff/aiff/aiffproperties.cpp
Normal file
95
taglib/riff/aiff/aiffproperties.cpp
Normal file
@ -0,0 +1,95 @@
|
||||
/***************************************************************************
|
||||
copyright : (C) 2008 by Scott Wheeler
|
||||
email : wheeler@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* This library is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU Lesser General Public License version *
|
||||
* 2.1 as published by the Free Software Foundation. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, but *
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
||||
* Lesser General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Lesser General Public *
|
||||
* License along with this library; if not, write to the Free Software *
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
|
||||
* USA *
|
||||
* *
|
||||
* Alternatively, this file is available under the Mozilla Public *
|
||||
* License Version 1.1. You may obtain a copy of the License at *
|
||||
* http://www.mozilla.org/MPL/ *
|
||||
***************************************************************************/
|
||||
|
||||
#include <tstring.h>
|
||||
#include <tdebug.h>
|
||||
#include <bitset>
|
||||
|
||||
#include "aiffproperties.h"
|
||||
|
||||
using namespace TagLib;
|
||||
|
||||
class RIFF::AIFF::Properties::PropertiesPrivate
|
||||
{
|
||||
public:
|
||||
PropertiesPrivate() :
|
||||
length(0),
|
||||
bitrate(0),
|
||||
sampleRate(0),
|
||||
channels(0)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int length;
|
||||
int bitrate;
|
||||
int sampleRate;
|
||||
int channels;
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// public members
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
RIFF::AIFF::Properties::Properties(const ByteVector &data, ReadStyle style) : AudioProperties(style)
|
||||
{
|
||||
d = new PropertiesPrivate;
|
||||
read(data);
|
||||
}
|
||||
|
||||
RIFF::AIFF::Properties::~Properties()
|
||||
{
|
||||
delete d;
|
||||
}
|
||||
|
||||
int RIFF::AIFF::Properties::length() const
|
||||
{
|
||||
return d->length;
|
||||
}
|
||||
|
||||
int RIFF::AIFF::Properties::bitrate() const
|
||||
{
|
||||
return d->bitrate;
|
||||
}
|
||||
|
||||
int RIFF::AIFF::Properties::sampleRate() const
|
||||
{
|
||||
return d->sampleRate;
|
||||
}
|
||||
|
||||
int RIFF::AIFF::Properties::channels() const
|
||||
{
|
||||
return d->channels;
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// private members
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void RIFF::AIFF::Properties::read(const ByteVector &data)
|
||||
{
|
||||
|
||||
}
|
80
taglib/riff/aiff/aiffproperties.h
Normal file
80
taglib/riff/aiff/aiffproperties.h
Normal file
@ -0,0 +1,80 @@
|
||||
/***************************************************************************
|
||||
copyright : (C) 2008 by Scott Wheeler
|
||||
email : wheeler@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* This library is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU Lesser General Public License version *
|
||||
* 2.1 as published by the Free Software Foundation. *
|
||||
* *
|
||||
* This library is distributed in the hope that it will be useful, but *
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
||||
* Lesser General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU Lesser General Public *
|
||||
* License along with this library; if not, write to the Free Software *
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
|
||||
* USA *
|
||||
* *
|
||||
* Alternatively, this file is available under the Mozilla Public *
|
||||
* License Version 1.1. You may obtain a copy of the License at *
|
||||
* http://www.mozilla.org/MPL/ *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef TAGLIB_AIFFPROPERTIES_H
|
||||
#define TAGLIB_AIFFPROPERTIES_H
|
||||
|
||||
#include "audioproperties.h"
|
||||
|
||||
namespace TagLib {
|
||||
|
||||
namespace RIFF {
|
||||
|
||||
namespace AIFF {
|
||||
|
||||
class File;
|
||||
|
||||
//! An implementation of audio property reading for AIFF
|
||||
|
||||
/*!
|
||||
* This reads the data from an AIFF stream found in the AudioProperties
|
||||
* API.
|
||||
*/
|
||||
|
||||
class TAGLIB_EXPORT Properties : public AudioProperties
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
* Create an instance of AIFF::Properties with the data read from the
|
||||
* ByteVector \a data.
|
||||
*/
|
||||
Properties(const ByteVector &data, ReadStyle style);
|
||||
|
||||
/*!
|
||||
* Destroys this AIFF::Properties instance.
|
||||
*/
|
||||
virtual ~Properties();
|
||||
|
||||
// Reimplementations.
|
||||
|
||||
virtual int length() const;
|
||||
virtual int bitrate() const;
|
||||
virtual int sampleRate() const;
|
||||
virtual int channels() const;
|
||||
|
||||
private:
|
||||
Properties(const Properties &);
|
||||
Properties &operator=(const Properties &);
|
||||
|
||||
void read(const ByteVector &data);
|
||||
|
||||
class PropertiesPrivate;
|
||||
PropertiesPrivate *d;
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user