MythTV  0.27pre
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
MusicPlayer Class Reference

#include <musicplayer.h>

Inheritance diagram for MusicPlayer:
Inheritance graph
[legend]
Collaboration diagram for MusicPlayer:
Collaboration graph
[legend]

Public Types

enum  PlayMode { PLAYMODE_TRACKS = 0, PLAYMODE_RADIO }
enum  RepeatMode { REPEAT_OFF = 0, REPEAT_TRACK, REPEAT_ALL, MAX_REPEAT_MODES }
enum  ShuffleMode {
  SHUFFLE_OFF = 0, SHUFFLE_RANDOM, SHUFFLE_INTELLIGENT, SHUFFLE_ALBUM,
  SHUFFLE_ARTIST, MAX_SHUFFLE_MODES
}
enum  ResumeMode { RESUME_OFF, RESUME_TRACK, RESUME_EXACT, MAX_RESUME_MODES }

Public Member Functions

 MusicPlayer (QObject *parent, const QString &dev)
 ~MusicPlayer (void)
void setPlayMode (PlayMode mode)
PlayMode getPlayMode (void)
void playFile (const MusicMetadata &meta)
void addListener (QObject *listener)
 Add a listener to the observable.
void removeListener (QObject *listener)
 Remove a listener to the observable.
void addVisual (MainVisual *visual)
void removeVisual (MainVisual *visual)
void setCDDevice (const QString &dev)
void toggleMute (void)
MuteState getMuteState (void) const
bool isMuted (void) const
void setVolume (int volume)
void incVolume (void)
void decVolume (void)
uint getVolume (void) const
void setSpeed (float speed)
void incSpeed ()
void decSpeed ()
float getSpeed ()
void play (void)
void stop (bool stopAll=false)
void pause (void)
void next (void)
void previous (void)
void nextAuto (void)
bool isPlaying (void)
bool isPaused (void)
bool isStopped (void)
bool hasClient (void)
void autoShowPlayer (bool autoShow)
 This will allow/disallow the mini player showing on track changes.
bool getAutoShowPlayer (void)
void canShowPlayer (bool canShow)
 This will allow/disallow the mini player showing even using its jumppoint.
bool getCanShowPlayer (void)
DecodergetDecoder (void)
DecoderHandlergetDecoderHandler (void)
AudioOutputgetOutput (void)
void loadPlaylist (void)
void loadStreamPlaylist (void)
PlaylistgetPlaylist (void)
StreamListgetStreamList (void)
void removeTrack (int trackID)
void addTrack (int trackID, bool updateUI)
void moveTrackUpDown (bool moveUp, int whichTrack)
QList< MusicMetadata * > & getPlayedTracksList (void)
int getCurrentTrackPos (void)
bool setCurrentTrackPos (int pos)
void changeCurrentTrack (int trackNo)
 change the current track to the given track
void activePlaylistChanged (int trackID, bool deleted)
void playlistChanged (int playlistID)
void savePosition (void)
void restorePosition (void)
void setAllowRestorePos (bool allow)
void seek (int pos)
MusicMetadatagetCurrentMetadata (void)
 get the metadata for the current track in the playlist
MusicMetadatagetNextMetadata (void)
 get the metadata for the next track in the playlist
void sendMetadataChangedEvent (int trackID)
void sendTrackStatsChangedEvent (int trackID)
void sendAlbumArtChangedEvent (int trackID)
void sendCDChangedEvent (void)
void toMap (QHash< QString, QString > &infoMap)
void showMiniPlayer (void)
RepeatMode getRepeatMode (void)
void setRepeatMode (RepeatMode mode)
RepeatMode toggleRepeatMode (void)
ShuffleMode getShuffleMode (void)
void setShuffleMode (ShuffleMode mode)
ShuffleMode toggleShuffleMode (void)
ResumeMode getResumeMode (void)
void getBufferStatus (int *bufferAvailable, int *bufferSize)
- Public Member Functions inherited from MythObservable
 MythObservable ()
virtual ~MythObservable ()
void dispatch (const MythEvent &event)
 Dispatch an event to all listeners.
void dispatchNow (const MythEvent &event)
 Dispatch an event to all listeners.
bool hasListeners (void)

Protected Member Functions

void customEvent (QEvent *event)

Private Member Functions

void loadSettings (void)
void stopDecoder (void)
bool openOutputDevice (void)
void updateLastplay (void)
void updateVolatileMetadata (void)
void sendVolumeChangedEvent (void)
void setupDecoderHandler (void)
void decoderHandlerReady (void)

