aboutsummaryrefslogblamecommitdiff
path: root/src/qmmpui/mediaplayer.h
blob: 920ef6908edc155cc330e8b96e09f6c0d73e5092 (plain) (tree)








































                                                                             
                                   
                              





                    



                                 




                                   
                  



      
/***************************************************************************
 *   Copyright (C) 2008 by Ilya Kotov                                      *
 *   forkotov02@hotmail.ru                                                 *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
#ifndef MEDIAPLAYER_H
#define MEDIAPLAYER_H

#include <QObject>

class PlayListModel;
class SoundCore;

/**
	@author Ilya Kotov <forkotov02@hotmail.ru>
*/
class MediaPlayer : public QObject
{
Q_OBJECT
public:
    MediaPlayer(QObject *parent = 0);

    ~MediaPlayer();

    static MediaPlayer* instance();

    void initialize(SoundCore *core, PlayListModel *model);
    PlayListModel *playListModel();
    bool isRepeatable() const;

public slots:
    void play();
    void stop();
    void next();
    void previous();
    void setRepeatable(bool);

signals:
    void repeatableChanged(bool);

private:
    PlayListModel *m_model;
    SoundCore *m_core;
    static MediaPlayer* m_instance;
    bool m_repeat;

};

#endif