diff options
Diffstat (limited to 'gd_content_interface.h')
-rw-r--r-- | gd_content_interface.h | 84 |
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 --------------------------------- |