summaryrefslogtreecommitdiff
path: root/library/sound.h
authorzecke <zecke>2004-08-25 21:32:12 (UTC)
committer zecke <zecke>2004-08-25 21:32:12 (UTC)
commite4811064703ad34f42f15c3044cd8f63c0e7583c (patch) (side-by-side diff)
tree5c2ab29a176540761b351c29b6556c852067f613 /library/sound.h
parent656d233aa88a92b461abaa618e52db11c1f9d625 (diff)
downloadopie-e4811064703ad34f42f15c3044cd8f63c0e7583c.zip
opie-e4811064703ad34f42f15c3044cd8f63c0e7583c.tar.gz
opie-e4811064703ad34f42f15c3044cd8f63c0e7583c.tar.bz2
-If play() is called again kill old 'looping/playing' in favor
of the new value. This deletes the timer and would fix possible shortage on timer resources -A small friend to hook to an internal signal to avoid problems in Opie::Core::ODevice entering the event loop to wait for the sound to be finished. processEvents() can give strange results as some applications do not expect that the eventloop is entered. This could possible deliver a Timer, or an Event from QSocketNotifier which could give all kind of problems of wrong reentrancy. So let us avoid it.
Diffstat (limited to 'library/sound.h') (more/less context) (ignore whitespace changes)
-rw-r--r--library/sound.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/library/sound.h b/library/sound.h
index 9f35107..daef70f 100644
--- a/library/sound.h
+++ b/library/sound.h
@@ -1,45 +1,47 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#ifndef SOUND_H
#define SOUND_H
class QString;
class SoundData;
+class QObject;
class Sound {
+ /*INTERNAL*/ friend void register_qpe_sound_finished( Sound*, QObject *obj, const char* slot);
public:
Sound(const QString& name);
~Sound();
void play();
void playLoop();
void stop();
bool isFinished ( ) const;
static void soundAlarm();
//static void soundClick();
//static void soundTap();
private:
SoundData* d;
};
#endif