MythTV master
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Playlist Class Reference

#include <mythplugins/mythmusic/mythmusic/playlist.h>

Inheritance diagram for Playlist:
[legend]
Collaboration diagram for Playlist:
[legend]

Public Member Functions

 Playlist (void)
 
 ~Playlist () override
 
void setParent (PlaylistContainer *myparent)
 
void loadPlaylist (const QString &a_name, const QString &a_host)
 
void loadPlaylistByID (int id, const QString &a_host)
 
void savePlaylist (const QString &a_name, const QString &a_host)
 
void shuffleTracks (MusicPlayer::ShuffleMode mode)
 
void describeYourself (void) const
 
void fillSongsFromSonglist (const QString &songList)
 
int fillSonglistFromQuery (const QString &whereClause, bool removeDuplicates=false, InsertPLOption insertOption=PL_REPLACE, int currentTrackID=0)
 
int fillSonglistFromSmartPlaylist (const QString &category, const QString &name, bool removeDuplicates=false, InsertPLOption insertOption=PL_REPLACE, int currentTrackID=0)
 
int fillSonglistFromList (const QList< int > &songList, bool removeDuplicates, InsertPLOption insertOption, int currentTrackID)
 
QString toRawSonglist (bool shuffled=false, bool tracksOnly=false)
 
MusicMetadatagetSongAt (int pos) const
 
int getTrackCount (void)
 
void moveTrackUpDown (bool flag, int where_its_at)
 
bool checkTrack (MusicMetadata::IdType trackID) const
 
void addTrack (MusicMetadata::IdType trackID, bool update_display)
 Given a tracks ID, add that track to this playlist. More...
 
int getTrackPosition (MusicMetadata::IdType trackID)
 
void removeTrack (MusicMetadata::IdType trackID)
 
void removeAllTracks (void)
 
void removeAllCDTracks (void)
 
void copyTracks (Playlist *to_ptr, bool update_display)
 
bool hasChanged (void) const
 
void changed (void)
 
void disableSaves (void)
 whether any changes should be saved to the DB More...
 
void enableSaves (void)
 
bool doSaves (void) const
 
QString getName (void)
 
void setName (const QString &a_name)
 
bool isActivePlaylist (void)
 
int getID (void) const
 
void setID (int x)
 
void getStats (uint *trackCount, std::chrono::seconds *totalLength, uint currentTrack=0, std::chrono::seconds *playedLength=nullptr) const
 
void resync (void)
 make sure all tracks are still valid after a scan More...
 

Private Member Functions

MusicMetadatagetRawSongAt (int pos) const
 

Static Private Member Functions

static QString removeItemsFromList (const QString &remove_list, const QString &source_list)
 

Private Attributes

int m_playlistid {0}
 
QString m_name
 
SongList m_songs
 
SongList m_shuffledSongs
 
PlaylistContainerm_parent {nullptr}
 
bool m_changed {false}
 
bool m_doSave {true}
 

Detailed Description

Definition at line 45 of file playlist.h.

Constructor & Destructor Documentation

◆ Playlist()

Playlist::Playlist ( void  )

Definition at line 146 of file playlist.cpp.

◆ ~Playlist()

Playlist::~Playlist ( )
override

Definition at line 151 of file playlist.cpp.

Member Function Documentation

◆ addTrack()

void Playlist::addTrack ( MusicMetadata::IdType  trackID,
bool  update_display 
)

Given a tracks ID, add that track to this playlist.

Definition at line 63 of file playlist.cpp.

Referenced by MusicPlayer::addTrack(), copyTracks(), MusicPlayer::loadStreamPlaylist(), and SearchView::trackClicked().

◆ changed()

void Playlist::changed ( void  )

◆ checkTrack()

bool Playlist::checkTrack ( MusicMetadata::IdType  trackID) const

◆ copyTracks()

void Playlist::copyTracks ( Playlist to_ptr,
bool  update_display 
)

◆ describeYourself()

void Playlist::describeYourself ( void  ) const

Definition at line 481 of file playlist.cpp.

Referenced by PlaylistContainer::describeYourself().

◆ disableSaves()

void Playlist::disableSaves ( void  )
inline

whether any changes should be saved to the DB

Definition at line 102 of file playlist.h.

Referenced by copyTracks(), fillSonglistFromList(), fillSonglistFromQuery(), and MusicPlayer::loadStreamPlaylist().

◆ doSaves()

bool Playlist::doSaves ( void  ) const
inline

Definition at line 104 of file playlist.h.

◆ enableSaves()

void Playlist::enableSaves ( void  )
inline

◆ fillSonglistFromList()

int Playlist::fillSonglistFromList ( const QList< int > &  songList,
bool  removeDuplicates,
InsertPLOption  insertOption,
int  currentTrackID 
)

Definition at line 785 of file playlist.cpp.

Referenced by MusicCommon::doUpdatePlaylist(), and handleMedia().

◆ fillSonglistFromQuery()

int Playlist::fillSonglistFromQuery ( const QString &  whereClause,
bool  removeDuplicates = false,
InsertPLOption  insertOption = PL_REPLACE,
int  currentTrackID = 0 
)

Definition at line 686 of file playlist.cpp.

Referenced by MusicCommon::doUpdatePlaylist(), and fillSonglistFromSmartPlaylist().

◆ fillSonglistFromSmartPlaylist()

