Add volume control
This commit is contained in:
parent
5d5e3c6888
commit
4a83f971f3
14 changed files with 144 additions and 32 deletions
|
|
@ -6,6 +6,7 @@
|
|||
MusicModel::MusicModel(VlcInstance* instance, QObject *parent) : QObject(parent),
|
||||
mVlc(instance), mMedia(new VlcMediaList(instance))
|
||||
{
|
||||
/* nothing */
|
||||
}
|
||||
|
||||
MusicModel::~MusicModel()
|
||||
|
|
@ -101,6 +102,20 @@ bool MusicModel::hasPrevious() const
|
|||
return mHasPrevious;
|
||||
}
|
||||
|
||||
void MusicModel::setAudioVolume(int newVolume)
|
||||
{
|
||||
if(newVolume != mAudioVolume){
|
||||
if(newVolume > 100){
|
||||
mAudioVolume = 100;
|
||||
} else if(newVolume < 0){
|
||||
mAudioVolume = 0;
|
||||
} else {
|
||||
mAudioVolume = newVolume;
|
||||
}
|
||||
emit audioVolumeChanged(mAudioVolume);
|
||||
}
|
||||
}
|
||||
|
||||
double MusicModel::getProgress() const
|
||||
{
|
||||
return mCurrentMediaItemProgress;
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ class MusicModel : public QObject
|
|||
Q_PROPERTY(QString pMediaLength READ getMediaLength NOTIFY mediaLengthChanged)
|
||||
Q_PROPERTY(QString pTime READ getTime NOTIFY progressChanged)
|
||||
Q_PROPERTY(QString pMediaTitle READ getMediaTitle NOTIFY mediaTitleChanged)
|
||||
Q_PROPERTY(int pAudioVolume READ getAudioVolume WRITE setAudioVolume NOTIFY audioVolumeChanged)
|
||||
|
||||
signals:
|
||||
void navigateTo(NavigationItemModel *item);
|
||||
|
|
@ -33,6 +34,7 @@ signals:
|
|||
void progressChanged();
|
||||
void mediaLengthChanged();
|
||||
void mediaTitleChanged();
|
||||
void audioVolumeChanged(int newVolume);
|
||||
|
||||
public:
|
||||
MusicModel(VlcInstance* instance, QObject *parent = Q_NULLPTR);
|
||||
|
|
@ -54,6 +56,15 @@ public:
|
|||
bool hasNext() const;
|
||||
bool hasPrevious() const;
|
||||
|
||||
inline int getAudioVolume() const { return mAudioVolume; }
|
||||
/**
|
||||
* @brief Set audio volume. Information is transferred to VlcAudio
|
||||
* @param newVolume value between 0 and 100 (audio level in percent)
|
||||
* Ensures that volume is inbetween 0 and 100. If this range is exceeded,
|
||||
* the volume is set to the lowest and highest allowed value, respectively.
|
||||
*/
|
||||
void setAudioVolume(int newVolume);
|
||||
|
||||
double getProgress() const;
|
||||
|
||||
QString getMediaTitle() const;
|
||||
|
|
@ -79,10 +90,11 @@ private:
|
|||
int mCurrentMediaItemLength = 0;
|
||||
int mCurrentTime = 0;
|
||||
double mCurrentMediaItemProgress = 0;
|
||||
int mAudioVolume{50};
|
||||
QString mMediaTitle = QString("");
|
||||
NavigationItemModel* mCurrentItem = Q_NULLPTR;
|
||||
VlcMediaList* mMedia = Q_NULLPTR;
|
||||
VlcInstance* mVlc;
|
||||
VlcInstance* mVlc = Q_NULLPTR;
|
||||
};
|
||||
|
||||
#endif // MUSICMODEL_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue