CdDecoder Class Reference

#include <cddecoder.h>

Inheritance diagram for CdDecoder:

Decoder MythObservable

List of all members.


Detailed Description

Definition at line 22 of file cddecoder.h.


Public Member Functions

 CdDecoder (const QString &file, DecoderFactory *, QIODevice *, AudioOutput *)
virtual ~CdDecoder (void)
bool initialize ()
 Load XML file that OS X generates for us for Audio CDs, calculate checksum.
double lengthInSeconds ()
void seek (double)
void stop ()
int getNumTracks (void)
int getNumCDAudioTracks (void)
MetadatagetMetadata (int track)
MetadatagetMetadata (void)
 Get the metadata for filename.
MetadatagetLastMetadata (void)
void commitMetadata (Metadata *mdata)
void setDevice (const QString &dev)
void setCDSpeed (int speed)

Private Member Functions

void run ()
void flush (bool=FALSE)
void deinit ()
void lookupCDDB (const QString &hexID, uint tracks)
 Lookup FreeDB/CDDB, populate m_mData with results.

Private Attributes

bool inited
bool user_stop
QString devicename
uint32_t m_diskID
 For CDDB1/FreeDB lookup.
uint m_firstTrack
 First AUDIO track.
uint m_lastTrack
 Last AUDIO track.
uint m_leadout
 End of last track.
double m_lengthInSecs
vector< int > m_tracks
 Start block offset of each track.
vector< Metadata * > m_mData
 After lookup, details of each trk.
int stat
char * output_buf
ulong output_bytes
ulong output_at
unsigned int bks
bool done
bool finish
long len
long freq
long bitrate
int chan
unsigned long output_size
double totalTime
double seekTime
int settracknum
int tracknum
cdrom_drive * device
cdrom_paranoia * paranoia
long int start
long int end
long int curpos

Constructor & Destructor Documentation

CdDecoder::CdDecoder ( const QString &  file,
DecoderFactory d,
QIODevice *  i,
AudioOutput o 
)

Definition at line 21 of file cddecoder-darwin.cpp.

CdDecoder::~CdDecoder ( void   )  [virtual]

Definition at line 29 of file cddecoder-darwin.cpp.


Member Function Documentation

bool CdDecoder::initialize (  )  [virtual]

Load XML file that OS X generates for us for Audio CDs, calculate checksum.

Implements Decoder.

Definition at line 66 of file cddecoder-darwin.cpp.

Referenced by getLastMetadata(), getMetadata(), getNumCDAudioTracks(), and getNumTracks().

double CdDecoder::lengthInSeconds (  ) 

Definition at line 321 of file cddecoder-darwin.cpp.

void CdDecoder::seek ( double  pos  )  [virtual]

Implements Decoder.

Definition at line 326 of file cddecoder-darwin.cpp.

void CdDecoder::stop ( void   )  [virtual]

Implements Decoder.

Definition at line 331 of file cddecoder-darwin.cpp.

int CdDecoder::getNumTracks ( void   ) 

Definition at line 356 of file cddecoder-darwin.cpp.

Referenced by ReadCDThread::run(), and Ripper::startScanCD().

int CdDecoder::getNumCDAudioTracks ( void   ) 

Definition at line 364 of file cddecoder-darwin.cpp.

Referenced by ReadCDThread::run().

Metadata * CdDecoder::getMetadata ( int  track  ) 

Metadata * CdDecoder::getMetadata ( void   )  [virtual]

Get the metadata for filename.

First tries to read the metadata from the database. If there is no database entry, it'll call Decoder::readMetadata.

Returns:
an instance of Metadata owned by the caller

Reimplemented from Decoder.

Definition at line 396 of file cddecoder-darwin.cpp.

Metadata * CdDecoder::getLastMetadata ( void   ) 

Definition at line 388 of file cddecoder-darwin.cpp.

Referenced by ReadCDThread::run().

void CdDecoder::commitMetadata ( Metadata mdata  )  [virtual]

Reimplemented from Decoder.

Definition at line 401 of file cddecoder-darwin.cpp.

void CdDecoder::setDevice ( const QString &  dev  )  [inline]

