summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/loopcontrol.h
Unidiff
Diffstat (limited to 'core/multimedia/opieplayer/loopcontrol.h') (more/less context) (show whitespace changes)
-rw-r--r--core/multimedia/opieplayer/loopcontrol.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/core/multimedia/opieplayer/loopcontrol.h b/core/multimedia/opieplayer/loopcontrol.h
new file mode 100644
index 0000000..967ee25
--- a/dev/null
+++ b/core/multimedia/opieplayer/loopcontrol.h
@@ -0,0 +1,88 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20#ifndef MPEGVIEW_H
21#define MPEGVIEW_H
22
23
24#include <qwidget.h>
25#include <qdatetime.h>
26
27
28class LoopControl : public QObject {
29 Q_OBJECT
30public:
31 LoopControl( QObject *parent, const char *name );
32 ~LoopControl();
33
34 bool init( const QString& filename );
35
36 bool hasVideo() const { return hasVideoChannel; }
37 bool hasAudio() const { return hasAudioChannel; }
38
39 long totalPlaytime() { return (long)(hasVideoChannel ? total_video_frames / framerate : total_audio_samples / freq); }
40
41 // These are public to run them from global functions needed to start threads
42 // Otherwise they would be private
43 void startAudio();
44 void startVideo();
45 bool moreAudio;
46 bool moreVideo;
47public slots:
48 void play();
49 void stop( bool willPlayAgainShortly = FALSE );
50
51 void setMute( bool );
52 void setPaused( bool );
53 void setPosition( long );
54
55signals:
56 void positionChanged( long, long );
57
58protected:
59 void timerEvent(QTimerEvent*);
60
61private:
62 void startTimers();
63 void killTimers();
64
65 QTime playtime;
66 int videoId;
67 int sliderId;
68
69 int audioSampleCounter;
70 long current_frame;
71 long total_video_frames;
72 long total_audio_samples;
73
74 float framerate;
75 int freq;
76 int stream;
77 int framecount;
78 int channels;
79
80 bool hasVideoChannel;
81 bool hasAudioChannel;
82 bool isMuted;
83 QString fileName;
84};
85
86
87#endif
88