Jellyfin Qt
QML Library for interacting with the Jellyfin multimedia server
Loading...
Searching...
No Matches
Jellyfin::Model::ListShuffleBase Class Reference

Base class for shuffles that shuffle the entire list in advance. More...

#include <shuffle.h>

Inheritance diagram for Jellyfin::Model::ListShuffleBase:
Jellyfin::Model::NoShuffle Jellyfin::Model::Shuffle Jellyfin::Model::SimpleListShuffle

Public Member Functions

 ListShuffleBase (const Playlist *parent)
 
virtual int currentItem () const override
 
virtual int nextItem () const override
 
virtual int itemAt (int index) const override
 Determine the item index at at the shuffled index.
 
- Public Member Functions inherited from Jellyfin::Model::NoShuffle
 NoShuffle (const Playlist *parent)
 
virtual void previous () override
 The shuffle should determine the previous item.
 
virtual void next () override
 The shuffle should determine the next item.
 
virtual void setIndex (int i) override
 Set the index of the now playing item.
 
virtual bool hasPrevious () const override
 
virtual bool hasNext () const override
 
- Public Member Functions inherited from Jellyfin::Model::Shuffle
 Shuffle (const Playlist *parent)
 
virtual bool canShuffleInAdvance ()
 If this Shuffle implementation shuffles the entire list in advance.
 
virtual void shuffleInAdvance ()
 Shuffle the list in advance. Should only be called if canShuffleInAdvance() is called.
 
void setRepeatAll (bool repeatAll)
 Sets whether the shuffler to loop over the list if all items are played.
 

Protected Attributes

QVector< int > m_map
 
- Protected Attributes inherited from Jellyfin::Model::NoShuffle
int m_index = 0
 
- Protected Attributes inherited from Jellyfin::Model::Shuffle
const Playlistm_playlist
 Playlist that can be used to gather information about the songs if needed for the algorithm.
 
bool m_repeatAll = false
 

Additional Inherited Members

- Protected Member Functions inherited from Jellyfin::Model::NoShuffle
int nextIndex () const
 
int previousIndex () const
 
- Static Protected Member Functions inherited from Jellyfin::Model::Shuffle
static int random (int max, int min=0)
 

Detailed Description

Base class for shuffles that shuffle the entire list in advance.

Constructor & Destructor Documentation

◆ ListShuffleBase()

Jellyfin::Model::ListShuffleBase::ListShuffleBase ( const Playlist * parent)

Member Function Documentation

◆ currentItem()

int Jellyfin::Model::ListShuffleBase::currentItem ( ) const
overridevirtual
Returns
the index of the currently playing item

Reimplemented from Jellyfin::Model::NoShuffle.

◆ itemAt()

int Jellyfin::Model::ListShuffleBase::itemAt ( int index) const
overridevirtual

Determine the item index at at the shuffled index.

Parameters
indexThe shuffled index
Returns
The actual index

If canShuffleInAdvance() returns false, a new implemention is not needed or -1 may be returned. This function should not even be called in that case.

Reimplemented from Jellyfin::Model::NoShuffle.

◆ nextItem()

int Jellyfin::Model::ListShuffleBase::nextItem ( ) const
overridevirtual
Returns
the index of the next item

Reimplemented from Jellyfin::Model::NoShuffle.

Member Data Documentation

◆ m_map

QVector<int> Jellyfin::Model::ListShuffleBase::m_map
protected

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