Definition at line 43 of file cddecoder.h.

Referenced by ReadCDThread::run(), and Ripper::scanCD().

void CdDecoder::setCDSpeed ( int  speed  ) 

Definition at line 255 of file cddecoder.cpp.

void CdDecoder::run ( void   )  [private]

Definition at line 335 of file cddecoder-darwin.cpp.

void CdDecoder::flush ( bool  final = FALSE  )  [private]

Definition at line 339 of file cddecoder-darwin.cpp.

void CdDecoder::deinit (  )  [private]

Definition at line 344 of file cddecoder-darwin.cpp.

Referenced by ~CdDecoder().

void CdDecoder::lookupCDDB ( const QString &  hexID,
uint  tracks 
) [private]

Lookup FreeDB/CDDB, populate m_mData with results.

Definition at line 182 of file cddecoder-darwin.cpp.

Referenced by initialize().


Member Data Documentation

Definition at line 52 of file cddecoder.h.

QString CdDecoder::devicename [private]

Definition at line 55 of file cddecoder.h.

Referenced by initialize(), setCDSpeed(), and setDevice().

For CDDB1/FreeDB lookup.

Definition at line 60 of file cddecoder.h.

Referenced by initialize().

First AUDIO track.

Definition at line 61 of file cddecoder.h.

Referenced by getNumCDAudioTracks(), and initialize().

Last AUDIO track.

Definition at line 61 of file cddecoder.h.

Referenced by getNumCDAudioTracks(), getNumTracks(), and initialize().

End of last track.

Definition at line 61 of file cddecoder.h.

Referenced by initialize().

double CdDecoder::m_lengthInSecs [private]

Definition at line 64 of file cddecoder.h.

Referenced by initialize(), lengthInSeconds(), and lookupCDDB().

vector<int> CdDecoder::m_tracks [private]

Start block offset of each track.

Definition at line 65 of file cddecoder.h.

Referenced by deinit(), initialize(), and lookupCDDB().

vector<Metadata*> CdDecoder::m_mData [private]

After lookup, details of each trk.

Definition at line 66 of file cddecoder.h.

Referenced by deinit(), getLastMetadata(), getMetadata(), initialize(), and lookupCDDB().

int CdDecoder::stat [private]

Definition at line 69 of file cddecoder.h.

Referenced by lookupCDDB().

char* CdDecoder::output_buf [private]

Definition at line 70 of file cddecoder.h.

Definition at line 71 of file cddecoder.h.

Definition at line 71 of file cddecoder.h.

unsigned int CdDecoder::bks [private]

Definition at line 73 of file cddecoder.h.

bool CdDecoder::done [private]

Definition at line 74 of file cddecoder.h.

Definition at line 74 of file cddecoder.h.

long CdDecoder::len [private]

Definition at line 75 of file cddecoder.h.

Referenced by initialize().

long CdDecoder::freq [private]

Definition at line 75 of file cddecoder.h.

long CdDecoder::bitrate [private]

Definition at line 75 of file cddecoder.h.

int CdDecoder::chan [private]

Definition at line 76 of file cddecoder.h.

unsigned long CdDecoder::output_size [private]

Definition at line 77 of file cddecoder.h.

double CdDecoder::totalTime [private]

Definition at line 78 of file cddecoder.h.

double CdDecoder::seekTime [private]

Definition at line 78 of file cddecoder.h.

int CdDecoder::settracknum [private]

Definition at line 80 of file cddecoder.h.

int CdDecoder::tracknum [private]

Definition at line 81 of file cddecoder.h.

cdrom_drive* CdDecoder::device [private]

Definition at line 84 of file cddecoder.h.

cdrom_paranoia* CdDecoder::paranoia [private]

Definition at line 85 of file cddecoder.h.

long int CdDecoder::start [private]

Definition at line 88 of file cddecoder.h.

long int CdDecoder::end [private]

Definition at line 89 of file cddecoder.h.

long int CdDecoder::curpos [private]

Definition at line 90 of file cddecoder.h.


The documentation for this class was generated from the following files:

Generated on Sat Dec 18 05:16:00 2010 for MythTV by  doxygen 1.5.5