int Playlist::fillSonglistFromSmartPlaylist ( const QString &  category,
const QString &  name,
bool  removeDuplicates = false,
InsertPLOption  insertOption = PL_REPLACE,
int  currentTrackID = 0 
)

Definition at line 898 of file playlist.cpp.

◆ fillSongsFromSonglist()

void Playlist::fillSongsFromSonglist ( const QString &  songList)

◆ getID()

int Playlist::getID ( void  ) const
inline

◆ getName()

QString Playlist::getName ( void  )
inline

◆ getRawSongAt()

MusicMetadata * Playlist::getRawSongAt ( int  pos) const
private

Definition at line 1114 of file playlist.cpp.

Referenced by copyTracks(), removeAllCDTracks(), resync(), and shuffleTracks().

◆ getSongAt()

MusicMetadata * Playlist::getSongAt ( int  pos) const

◆ getStats()

void Playlist::getStats ( uint trackCount,
std::chrono::seconds *  totalLength,
uint  currentTrack = 0,
std::chrono::seconds *  playedLength = nullptr 
) const

◆ getTrackCount()

int Playlist::getTrackCount ( void  )
inline

◆ getTrackPosition()

int Playlist::getTrackPosition ( MusicMetadata::IdType  trackID)
inline

Definition at line 90 of file playlist.h.

Referenced by MusicPlayer::moveTrackUpDown(), and MusicPlayer::removeTrack().

◆ hasChanged()

bool Playlist::hasChanged ( void  ) const
inline

Definition at line 98 of file playlist.h.

◆ isActivePlaylist()

bool Playlist::isActivePlaylist ( void  )
inline

Definition at line 109 of file playlist.h.

Referenced by addTrack(), fillSongsFromSonglist(), removeTrack(), and resync().

◆ loadPlaylist()

void Playlist::loadPlaylist ( const QString &  a_name,
const QString &  a_host 
)

Definition at line 529 of file playlist.cpp.

Referenced by PlaylistContainer::load().

◆ loadPlaylistByID()

void Playlist::loadPlaylistByID ( int  id,
const QString &  a_host 
)

Definition at line 585 of file playlist.cpp.

◆ moveTrackUpDown()

void Playlist::moveTrackUpDown ( bool  flag,
int  where_its_at 
)

Definition at line 130 of file playlist.cpp.

Referenced by MusicPlayer::moveTrackUpDown().

◆ removeAllCDTracks()

void Playlist::removeAllCDTracks ( void  )

Definition at line 97 of file playlist.cpp.

Referenced by handleMedia().

◆ removeAllTracks()

void Playlist::removeAllTracks ( void  )

◆ removeItemsFromList()

QString Playlist::removeItemsFromList ( const QString &  remove_list,
const QString &  source_list 
)
staticprivate

Definition at line 1081 of file playlist.cpp.

Referenced by fillSonglistFromList(), and fillSonglistFromQuery().

◆ removeTrack()

void Playlist::removeTrack ( MusicMetadata::IdType  trackID)

Definition at line 119 of file playlist.cpp.

Referenced by MusicPlayer::removeTrack(), and SearchView::trackClicked().

◆ resync()

void Playlist::resync ( void  )

make sure all tracks are still valid after a scan

Definition at line 613 of file playlist.cpp.

Referenced by PlaylistContainer::resync().

◆ savePlaylist()

void Playlist::savePlaylist ( const QString &  a_name,
const QString &  a_host 
)

Definition at line 998 of file playlist.cpp.

Referenced by changed(), loadPlaylist(), and PlaylistContainer::save().

◆ setID()

void Playlist::setID ( int  x)
inline

Definition at line 112 of file playlist.h.

◆ setName()

void Playlist::setName ( const QString &  a_name)
inline

Definition at line 107 of file playlist.h.

Referenced by PlaylistContainer::renamePlaylist().

◆ setParent()

void Playlist::setParent ( PlaylistContainer myparent)
inline

Definition at line 53 of file playlist.h.

Referenced by PlaylistContainer::load().

◆ shuffleTracks()

void Playlist::shuffleTracks ( MusicPlayer::ShuffleMode  mode)

Definition at line 157 of file playlist.cpp.

Referenced by fillSongsFromSonglist(), loadPlaylist(), and MusicPlayer::setShuffleMode().

◆ toRawSonglist()

QString Playlist::toRawSonglist ( bool  shuffled = false,
bool  tracksOnly = false 
)

Member Data Documentation

◆ m_changed

bool Playlist::m_changed {false}
private

Definition at line 142 of file playlist.h.

Referenced by changed(), hasChanged(), and savePlaylist().

◆ m_doSave

bool Playlist::m_doSave {true}
private

Definition at line 143 of file playlist.h.

Referenced by changed(), disableSaves(), doSaves(), and enableSaves().

◆ m_name

QString Playlist::m_name
private

◆ m_parent

PlaylistContainer* Playlist::m_parent {nullptr}
private

Definition at line 141 of file playlist.h.

Referenced by setParent(), and shuffleTracks().

◆ m_playlistid

int Playlist::m_playlistid {0}
private

Definition at line 135 of file playlist.h.

Referenced by getID(), loadPlaylist(), loadPlaylistByID(), resync(), savePlaylist(), and setID().

◆ m_shuffledSongs

SongList Playlist::m_shuffledSongs
private

◆ m_songs

SongList Playlist::m_songs
private

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