Merge branch 'savebletimers'
[kitchenalert] / src / alertsound.cpp
1 /**************************************************************************
2         This file is part of KitchenAlert
3
4         Copyright (C) 2010-2011  Heli Hyvättinen
5
6         Kitchen Alert is free software: you can redistribute it and/or modify
7         it under the terms of the GNU General Public License as published by
8         the Free Software Foundation, either version 3 of the License, or
9         (at your option) any later version.
10
11         This program is distributed in the hope that it will be useful,
12         but WITHOUT ANY WARRANTY; without even the implied warranty of
13         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14         GNU General Public License for more details.
15
16         You should have received a copy of the GNU General Public License
17         along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
19 **************************************************************************/
20
21
22
23
24
25 #include "alertsound.h"
26
27 #include <QDebug>
28 #include <QSettings>
29
30 // Initialize static const
31  const QString AlertSound::defaultsound_  = "/home/opt/KitchenAlert/DoorbellModifiedFinal.mp3";
32
33
34
35 AlertSound::AlertSound(QObject *parent) :
36     QObject(parent)
37 {
38
39
40     QString filename;
41
42     QSettings settings("KitchenAlert","KitchenAlert");
43
44    // settings.clear(); //REMOVE THIS AFTER TESTING!!!!!!
45
46     bool useDefaultSound = settings.value("UseDefaultSound",true).toBool();
47 //    qDebug() << "In AlertSound constructor UseDefaultSound is " << useDefaultSound;
48     if (useDefaultSound == true)
49     {
50         filename = defaultsound_;
51     }
52     else
53     {
54         filename = settings.value("soundfile",defaultsound_).toString();
55     }
56
57
58
59       pSound_ = new QMediaPlayer;
60       pSound_->setMedia(QUrl::fromLocalFile(filename));
61 }
62
63 AlertSound::~AlertSound()
64 {
65
66     if (pSound_ != NULL)
67     {
68         delete pSound_;
69     }
70 }
71
72 void AlertSound::play()
73 {
74      pSound_->play();
75   //  qDebug() << "Sound should be played now";
76 }
77
78 void AlertSound::stop()
79 {
80
81     pSound_->stop();
82 //    qDebug() << pSound_->state();
83 //    qDebug() << "Sound stopped by AlertSound.";
84 }
85
86
87
88 void AlertSound::setSound(QString filename)
89 {
90
91    pSound_->setMedia(QUrl::fromLocalFile(filename));
92 }
93
94 void AlertSound::setDefaultSound()
95 {
96
97     pSound_->setMedia(QUrl::fromLocalFile(defaultsound_));
98 }