Private Attributes

Playlistm_currentPlaylist
int m_currentTrack
int m_currentTime
MusicMetadatam_currentMetadata
MusicMetadatam_oneshotMetadata
AudioOutputm_output
DecoderHandlerm_decoderHandler
QSet< QObject * > m_visualisers
QString m_CDdevice
PlayMode m_playMode
bool m_isPlaying
bool m_isAutoplay
bool m_canShowPlayer
bool m_autoShowPlayer
bool m_wasPlaying
bool m_updatedLastplay
bool m_allowRestorePos
int m_lastplayDelay
ShuffleMode m_shuffleMode
RepeatMode m_repeatMode
ResumeMode m_resumeMode
float m_playSpeed
CDWatcherThreadm_cdWatcher
QList< MusicMetadata * > m_playedList
int m_lastTrackStart
int m_bufferAvailable
int m_bufferSize

Additional Inherited Members

- Protected Attributes inherited from MythObservable
QMutex * m_lock
QSet< QObject * > m_listeners

Detailed Description

Definition at line 51 of file musicplayer.h.

Member Enumeration Documentation

Enumerator:
PLAYMODE_TRACKS 
PLAYMODE_RADIO 

Definition at line 59 of file musicplayer.h.

Enumerator:
REPEAT_OFF 
REPEAT_TRACK 
REPEAT_ALL 
MAX_REPEAT_MODES 

Definition at line 152 of file musicplayer.h.

Enumerator:
SHUFFLE_OFF 
SHUFFLE_RANDOM 
SHUFFLE_INTELLIGENT 
SHUFFLE_ALBUM 
SHUFFLE_ARTIST 
MAX_SHUFFLE_MODES 

Definition at line 158 of file musicplayer.h.

Enumerator:
RESUME_OFF 
RESUME_TRACK 
RESUME_EXACT 
MAX_RESUME_MODES 

Definition at line 167 of file musicplayer.h.

Constructor & Destructor Documentation

MusicPlayer::MusicPlayer ( QObject *  parent,
const QString &  dev 
)

Definition at line 52 of file musicplayer.cpp.

MusicPlayer::~MusicPlayer ( void  )

Definition at line 108 of file musicplayer.cpp.

Member Function Documentation

void MusicPlayer::setPlayMode ( PlayMode  mode)

Definition at line 858 of file musicplayer.cpp.

Referenced by StreamView::Create(), and MusicCommon::CreateCommon().

PlayMode MusicPlayer::getPlayMode ( void  )
inline
void MusicPlayer::playFile ( const MusicMetadata meta)

Definition at line 251 of file musicplayer.cpp.

Referenced by customEvent(), and ImportMusicDialog::playPressed().

void MusicPlayer::addListener ( QObject *  listener)

Add a listener to the observable.

Adds the given QObject to the list of objects that observe this observable.

Parameters
listenerthe QObject that will listen to this observable

Reimplemented from MythObservable.

Definition at line 166 of file musicplayer.cpp.

Referenced by MusicCommon::CreateCommon().

void MusicPlayer::removeListener ( QObject *  listener)

Remove a listener to the observable.

Remove the given QObject from the list of objects that observe this observable.

Parameters
listenerthe QObject that already listens to this observable

Reimplemented from MythObservable.

Definition at line 182 of file musicplayer.cpp.

Referenced by MusicCommon::switchView(), MiniPlayer::~MiniPlayer(), and MusicCommon::~MusicCommon().

void MusicPlayer::addVisual ( MainVisual visual)

Definition at line 198 of file musicplayer.cpp.

Referenced by MusicCommon::startVisualizer().

void MusicPlayer::removeVisual ( MainVisual visual)

Definition at line 212 of file musicplayer.cpp.

Referenced by MusicCommon::stopVisualizer().

void MusicPlayer::setCDDevice ( const QString &  dev)
inline

Definition at line 76 of file musicplayer.h.

void MusicPlayer::toggleMute ( void  )

Definition at line 1308 of file musicplayer.cpp.

Referenced by MusicCommon::toggleMute(), and MythMusicVolumeDialog::toggleMute().

MuteState MusicPlayer::getMuteState ( void  ) const

Definition at line 1317 of file musicplayer.cpp.

Referenced by isMuted().

bool MusicPlayer::isMuted ( void  ) const
inline
void MusicPlayer::setVolume ( int  volume)

