File indexing completed on 2024-04-28 07:38:13
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