Qmmp
Public Types | Public Slots | Signals | Public Member Functions
PlayListModel Class Reference

#include <playlistmodel.h>

List of all members.

Public Types

enum  SortMode {
  TITLE = 0, ALBUM, DISCNUMBER, ARTIST,
  ALBUMARTIST, FILENAME, PATH_AND_FILENAME, DATE,
  TRACK, FILE_CREATION_DATE, FILE_MODIFICATION_DATE, GROUP
}
enum  UpdateFlags {
  STRUCTURE = 0x01, SELECTION = 0x02, QUEUE = 0x04, CURRENT = 0x08,
  STOP_AFTER = 0x10, METADATA = 0x20
}

Public Slots

void add (PlayListTrack *track)
void add (QList< PlayListTrack * > tracks)
void add (const QString &path)
void add (const QStringList &paths)
void insert (int index, PlayListTrack *track)
void insert (PlayListItem *before, PlayListTrack *track)
void insert (int index, QList< PlayListTrack * > tracks)
void insert (PlayListItem *before, QList< PlayListTrack * > tracks)
void insert (int index, const QString &path)
void insert (int index, const QStringList &paths)
void insert (int index, const QList< QUrl > &urls)
void clear ()
void clearSelection ()
void removeSelected ()
void removeUnselected ()
void removeTrack (int i)
void removeTrack (PlayListItem *track)
void invertSelection ()
void selectAll ()
void showDetails (QWidget *parent=0)
void showDetailsForCurrent (QWidget *parent=0)
void doCurrentVisibleRequest ()
void randomizeList ()
void reverseList ()
void sortSelection (int mode)
void sort (int mode)
void sortByColumn (int column)
void addToQueue ()
void setQueued (PlayListTrack *item)
void removeInvalidTracks ()
void removeDuplicates ()
void refresh ()
void clearQueue ()
void stopAfterSelected ()
void rebuildGroups ()
void updateMetaData ()

Signals

void listChanged (int flags)
void trackAdded (PlayListTrack *track)
void nameChanged (const QString &name)
void loaderFinished ()
void currentVisibleRequest ()
void sortingByColumnFinished (int column, bool reverted)

Public Member Functions

 PlayListModel (const QString &name, QObject *parent=0)
 ~PlayListModel ()
QString name () const
void setName (const QString &name)
int count () const
int trackCount () const
bool isEmpty () const
int columnCount () const
PlayListTrackcurrentTrack () const
PlayListTracknextTrack () const
int indexOf (PlayListItem *item) const
PlayListItemitem (int index) const
PlayListTracktrack (int index) const
PlayListGroupgroup (int index) const
int currentIndex () const
bool setCurrent (int index)
bool setCurrent (PlayListTrack *item)
bool isTrack (int index) const
bool isGroup (int index) const
bool isSelected (int index) const
void setSelected (int index, bool selected=true)
void setSelected (QList< PlayListTrack * > tracks, bool selected=true)
void setSelected (QList< PlayListItem * > items, bool selected=true)
void setSelected (int first, int last, bool selected=true)
void setSelected (QList< int > indexes, bool selected=true)
bool next ()
bool previous ()
QList< PlayListItem * > mid (int pos, int count=-1) const
void moveItems (int from, int to)
bool isQueued (PlayListTrack *item) const
bool isEmptyQueue () const
int queuedIndex (PlayListTrack *track) const
int queueSize () const
bool isStopAfter (PlayListItem *item) const
const SimpleSelectiongetSelection (int row)
QList< int > selectedIndexes () const
QList< PlayListTrack * > selectedTracks () const
QList< PlayListItem * > items () const
int firstSelectedUpper (int row)
int firstSelectedLower (int row)
int totalLength () const
void loadPlaylist (const QString &f_name)
void loadPlaylist (const QString &fmt, const QByteArray &data)
void savePlaylist (const QString &f_name)
bool isLoaderRunning () const
bool contains (const QString &url)
int indexOfTrack (int index) const
PlayListTrackfindTrack (int track_index) const

Detailed Description

The PlayListModel class provides a data model for the playlist.

Author:
Vladimir Kuznetsov <vovanec@gmail.com>
Ilya Kotov <forkotov02@hotmail.ru>

Playlist Structure ----------------------- | item | track | item | | index | index | type | ----------------------- | 0 | | group | | 1 | 0 | track | | 2 | 1 | track | | 3 | 2 | track | | 4 | 3 | track | | 5 | | group | | 6 | 4 | track | | 7 | 5 | track | | 8 | 6 | track |


Member Enumeration Documentation

enum SortMode

Enum of the available sort modes.

Enumerator:
TITLE 

by title

ALBUM 

by album

DISCNUMBER 

by discnumber

ARTIST 

by artist

ALBUMARTIST 

by album artist

FILENAME 

