summaryrefslogtreecommitdiff
path: root/gd_content_interface.c
diff options
context:
space:
mode:
authorlvw <lvw@e10066b5-e1e2-0310-b819-94efdf66514b>2004-09-07 17:40:47 +0000
committerlvw <lvw@e10066b5-e1e2-0310-b819-94efdf66514b>2004-09-07 17:40:47 +0000
commit653ca204d10b3481670a80769baa3d768bb5f64a (patch)
tree97845708a0991d68ac10ec36618fe5fbd6eb584b /gd_content_interface.c
parent22cedb0c0bb5345d92b67216f792810e75c75241 (diff)
downloadvdr-plugin-muggle-653ca204d10b3481670a80769baa3d768bb5f64a.tar.gz
vdr-plugin-muggle-653ca204d10b3481670a80769baa3d768bb5f64a.tar.bz2
Merged ogg vorbis player to trunk
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@148 e10066b5-e1e2-0310-b819-94efdf66514b
Diffstat (limited to 'gd_content_interface.c')
-rw-r--r--gd_content_interface.c69
1 files changed, 55 insertions, 14 deletions
diff --git a/gd_content_interface.c b/gd_content_interface.c
index 8df7c48..6c2f496 100644
--- a/gd_content_interface.c
+++ b/gd_content_interface.c
@@ -1,10 +1,11 @@
/*! \file gd_content_interface.c
* \brief Data Objects for content (e.g. mp3 files, movies) for the vdr muggle plugin
+ * \ingroup giantdisc
*
* \version $Revision: 1.27 $
- * \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$
*
* Implements main classes of for content items and interfaces to SQL databases
*
@@ -293,35 +294,35 @@ bool mgGdTrack::readData()
// note: this does not work with empty album or genre fields
result = mgSqlReadQuery(&m_db,
"SELECT tracks.artist, album.title, tracks.title, "
- " tracks.mp3file, genre.genre, tracks.year, "
- " tracks.rating, tracks.length "
- "FROM tracks, album, genre "
+ "tracks.mp3file, genre.genre, tracks.year, "
+ "tracks.rating, tracks.length, tracks.samplerate, tracks.channels, tracks.bitrate "
+ "FROM tracks, album, genre "
"WHERE tracks.id=%d "
"AND album.cddbid=tracks.sourceid AND "
- " genre.id=tracks.genre1",
+ "genre.id=tracks.genre1",
m_uniqID);
nrows = mysql_num_rows(result);
nfields = mysql_num_fields(result);
- if(nrows == 0)
+ if( nrows == 0 )
{
- mgWarning("No entries found \n");
+ mgWarning( "No entries found \n" );
return false;
}
else
{
- if( nrows > 1 )
- {
- mgWarning("mgGdTrack::readData: More than one entry found. Using first entry.");
- }
+ if( nrows > 1 )
+ {
+ mgWarning("mgGdTrack::readData: More than one entry found. Using first entry.");
+ }
MYSQL_ROW row = mysql_fetch_row(result);
m_artist = row[0];
m_album = row[1];
m_title = row[2];
- m_mp3file = row[3];
- m_genre = row[4];
+ m_mp3file = string( the_setup.ToplevelDir ) + row[3];
+ m_genre = row[4];
if( sscanf( row[5], "%d", &m_year) != 1 )
{
@@ -338,6 +339,18 @@ bool mgGdTrack::readData()
mgError( "Invalid duration '%s' in database", row [7]);
}
+ if( row[8] && sscanf( row[8], "%d", &m_samplerate ) != 1 )
+ {
+ mgError( "Invalid samplerate '%s' in database", row [7]);
+ }
+
+ if( row[9] && sscanf( row[9], "%d", &m_channels ) != 1 )
+ {
+ mgError( "Invalid channels '%s' in database", row [7]);
+ }
+
+ m_bitrate = row[10];
+
}
m_retrieved = true;
return true;
@@ -445,6 +458,34 @@ int mgGdTrack::getDuration()
}
return m_rating;
}
+
+int mgGdTrack::getSampleRate()
+{
+ if(!m_retrieved)
+ {
+ readData();
+ }
+ return m_samplerate;
+}
+
+int mgGdTrack::getChannels()
+{
+ if(!m_retrieved)
+ {
+ readData();
+ }
+ return m_channels;
+}
+
+string mgGdTrack::getBitrate()
+{
+ if(!m_retrieved)
+ {
+ readData();
+ }
+ return m_bitrate;
+}
+
string mgGdTrack::getImageFile()
{
return "dummyImg.jpg";