0f83d3295eae3945c5d78d816bf7c16c5f3ed72a
[kitchenalert] / src / alertsound.cpp
1 /**************************************************************************
2         This file is part of KitchenAlert v.0.09
3
4         Copyright (C) 2010  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
31
32 AlertSound::AlertSound(QObject *parent) :
33     QObject(parent)
34 {
35
36     defaultsound_ = "/opt/KitchenAlert/06capemaycloser_modifiedlouder.mp3";
37     QString filename;
38
39     QSettings settings("KitchenAlert","KitchenAlert");
40
41    // settings.clear(); //REMOVE THIS AFTER TESTING!!!!!!
42
43     bool useDefaultSound = settings.value("UseDefaultSound",true).toBool();
44     qDebug() << "In AlertSound constructor UseDefaultSound is " << useDefaultSound;
45     if (useDefaultSound == true)
46     {
47         filename = defaultsound_;
48     }
49     else
50     {
51         filename = settings.value("soundfile",defaultsound_).toString();
52     }
53     pSound_ = Phonon::createPlayer(Phonon::MusicCategory, Phonon::MediaSource(filename));
54 }
55
56 void AlertSound::play()
57 {
58     pSound_->stop(); //Just testing if stopping the previous alert will prevent the jammming of the sound
59     pSound_->play();
60     qDebug() << "Sound should be played now";
61 }
62
63 void AlertSound::stop()
64 {
65
66     pSound_->stop();
67 }
68
69 void AlertSound::setSound(QString filename)
70 {
71    QSettings settings("KitchenAlert","KitchenAlert");
72    settings.setValue("UseDefaultSound",false);
73    settings.setValue("soundfile",filename);
74    pSound_->setCurrentSource(filename);
75 }
76
77 void AlertSound::setDefaultSound()
78 {
79     QSettings settings ("KitchenAlert","KitchenAlert");
80     settings.setValue("UseDefaultSound",true);
81     pSound_->setCurrentSource(defaultsound_);
82 }