by file name

PATH_AND_FILENAME 

by path and file name

DATE 

by date

TRACK 

by track

FILE_CREATION_DATE 

by file creation date

FILE_MODIFICATION_DATE 

by file modification date

GROUP 

by group name

Enum of the playlist update flags.

Enumerator:
STRUCTURE 

Structure of the playlist has been changed

SELECTION 

Current selection has been changed

QUEUE 

Track queue has been changed

CURRENT 

Current track has been changed

STOP_AFTER 

Stop track has been changed

METADATA 

Metadata has been changed


Constructor & Destructor Documentation

PlayListModel ( const QString &  name,
QObject *  parent = 0 
)

Constructs a playlist model.

Parameters:
namePlaylist name.
parentQObject parent

Object destructor.


Member Function Documentation

void add ( PlayListTrack track) [slot]

Adds track to the playlist.

void add ( QList< PlayListTrack * >  tracks) [slot]

Adds a list of tracks to the playlist.

Parameters:
tracksList of tracks.
void add ( const QString &  path) [slot]

Adds a list of files and directories to the playlist

Parameters:
pathFull path of file or directory.
void add ( const QStringList &  paths) [slot]

Adds a list of files and directories to the playlist

Parameters:
pathsFull paths of files and directories.
void addToQueue ( ) [slot]

Adds/removes selected items to/from playback queue.

void clear ( ) [slot]

Removes all items.

void clearQueue ( ) [slot]

Removes all items from queue.

void clearSelection ( ) [slot]

Clears selection.

int columnCount ( ) const

Returns number of columns.

bool contains ( const QString &  url)

Returns true if the playlist contains an item with URL url; otherwise returns false.

int count ( ) const

Returns number of items.

int currentIndex ( ) const

Returns index of the current item.

Returns the current track.

void currentVisibleRequest ( ) [signal]

Emitted to ensure that the current track is visible.

void doCurrentVisibleRequest ( ) [slot]

Ensures that the current track is visible.

PlayListTrack* findTrack ( int  track_index) const

Finds track with index track_index. Return null pointer if playlist does not contain track with index track_index.

int firstSelectedLower ( int  row)

Returns number of first item that selected lower the row item.

int firstSelectedUpper ( int  row)

Returns number of first item that selected upper the row item.

const SimpleSelection& getSelection ( int  row)

Returns current selection(playlist can contain a lot of selections, this method returns selection which row belongs to)

PlayListGroup* group ( int  index) const

Returns the group with the index index or 0 if group doesn't exist.

int indexOf ( PlayListItem item) const

Returns the row of the item

int indexOfTrack ( int  index) const

Converts item index index to track index Returns -1 if item with index index is not a track or does not exist.

void insert ( int  index,
PlayListTrack track 
) [slot]

Inserts track at index position index in the playlist.

void insert ( PlayListItem before,
PlayListTrack track 
) [slot]

Inserts track before playlist item before.

void insert ( int  index,
QList< PlayListTrack * >  tracks 
) [slot]

Inserts tracks at index position index in the playlist.

void insert ( PlayListItem before,
QList< PlayListTrack * >  tracks 
) [slot]

Inserts tracks after item before in the playlist.

void insert ( int  index,
const QString &  path 
) [slot]

Inserts file or directory at index position index in the playlist.

Parameters:
pathFull path of file or directory.
indexPosition in the playlist.
void insert ( int  index,
const QStringList &  paths 
) [slot]

Adds a list of files and directories at index position index in the playlist.

Parameters:
pathsFull paths of files and directories.
indexPosition in the playlist.
void insert ( int  index,
const QList< QUrl > &  urls 
) [slot]

Adds a list of URLs at index position index in the playlist.

Parameters:
urlsA list of URLs.
indexPosition in the playlist.
void invertSelection ( ) [slot]

Inverts selection (selects unselected items and unselects selected items)

bool isEmpty ( ) const

Returns true if the model contains no tracks; otherwise returns false.

bool isEmptyQueue ( ) const

Returns true if play queue is empty,otherwise returns - false.

bool isGroup ( int  index) const

Returns true if a playlist contains group separator with the index index. Otherwise returns false.

bool isLoaderRunning ( ) const

Returns true if the file loader thread is active; otherwise returns false.

bool isQueued ( PlayListTrack item) const

Returns true if f file is in play queue, otherwise returns false.

bool isSelected ( int  index) const

Returns true if item with index is selected, otherwise returns false

bool isStopAfter ( PlayListItem item) const

Returns true if playback stops after item, otherwise returns false.

bool isTrack ( int  index) const

Returns true if a playlist contains track with the index index. Otherwise returns false.

PlayListItem* item ( int  index) const

Returns the item with the index index or 0 if item doesn't exist.

QList<PlayListItem*> items ( ) const

Returns list of all PlayListItem pointers.