Definition at line 1292 of file musicplayer.cpp.

Referenced by customEvent().

void MusicPlayer::incVolume ( void  )
void MusicPlayer::decVolume ( void  )
uint MusicPlayer::getVolume ( void  ) const
void MusicPlayer::setSpeed ( float  speed)

Definition at line 1223 of file musicplayer.cpp.

Referenced by decSpeed(), and incSpeed().

void MusicPlayer::incSpeed ( )

Definition at line 1232 of file musicplayer.cpp.

Referenced by MusicCommon::changeSpeed().

void MusicPlayer::decSpeed ( )

Definition at line 1238 of file musicplayer.cpp.

Referenced by MusicCommon::changeSpeed().

float MusicPlayer::getSpeed ( )
inline

Definition at line 90 of file musicplayer.h.

void MusicPlayer::play ( void  )
void MusicPlayer::stop ( bool  stopAll = false)
void MusicPlayer::pause ( void  )

Definition at line 314 of file musicplayer.cpp.

Referenced by customEvent(), MusicCommon::pause(), and stop().

void MusicPlayer::next ( void  )
void MusicPlayer::previous ( void  )

Definition at line 459 of file musicplayer.cpp.

Referenced by MusicCommon::previous().

void MusicPlayer::nextAuto ( void  )

Definition at line 490 of file musicplayer.cpp.

Referenced by customEvent().

bool MusicPlayer::isPlaying ( void  )
inline
bool MusicPlayer::isPaused ( void  )
inline
bool MusicPlayer::isStopped ( void  )
inline

Definition at line 102 of file musicplayer.h.

Referenced by MusicCommon::CreateCommon().

bool MusicPlayer::hasClient ( void  )
inline

Definition at line 103 of file musicplayer.h.

Referenced by showMiniPlayer(), and ~MusicPlayer().

void MusicPlayer::autoShowPlayer ( bool  autoShow)
inline

This will allow/disallow the mini player showing on track changes.

Definition at line 106 of file musicplayer.h.

Referenced by MiniPlayer::keyPressEvent().

bool MusicPlayer::getAutoShowPlayer ( void  )
inline

Definition at line 107 of file musicplayer.h.

Referenced by MiniPlayer::keyPressEvent().

void MusicPlayer::canShowPlayer ( bool  canShow)
inline

This will allow/disallow the mini player showing even using its jumppoint.

Definition at line 110 of file musicplayer.h.

bool MusicPlayer::getCanShowPlayer ( void  )
inline

Definition at line 111 of file musicplayer.h.

Decoder* MusicPlayer::getDecoder ( void  )
inline
DecoderHandler* MusicPlayer::getDecoderHandler ( void  )
inline

Definition at line 114 of file musicplayer.h.

Referenced by Decoder::input(), play(), and stopDecoder().

AudioOutput* MusicPlayer::getOutput ( void  )
inline
void MusicPlayer::loadPlaylist ( void  )

Definition at line 870 of file musicplayer.cpp.

Referenced by loadMusic(), and setPlayMode().

void MusicPlayer::loadStreamPlaylist ( void  )
Playlist* MusicPlayer::getPlaylist ( void  )
inline
StreamList * MusicPlayer::getStreamList ( void  )

Definition at line 1472 of file musicplayer.cpp.

void MusicPlayer::removeTrack ( int  trackID)

Definition at line 1454 of file musicplayer.cpp.

Referenced by MusicCommon::customEvent(), and MusicCommon::keyPressEvent().

void MusicPlayer::addTrack ( int  trackID,
bool  updateUI 
)

Definition at line 1467 of file musicplayer.cpp.

void MusicPlayer::moveTrackUpDown ( bool  moveUp,
int  whichTrack 
)

Definition at line 928 of file musicplayer.cpp.

Referenced by MusicCommon::keyPressEvent().

QList<MusicMetadata*>& MusicPlayer::getPlayedTracksList ( void  )
inline

Definition at line 128 of file musicplayer.h.

Referenced by StreamView::customEvent(), and MusicCommon::updateUIPlayedList().

int MusicPlayer::getCurrentTrackPos ( void  )
inline
bool MusicPlayer::setCurrentTrackPos ( int  pos)
void MusicPlayer::changeCurrentTrack ( int  trackNo)

change the current track to the given track

Definition at line 1040 of file musicplayer.cpp.

