summaryrefslogtreecommitdiffstats
path: root/kicker-applets/mediacontrol/playerInterface.h
blob: aa4701ed5052314496bbf038b8778347ff1a27f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/***************************************************************************
              this is the abstract class to access a player from
                             -------------------
    begin                : Mon Jan 15 21:09:00 MEZ 2001
    copyright            : (C) 2001 by Stefan Gehn
    email                : metz {AT} gehn {DOT} net
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef PLAYERINTERFACE_H
#define PLAYERINTERFACE_H

#include <qobject.h>
#include <qdragobject.h>

class PlayerInterface : public QObject
{
	Q_OBJECT
	public:
		PlayerInterface();
		virtual ~PlayerInterface();

		enum PlayingStatus { Stopped=0, Playing, Paused };

	public slots:
		virtual void updateSlider()=0; // gets called on timer-timeout
		virtual void sliderStartDrag()=0;
		virtual void sliderStopDrag()=0;
		virtual void jumpToTime( int msec )=0;
		virtual void playpause()=0;
		virtual void stop()=0;
		virtual void next()=0;
		virtual void prev()=0;
		virtual void volumeUp()=0;
		virtual void volumeDown()=0;
		virtual void dragEnterEvent(QDragEnterEvent* event)=0;
		virtual void dropEvent(QDropEvent* event)=0;
		virtual const QString getTrackTitle() const=0;
		virtual int playingStatus()=0;

		void startPlayer(const QString &desktopname);

	signals:
		void newSliderPosition(int, int);
		void playingStatusChanged(int);
		void playerStarted();
		void playerStopped();
};
#endif