File indexing completed on 2024-04-21 03:49:56

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2014 Sanjiban Bairagya <sanjiban22393@gmail.com>
0004 //
0005 
0006 #ifndef SOUNDTRACK_H
0007 #define SOUNDTRACK_H
0008 
0009 #include <QDateTime>
0010 #include <QTimer>
0011 
0012 namespace Marble
0013 {
0014 
0015 class PlaybackSoundCueItem;
0016 
0017 class SoundTrack : public QObject
0018 {
0019     Q_OBJECT
0020 
0021 public:
0022     explicit SoundTrack( PlaybackSoundCueItem* item );
0023     void setDelayBeforeTrackStarts( double delay );
0024     double delayBeforeTrackStarts() const;
0025     void play();
0026     void pause();
0027     void seek( double position );
0028     void stop();
0029     void setPaused( bool );
0030 
0031 public Q_SLOTS:
0032     void playSlot();
0033 
0034 private:
0035     PlaybackSoundCueItem* m_item;
0036     QDateTime m_playTime;
0037     QDateTime m_pauseTime;
0038     double m_delayBeforeTrackStarts;
0039     double m_progress;
0040     QTimer m_timer;
0041     bool m_paused;
0042 };
0043 }
0044 #endif