Referenced by MusicCommon::customEvent(), MusicCommon::doUpdatePlaylist(), next(), previous(), and setCurrentTrackPos().

void MusicPlayer::activePlaylistChanged ( int  trackID,
bool  deleted 
)
void MusicPlayer::playlistChanged ( int  playlistID)

Definition at line 1367 of file musicplayer.cpp.

Referenced by MusicCommon::customEvent().

void MusicPlayer::savePosition ( void  )
void MusicPlayer::restorePosition ( void  )

Definition at line 975 of file musicplayer.cpp.

Referenced by MusicCommon::CreateCommon().

void MusicPlayer::setAllowRestorePos ( bool  allow)
inline

Definition at line 139 of file musicplayer.h.

Referenced by MusicCommon::switchView().

void MusicPlayer::seek ( int  pos)

Definition at line 1012 of file musicplayer.cpp.

Referenced by customEvent(), decoderHandlerReady(), and restorePosition().

MusicMetadata * MusicPlayer::getCurrentMetadata ( void  )
MusicMetadata * MusicPlayer::getNextMetadata ( void  )

get the metadata for the next track in the playlist

Definition at line 1082 of file musicplayer.cpp.

Referenced by TrackInfoPopup::Create(), MusicCommon::customEvent(), and MusicCommon::updateTrackInfo().

void MusicPlayer::sendMetadataChangedEvent ( int  trackID)

Definition at line 1250 of file musicplayer.cpp.

Referenced by customEvent(), and EditMetadataCommon::saveToDatabase().

void MusicPlayer::sendTrackStatsChangedEvent ( int  trackID)

Definition at line 1256 of file musicplayer.cpp.

Referenced by MusicCommon::changeRating(), and updateVolatileMetadata().

void MusicPlayer::sendAlbumArtChangedEvent ( int  trackID)

Definition at line 1262 of file musicplayer.cpp.

Referenced by EditAlbumartDialog::~EditAlbumartDialog().

void MusicPlayer::sendCDChangedEvent ( void  )

Definition at line 1268 of file musicplayer.cpp.

Referenced by CDWatcherThread::run().

void MusicPlayer::toMap ( QHash< QString, QString > &  infoMap)
void MusicPlayer::showMiniPlayer ( void  )

Definition at line 1023 of file musicplayer.cpp.

Referenced by showMiniPlayer().

RepeatMode MusicPlayer::getRepeatMode ( void  )
inline

Definition at line 174 of file musicplayer.h.

Referenced by MusicCommon::updateRepeatMode().

void MusicPlayer::setRepeatMode ( RepeatMode  mode)
inline

Definition at line 175 of file musicplayer.h.

Referenced by MusicCommon::customEvent(), and MusicPlayer().

MusicPlayer::RepeatMode MusicPlayer::toggleRepeatMode ( void  )

Definition at line 1112 of file musicplayer.cpp.

Referenced by MusicCommon::keyPressEvent().

ShuffleMode MusicPlayer::getShuffleMode ( void  )
inline
void MusicPlayer::setShuffleMode ( ShuffleMode  mode)
MusicPlayer::ShuffleMode MusicPlayer::toggleShuffleMode ( void  )

Definition at line 1133 of file musicplayer.cpp.

Referenced by MusicCommon::keyPressEvent().

ResumeMode MusicPlayer::getResumeMode ( void  )
inline

Definition at line 182 of file musicplayer.h.

Referenced by loadPlaylist(), and restorePosition().

void MusicPlayer::getBufferStatus ( int bufferAvailable,
int bufferSize 
)

Definition at line 852 of file musicplayer.cpp.

Referenced by MusicCommon::updateProgressBar().

void MusicPlayer::customEvent ( QEvent *  event)
protected

Definition at line 529 of file musicplayer.cpp.

void MusicPlayer::loadSettings ( void  )
private

Definition at line 226 of file musicplayer.cpp.

Referenced by customEvent(), and MusicPlayer().

void MusicPlayer::stopDecoder ( void  )
private

Definition at line 355 of file musicplayer.cpp.

Referenced by play(), and stop().

bool MusicPlayer::openOutputDevice ( void  )
private

Definition at line 361 of file musicplayer.cpp.

Referenced by play().

void MusicPlayer::updateLastplay ( void  )
private

Definition at line 1187 of file musicplayer.cpp.

Referenced by customEvent().

void MusicPlayer::updateVolatileMetadata ( void  )
private

Definition at line 1198 of file musicplayer.cpp.

Referenced by changeCurrentTrack().