void listChanged ( int  flags) [signal]

Emitted when the state of PlayListModel has changed.

Parameters:
flagsPlaylist updated flags. See UpdateFlags enum for details.
void loaderFinished ( ) [signal]

Emitted when playlist loader thread has finished.

void loadPlaylist ( const QString &  f_name)

Loads playlist with f_name name.

QList<PlayListItem *> mid ( int  pos,
int  count = -1 
) const

Returns a list of the items, starting at position pos

Parameters:
posFirst item position.
countA number of items. If count is -1 (the default), all items from pos are returned.
void moveItems ( int  from,
int  to 
)

Moves the item at index position from to index position to.

QString name ( ) const

Returns playlist name.

void nameChanged ( const QString &  name) [signal]

Emitted when playlist name has chanded.

Parameters:
nameNew playlist name.
bool next ( )

Advances to the next item. Returns false if next iten doesn't exist, otherwise returns true

Returns the next playing track or 0 if next track is unknown.

bool previous ( )

Goes back to the previous item. Returns false if previous iten doesn't exist, otherwise returns true

int queuedIndex ( PlayListTrack track) const

Returns index of f file in queue.e

int queueSize ( ) const

Returns the number of items in the queue

void randomizeList ( ) [slot]

Randomly changes items order.

void rebuildGroups ( ) [slot]

Rebuilds groups

void refresh ( ) [slot]

Removes invalid tracks and scans parent directories for the new files

void removeDuplicates ( ) [slot]

Removes duplicate tracks by URL.

void removeInvalidTracks ( ) [slot]

Removes invalid tracks from playlist

void removeSelected ( ) [slot]

Removes selected items.

void removeTrack ( int  i) [slot]

Removes items with i index.

void removeTrack ( PlayListItem track) [slot]

Removes item item from playlist

void removeUnselected ( ) [slot]

Removes unselected items.

void reverseList ( ) [slot]

Reverces items order.

void savePlaylist ( const QString &  f_name)

Saves current songs to the playlist with f_name name.

void selectAll ( ) [slot]

Selects all items.

QList<int> selectedIndexes ( ) const

Returns list with selected items indexes.

QList<PlayListTrack *> selectedTracks ( ) const

Returns list of PlayListItem pointers that are selected.

bool setCurrent ( int  index)

Sets current index. Returns false if item with this index doesn't exist, otherwise returns true

Parameters:
indexNumber of item.
bool setCurrent ( PlayListTrack item)

Sets current item to item. Returns true if success, otherwise returns false

void setName ( const QString &  name)

Sets the name of the playlist to name.

void setQueued ( PlayListTrack item) [slot]

Adds/removes item f to/from playback queue.

void setSelected ( int  index,
bool  selected = true 
)

Sets the selected state of the item to select

Parameters:
indexNumber of item.
selectedSelection state (true - select, false - unselect)
void setSelected ( QList< PlayListTrack * >  tracks,
bool  selected = true 
)

Sets the selected state of the list of tracks to select

Parameters:
tracksList of tracks.
selectedSelection state (true - select, false - unselect)
void setSelected ( QList< PlayListItem * >  items,
bool  selected = true 
)

Sets the selected state of the list of items to select

Parameters:
itemsList of items.
selectedSelection state (true - select, false - unselect)
void setSelected ( int  first,
int  last,
bool  selected = true 
)

Sets the selected state of the list of items range.

Parameters:
firstFirts item in the range.
lastLast item in the range.
selectedSelection state (true - select, false - unselect).
void showDetails ( QWidget *  parent = 0) [slot]

Shows details for the first selected item.

Parameters:
parentparent Widget.
void showDetailsForCurrent ( QWidget *  parent = 0) [slot]

Shows the details for the current song (if any).

Parameters:
parentparent widget.
void sort ( int  mode) [slot]

Sorts items in mode sort mode.

void sortByColumn ( int  column) [slot]

Sorts tracks by the column with index column.

void sortingByColumnFinished ( int  column,
bool  reverted 
) [signal]

Emitted when sorting by column is finished.

Parameters:
columnColumn index.
revertedSort direction.
void sortSelection ( int  mode) [slot]

Sorts selected items in mode sort mode.

void stopAfterSelected ( ) [slot]

Toggles 'stop after selected' feature.

int totalLength ( ) const

Returns total lenght in seconds of all songs.

PlayListTrack* track ( int  index) const

Returns the track with the index index or 0 if track doesn't exist.

void trackAdded ( PlayListTrack track) [signal]

Emitted when new track has added.

Parameters:
trackPointer of the new playlist track.
int trackCount ( ) const

Returns number of tracks.

void updateMetaData ( ) [slot]

Requires to update metadata.


The documentation for this class was generated from the following file:
 All Classes Functions Variables Enumerations Enumerator