summaryrefslogtreecommitdiff
path: root/libopie/odevice.cpp
authorsandman <sandman>2002-06-25 22:35:38 (UTC)
committer sandman <sandman>2002-06-25 22:35:38 (UTC)
commitb970aebbdfc7e6f811c9b75ee62ad9370f74ace0 (patch) (side-by-side diff)
tree3082f6d029574fe153520a783cba1d632cdcf522 /libopie/odevice.cpp
parent54188f54767a7057ace4e068378e1155e003c94f (diff)
downloadopie-b970aebbdfc7e6f811c9b75ee62ad9370f74ace0.zip
opie-b970aebbdfc7e6f811c9b75ee62ad9370f74ace0.tar.gz
opie-b970aebbdfc7e6f811c9b75ee62ad9370f74ace0.tar.bz2
Request from ljp: alarm/key/tap sounds should now also work on "Unknown"
modells (this includes x86 simulation)
Diffstat (limited to 'libopie/odevice.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libopie/odevice.cpp48
1 files changed, 20 insertions, 28 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp
index d952edf..61c24f4 100644
--- a/libopie/odevice.cpp
+++ b/libopie/odevice.cpp
@@ -14,16 +14,18 @@
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <qfile.h>
#include <qtextstream.h>
+#include <qpe/sound.h>
+#include <qpe/resource.h>
#include "odevice.h"
class ODeviceData {
public:
QString m_vendorstr;
@@ -39,18 +41,16 @@ public:
};
class ODeviceIPAQ : public ODevice {
protected:
virtual void init ( );
public:
virtual void alarmSound ( );
- virtual void keySound ( );
- virtual void touchSound ( );
virtual uint hasLeds ( ) const;
virtual OLedState led ( uint which ) const;
virtual bool setLed ( uint which, OLedState st );
};
class ODeviceZaurus : public ODevice {
protected:
@@ -67,19 +67,16 @@ public:
protected:
virtual void buzzer ( int snd );
};
-
-
-
ODevice *ODevice::inst ( )
{
static ODevice *dev = 0;
if ( !dev ) {
if ( QFile::exists ( "/proc/hal/model" ))
dev = new ODeviceIPAQ ( );
else if ( QFile::exists ( "/dev/sharp_buz" ) || QFile::exists ( "/dev/sharp_led" ))
@@ -140,24 +137,42 @@ QString ODevice::systemString ( )
OSystem ODevice::system ( )
{
return d-> m_system;
}
void ODevice::alarmSound ( )
{
+#ifndef QT_NO_SOUND
+ static Sound snd ( "alarm" );
+
+ if ( snd. isFinished ( ))
+ snd. play ( );
+#endif
}
void ODevice::keySound ( )
{
+#ifndef QT_NO_SOUND
+ static Sound snd ( "keysound" );
+
+ if ( snd. isFinished ( ))
+ snd. play ( );
+#endif
}
void ODevice::touchSound ( )
{
+#ifndef QT_NO_SOUND
+ static Sound snd ( "touchsound" );
+
+ if ( snd. isFinished ( ))
+ snd. play ( );
+#endif
}
uint ODevice::hasLeds ( ) const
{
return 0;
}
OLedState ODevice::led ( uint /*which*/ ) const
@@ -210,19 +225,17 @@ void ODeviceIPAQ::init ( )
d-> m_leds [0] = OLED_Off;
}
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/soundcard.h>
#include <qapplication.h>
-#include <qpe/resource.h>
#include <qpe/config.h>
-#include <qpe/sound.h>
//#include <linux/h3600_ts.h> // including kernel headers is evil ...
typedef struct h3600_ts_led {
unsigned char OffOnBlink; /* 0=off 1=on 2=Blink */
unsigned char TotalTime; /* Units of 5 seconds */
unsigned char OnTime; /* units of 100m/s */
unsigned char OffTime; /* units of 100m/s */
@@ -270,37 +283,16 @@ void ODeviceIPAQ::alarmSound ( )
if ( fd >= 0 ) {
if ( vol_reset )
::ioctl ( fd, MIXER_WRITE( 0 ), &vol );
::close ( fd );
}
#endif
}
-void ODeviceIPAQ::touchSound ( )
-{
-#ifndef QT_NO_SOUND
- static Sound snd ( "touchsound" );
-
- if ( snd. isFinished ( ))
- snd. play ( );
-#endif
-}
-
-void ODeviceIPAQ::keySound ( )
-{
-#ifndef QT_NO_SOUND
- static Sound snd ( "keysound" );
-
- if ( snd. isFinished ( ))
- snd. play ( );
-#endif
-}
-
-
uint ODeviceIPAQ::hasLeds ( ) const
{
return 1;
}
OLedState ODeviceIPAQ::led ( uint which ) const
{
if ( which == 0 )