* Note that Doxygen currently has some quirks (bugs?) in the way
* it deals with some member groups and C++ constructs. You will find
* some document entries in the wrong place under [NOHEADER] sections.
- * Hopefully this is not too annoying.
+ * Hopefully this is not too distracting.
*/
#endif
#include "FLAC/seekable_stream_decoder.h"
#include "FLAC/stream_decoder.h"
-// ===============================================================
-//
-// Full documentation for the decoder interfaces can be found
-// in the C layer in include/FLAC/ *_decoder.h
-//
-// ===============================================================
-
/** \file include/FLAC++/decoder.h
*
* \brief
- * This file contains the classes which implement the various
+ * This module contains the classes which implement the various
* decoders.
*
* See the detailed documentation in the
* \ingroup flacpp
*
* \brief
- * Brief XXX.
+ * This module describes the three decoder layers provided by libFLAC++.
+ *
+ * The libFLAC++ decoder classes are object wrappers around their
+ * counterparts in libFLAC. All three decoding layers available in
+ * libFLAC are also provided here. The interface is very similar;
+ * make sure to read the \link flac_decoder libFLAC decoder module \endlink.
*
- * Detailed decoder XXX.
+ * The only real difference here is that instead of passing in C function
+ * pointers for callbacks, you inherit from the decoder class and provide
+ * implementations for the callbacks in the derived class; because of this
+ * there is no need for a 'client_data' property.
*/
namespace FLAC {
// ============================================================
//
- // The only real difference here is that instead of passing
- // in C function pointers for callbacks, you inherit from the
- // decoder class and provide implementations for the callbacks
- // in the derived class; because of this there is no need for
- // a 'client_data' property.
- //
- // ============================================================
-
- // ============================================================
- //
// Equivalent: FLAC__StreamDecoder
//
// ============================================================
* \ingroup flacpp_decoder
*
* \brief
- * Brief XXX.
+ * This class wraps the ::FLAC__StreamDecoder.
*
- * Detailed stream decoder XXX.
+ * See the \link flac_stream_decoder libFLAC stream decoder module \endlink.
*
* \{
*/
- /** stream decoder XXX.
+ /** This class wraps the ::FLAC__StreamDecoder.
*/
class Stream {
public:
unsigned get_sample_rate() const;
unsigned get_blocksize() const;
- // Initialize the instance; as with the C interface,
- // init() should be called after construction and 'set'
- // calls but before any of the 'process' calls.
+ /** Initialize the instance; as with the C interface,
+ * init() should be called after construction and 'set'
+ * calls but before any of the 'process' calls.
+ */
State init();
void finish();
* \ingroup flacpp_decoder
*
* \brief
- * Brief XXX.
+ * This class wraps the ::FLAC__SeekableStreamDecoder.
*
- * Detailed seekable stream decoder XXX.
+ * See the \link flac_seekable_stream_decoder libFLAC seekable stream decoder module \endlink.
*
* \{
*/
- /** seekable stream decoder XXX.
+ /** This class wraps the ::FLAC__SeekableStreamDecoder.
*/
class SeekableStream {
public:
* \ingroup flacpp_decoder
*
* \brief
- * Brief XXX.
+ * This class wraps the ::FLAC__FileDecoder.
*
- * Detailed file decoder XXX.
+ * See the \link flac_file_decoder libFLAC file decoder module \endlink.
*
* \{
*/
- /** file decoder XXX.
+ /** This class wraps the ::FLAC__FileDecoder.
*/
class File {
public:
inline operator bool() const { return is_valid(); }
bool set_md5_checking(bool value);
- bool set_filename(const char *value); // 'value' may not be 0; use "-" for stdin
+ bool set_filename(const char *value); //!< 'value' may not be \c NULL; use "-" for stdin
bool set_metadata_respond(::FLAC__MetadataType type);
bool set_metadata_respond_application(const FLAC__byte id[4]);
bool set_metadata_respond_all();
#include "FLAC/stream_encoder.h"
#include "decoder.h"
-// ===============================================================
-//
-// Full documentation for the encoder interfaces can be found
-// in the C layer in include/FLAC/ *_encoder.h
-//
-// ===============================================================
-
/** \file include/FLAC++/encoder.h
*
* \ingroup flacpp
*
* \brief
- * Brief XXX.
+ * This module describes the three encoder layers provided by libFLAC++.
+ *
+ * The libFLAC++ encoder classes are object wrappers around their
+ * counterparts in libFLAC. All three encoding layers available in
+ * libFLAC are also provided here. The interface is very similar;
+ * make sure to read the \link flac_encoder libFLAC encoder module \endlink.
*
- * Detailed encoder XXX.
+ * The only real difference here is that instead of passing in C function
+ * pointers for callbacks, you inherit from the encoder class and provide
+ * implementations for the callbacks in the derived class; because of this
+ * there is no need for a 'client_data' property.
*/
namespace FLAC {
//
// Equivalent: FLAC__StreamEncoder
//
- // ----------------------------------------------------------
- //
- // The only real difference here is that instead of passing
- // in C function pointers for callbacks, you inherit from the
- // encoder class and provide implementations for the callbacks
- // in the derived class; because of this there is no need for
- // a 'client_data' property.
- //
// ============================================================
/** \defgroup flacpp_stream_encoder FLAC++/encoder.h: stream encoder class
* \ingroup flacpp_encoder
*
* \brief
- * Brief XXX.
+ * This class wraps the ::FLAC__StreamEncoder.
*
- * Detailed stream encoder XXX.
+ * See the \link flac_stream_encoder libFLAC stream encoder module \endlink.
*
* \{
*/
- /** stream encoder XXX.
+ /** This class wraps the ::FLAC__StreamEncoder.
*/
class Stream {
public:
unsigned get_rice_parameter_search_dist() const;
FLAC__uint64 get_total_samples_estimate() const;
- // Initialize the instance; as with the C interface,
- // init() should be called after construction and 'set'
- // calls but before any of the 'process' calls.
State init();
void finish();
* \ingroup flacpp_encoder
*
* \brief
- * Brief XXX.
+ * This class wraps the ::FLAC__SeekableStreamEncoder.
*
- * Detailed seekable stream encoder XXX.
+ * See the \link flac_seekable_stream_encoder libFLAC seekable stream encoder module \endlink.
*
* \{
*/
- /** seekable stream encoder XXX.
+ /** This class wraps the ::FLAC__SeekableStreamEncoder.
*/
class SeekableStream {
public:
unsigned get_rice_parameter_search_dist() const;
FLAC__uint64 get_total_samples_estimate() const;
- // Initialize the instance; as with the C interface,
- // init() should be called after construction and 'set'
- // calls but before any of the 'process' calls.
State init();
void finish();
* \ingroup flacpp_encoder
*
* \brief
- * Brief XXX.
+ * This class wraps the ::FLAC__FileEncoder.
*
- * Detailed file encoder XXX.
+ * See the \link flac_file_encoder libFLAC file encoder module \endlink.
*
* \{
*/
- /** file encoder XXX.
+ /** This class wraps the ::FLAC__FileEncoder.
*/
class File {
public:
unsigned get_rice_parameter_search_dist() const;
FLAC__uint64 get_total_samples_estimate() const;
- // Initialize the instance; as with the C interface,
- // init() should be called after construction and 'set'
- // calls but before any of the 'process' calls.
State init();
void finish();
* \{
*/
- /** XXX class SimpleIterator
+ /** This class is a wrapper around the FLAC__metadata_simple_iterator
+ * structures and methods; see ::FLAC__Metadata_SimpleIterator.
*/
class SimpleIterator {
public:
- /** XXX class SimpleIterator::Status
- */
class Status {
public:
inline Status(::FLAC__Metadata_SimpleIteratorStatus status): status_(status) { }
* \{
*/
- /** XXX class Chain
+ /** This class is a wrapper around the FLAC__metadata_chain
+ * structures and methods; see ::FLAC__Metadata_Chain.
*/
class Chain {
public:
- /** XXX class Chain::Status
- */
class Status {
public:
inline Status(::FLAC__Metadata_ChainStatus status): status_(status) { }
virtual void clear();
};
- /** XXX class Iterator
+ /** This class is a wrapper around the FLAC__metadata_iterator
+ * structures and methods; see ::FLAC__Metadata_Iterator.
*/
class Iterator {
public:
// we only need this for the state abstraction really...
#include "FLAC++/decoder.h"
-// ===============================================================
-//
-// Full documentation for the decoder interfaces can be found
-// in the C layer in include/OggFLAC/ *_decoder.h
-//
-// ===============================================================
-
/** \file include/OggFLAC++/decoder.h
*
* \brief
- * This file contains the classes which implement the various
+ * This module contains the classes which implement the various
* decoders.
*
* See the detailed documentation in the
* \ingroup oggflacpp
*
* \brief
- * Brief XXX.
+ * This module describes the decoder layers provided by libOggFLAC++.
+ *
+ * The libOggFLAC++ decoder classes are object wrappers around their
+ * counterparts in libOggFLAC. Only the stream decoding layer in
+ * libOggFLAC provided here. The interface is very similar;
+ * make sure to read the \link oggflac_decoder libOggFLAC decoder module \endlink.
*
- * Detailed decoder XXX.
+ * The only real difference here is that instead of passing in C function
+ * pointers for callbacks, you inherit from the decoder class and provide
+ * implementations for the callbacks in the derived class; because of this
+ * there is no need for a 'client_data' property.
*/
namespace OggFLAC {
// ============================================================
//
- // The only real difference here is that instead of passing
- // in C function pointers for callbacks, you inherit from
- // stream and provide implementations for the callbacks in
- // the derived class; because of this there is no need for a
- // 'client_data' property.
- //
- // ============================================================
-
- // ============================================================
- //
// Equivalent: OggFLAC__StreamDecoder
//
// ============================================================
* \ingroup oggflacpp_decoder
*
* \brief
- * Brief XXX.
+ * This class wraps the ::OggFLAC__StreamDecoder.
+ *
+ * See the \link oggflac_stream_decoder libOggFLAC stream decoder module \endlink.
*
- * Detailed stream decoder XXX.
* \{
*/
- /** stream decoder XXX.
+ /** This class wraps the ::OggFLAC__StreamDecoder.
*/
class Stream {
public:
unsigned get_sample_rate() const;
unsigned get_blocksize() const;
- // Initialize the instance; as with the C interface,
- // init() should be called after construction and 'set'
- // calls but before any of the 'process' calls.
State init();
void finish();
#include "FLAC++/decoder.h"
#include "FLAC++/encoder.h"
-// ===============================================================
-//
-// Full documentation for the encoder interfaces can be found
-// in the C layer in include/OggFLAC/ *_encoder.h
-//
-// ===============================================================
-
/** \file include/OggFLAC++/encoder.h
*
* \ingroup oggflacpp
*
* \brief
- * Brief XXX.
+ * This module describes the encoder layers provided by libOggFLAC++.
+ *
+ * The libOggFLAC++ encoder classes are object wrappers around their
+ * counterparts in libOggFLAC. Only the stream encoding layer in
+ * libOggFLAC is provided here. The interface is very similar;
+ * make sure to read the \link oggflac_encoder libOggFLAC encoder module \endlink.
*
- * Detailed encoder XXX.
+ * The only real difference here is that instead of passing in C function
+ * pointers for callbacks, you inherit from the encoder class and provide
+ * implementations for the callbacks in the derived class; because of this
+ * there is no need for a 'client_data' property.
*/
namespace OggFLAC {
//
// Equivalent: OggFLAC__StreamEncoder
//
- // ----------------------------------------------------------
- //
- // The only real difference here is that instead of passing
- // in C function pointers for callbacks, you inherit from
- // stream and provide implementations for the callbacks in
- // the derived class; because of this there is no need for a
- // 'client_data' property.
- //
// ============================================================
/** \defgroup oggflacpp_stream_encoder OggFLAC++/encoder.h: stream encoder class
* \ingroup oggflacpp_encoder
*
* \brief
- * Brief XXX.
+ * This class wraps the ::OggFLAC__StreamEncoder.
+ *
+ * See the \link oggflac_stream_encoder libOggFLAC stream encoder module \endlink.
*
- * Detailed stream encoder XXX.
* \{
*/
- /** stream encoder XXX.
+ /** This class wraps the ::OggFLAC__StreamEncoder.
*/
class Stream {
public:
unsigned get_rice_parameter_search_dist() const;
FLAC__uint64 get_total_samples_estimate() const;
- // Initialize the instance; as with the C interface,
- // init() should be called after construction and 'set'
- // calls but before any of the 'process' calls.
State init();
void finish();