void MusicPlayer::sendVolumeChangedEvent ( void  )
private

Definition at line 1244 of file musicplayer.cpp.

Referenced by decVolume(), incVolume(), setVolume(), and toggleMute().

void MusicPlayer::setupDecoderHandler ( void  )
private

Definition at line 1373 of file musicplayer.cpp.

Referenced by play().

void MusicPlayer::decoderHandlerReady ( void  )
private

Definition at line 1389 of file musicplayer.cpp.

Referenced by customEvent().

Member Data Documentation

Playlist* MusicPlayer::m_currentPlaylist
private
int MusicPlayer::m_currentTrack
private
int MusicPlayer::m_currentTime
private

Definition at line 202 of file musicplayer.h.

Referenced by customEvent(), decoderHandlerReady(), MusicPlayer(), and savePosition().

MusicMetadata* MusicPlayer::m_currentMetadata
private
MusicMetadata* MusicPlayer::m_oneshotMetadata
private
AudioOutput* MusicPlayer::m_output
private
DecoderHandler* MusicPlayer::m_decoderHandler
private
QSet<QObject*> MusicPlayer::m_visualisers
private

Definition at line 210 of file musicplayer.h.

Referenced by addVisual(), decoderHandlerReady(), openOutputDevice(), and removeVisual().

QString MusicPlayer::m_CDdevice
private

Definition at line 212 of file musicplayer.h.

Referenced by decoderHandlerReady(), loadSettings(), MusicPlayer(), and setCDDevice().

PlayMode MusicPlayer::m_playMode
private
bool MusicPlayer::m_isPlaying
private

Definition at line 215 of file musicplayer.h.

Referenced by customEvent(), decoderHandlerReady(), isPlaying(), MusicPlayer(), pause(), and stop().

bool MusicPlayer::m_isAutoplay
private

Definition at line 216 of file musicplayer.h.

Referenced by addListener(), customEvent(), MusicPlayer(), nextAuto(), and removeListener().

bool MusicPlayer::m_canShowPlayer
private
bool MusicPlayer::m_autoShowPlayer
private
bool MusicPlayer::m_wasPlaying
private

Definition at line 219 of file musicplayer.h.

Referenced by customEvent(), and MusicPlayer().

bool MusicPlayer::m_updatedLastplay
private

Definition at line 220 of file musicplayer.h.

Referenced by customEvent(), decoderHandlerReady(), MusicPlayer(), and updateLastplay().

bool MusicPlayer::m_allowRestorePos
private

Definition at line 221 of file musicplayer.h.

Referenced by MusicPlayer(), restorePosition(), and setAllowRestorePos().

int MusicPlayer::m_lastplayDelay
private

Definition at line 223 of file musicplayer.h.

Referenced by customEvent(), and loadSettings().

ShuffleMode MusicPlayer::m_shuffleMode
private

Definition at line 225 of file musicplayer.h.

Referenced by getShuffleMode(), setShuffleMode(), toggleShuffleMode(), and ~MusicPlayer().

RepeatMode MusicPlayer::m_repeatMode
private
ResumeMode MusicPlayer::m_resumeMode
private

Definition at line 227 of file musicplayer.h.

Referenced by decoderHandlerReady(), getResumeMode(), and loadSettings().

float MusicPlayer::m_playSpeed
private

Definition at line 229 of file musicplayer.h.

Referenced by decSpeed(), getSpeed(), incSpeed(), MusicPlayer(), and setSpeed().

CDWatcherThread* MusicPlayer::m_cdWatcher
private

Definition at line 232 of file musicplayer.h.

Referenced by loadPlaylist(), loadSettings(), MusicPlayer(), stop(), and ~MusicPlayer().

QList<MusicMetadata*> MusicPlayer::m_playedList
private

Definition at line 235 of file musicplayer.h.

Referenced by customEvent(), getPlayedTracksList(), and ~MusicPlayer().

int MusicPlayer::m_lastTrackStart
private

Definition at line 236 of file musicplayer.h.

Referenced by customEvent(), decoderHandlerReady(), and MusicPlayer().

int MusicPlayer::m_bufferAvailable
private

Definition at line 237 of file musicplayer.h.

Referenced by customEvent(), getBufferStatus(), and MusicPlayer().

int MusicPlayer::m_bufferSize
private

Definition at line 238 of file musicplayer.h.

Referenced by customEvent(), getBufferStatus(), and MusicPlayer().


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