summaryrefslogtreecommitdiff
path: root/gd_content_interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'gd_content_interface.h')
-rw-r--r--gd_content_interface.h84
1 files changed, 52 insertions, 32 deletions
diff --git a/gd_content_interface.h b/gd_content_interface.h
index 5d2626b..d810fa5 100644
--- a/gd_content_interface.h
+++ b/gd_content_interface.h
@@ -2,11 +2,12 @@
* \file gd_content_interface.h
* \brief Data objects for content (e.g. mp3 files, movies)
* for the vdr muggle plugin database
+ * \ingroup giantdisc
*
* \version $Revision: 1.11 $
- * \date $Date: 2004/08/30 14:31:43 $
+ * \date $Date$
* \author Ralf Klueber, Lars von Wedel, Andreas Kellner
- * \author Responsible author: $Author: LarsAC $
+ * \author Responsible author: $Author$
*
* Declares main classes for content items and interfaces to SQL databases
*
@@ -35,26 +36,28 @@
/*!
* \brief Initialize a database for GD use
+ * \ingroup giantdisc
* \todo Should be a static member of some GD class
*/
int GdInitDatabase(MYSQL *db);
/*!
* \brief Obtain the playlists stored within the GD schema
+ * \ingroup giantdisc
* \todo Should be a static member of some GD class
*/
std::vector<std::string> *GdGetStoredPlaylists(MYSQL db);
/*!
* \brief A set of filters to search for content
+ * \ingroup giantdisc
*/
class gdFilterSets : public mgFilterSets
{
public:
- /*! \addtogroup Object creation and destruction */
- /*\@{*/
+ //\@{
/*!
* \brief the default constructor
@@ -69,7 +72,7 @@ class gdFilterSets : public mgFilterSets
*/
virtual ~gdFilterSets();
- /*\@}*/
+ //\@
/*!
* \brief compute restriction w.r.t active filters
@@ -86,7 +89,8 @@ class gdFilterSets : public mgFilterSets
/*!
- * \brief represents a a single track
+ * \brief represents a a single track
+ * \ingroup giantdisc
*
* This may be any content item. e.g. a mp3 fileselection
* The object is initially created with a database identifier.
@@ -100,8 +104,7 @@ class mgGdTrack : public mgContentItem
{
public:
- /*! \addtogroup Object creation and destruction */
- /*\@{*/
+ //@{
/*!
* \brief a constructor
@@ -137,7 +140,7 @@ class mgGdTrack : public mgContentItem
*/
virtual ~mgGdTrack();
- /*\@}*/
+ //@}
/*!
* \brief obtain the content type of the item
@@ -157,8 +160,7 @@ class mgGdTrack : public mgContentItem
return mgMediaPlayer();
}
- /*! \addtogroup Data read access */
- /*\@{*/
+ //\@{
/*!
* \brief returns a certain field of the item as a string
@@ -215,16 +217,26 @@ class mgGdTrack : public mgContentItem
*/
virtual int getRating();
+ /*! \brief obtain the samplerate of the track
+ */
+ virtual int getSampleRate();
+
+ /*! \brief obtain the number of audio channels of the track
+ */
+ virtual int getChannels();
+
+ /*! \brief obtain the bitrate of the track
+ */
+ virtual std::string getBitrate();
+
/*!
* \brief obtain the complete track information
*/
virtual std::vector<mgFilter*> *getTrackInfo();
- /*\@}*/
-
- /*! \addtogroup Data write access */
- /*\@{*/
+ //\@}
+ //\@{
/*!
* \brief set the title of the track
*/
@@ -271,8 +283,7 @@ class mgGdTrack : public mgContentItem
* Genre and album field information is lost.
*/
bool writeData();
-
- /*\@}*/
+ //\@}
//! \brief a special instance denoting an undefined track
static mgGdTrack UNDEFINED;
@@ -319,6 +330,11 @@ private:
std::string m_genre;
/*!
+ * \brief The bitrate of the music
+ */
+ std::string m_bitrate;
+
+ /*!
* \brief The year in which the track appeared
*/
int m_year;
@@ -329,12 +345,21 @@ private:
int m_rating;
/*!
- * \brief The length of the file in bytes.
- * \todo TODO: is this true? Or what length are we talking about?
+ * \brief The length of the track in seconds
*/
int m_length;
/*!
+ * \brief The sampling rate of the track in Hz
+ */
+ int m_samplerate;
+
+ /*!
+ * \brief The number of channels of the track
+ */
+ int m_channels;
+
+ /*!
* \brief Access the data of the item from the database and fill actual data fields
*
* In order to avoid abundant queries to the database, the content fields
@@ -348,6 +373,7 @@ private:
/*
* \brief a list of tracks stored in the databas
+ * \ingroup giantdisc
*/
class GdTracklist : public mgTracklist
{
@@ -365,9 +391,7 @@ class GdPlaylist : public mgPlaylist
{
public:
- /*! \addtogroup Object creation and destruction */
- /*\@{*/
-
+ //@{
/*!
* \brief opens an existing or creates empty playlist by name
*
@@ -386,7 +410,7 @@ class GdPlaylist : public mgPlaylist
*/
virtual ~GdPlaylist();
- /* \@} */
+ //@}
/*!
* changes the listname of the playlist (and unset the sql id)
@@ -430,6 +454,7 @@ class GdPlaylist : public mgPlaylist
/*!
* \brief hierarchical representation of a set of tracks
+ * \ingroup giantdisc
*
* The selection can be based on the whole database or a subset of it.
* Within this selection, the data is organized in a tree hierarchy
@@ -444,9 +469,7 @@ class GdTreeNode : public mgSelectionTreeNode
{
public:
- /*! \addtogroup Object creation and destruction */
- /*\@{*/
-
+ //@{
/*!
* \brief Construct a top level tree node in a certain view with certain filters
*/
@@ -462,12 +485,9 @@ public:
* \brief destructor to clean up the object
*/
virtual ~GdTreeNode();
+ //@}
- /* \@} */
-
- /*! \addtogroup Access node data */
- /*\@{*/
-
+ //@{
/*!
* \brief check, whether the node is a leaf node (i.e. has no more children)
*/
@@ -488,7 +508,7 @@ public:
*/
virtual mgContentItem* getSingleTrack();
- /* \@} */
+ //@}
};
/* -------------------- begin CVS log ---------------------------------