summaryrefslogtreecommitdiff
authorsandman <sandman>2002-06-18 12:46:11 (UTC)
committer sandman <sandman>2002-06-18 12:46:11 (UTC)
commit61e2f9e5eb634b17ef480d79bdbcbc3a715990cb (patch) (side-by-side diff)
tree013600ee0ababcc25f37ff98cede8f67cbdc9d2a
parente21322ab34a8df36344eece685e604abe4f83fc6 (diff)
downloadopie-61e2f9e5eb634b17ef480d79bdbcbc3a715990cb.zip
opie-61e2f9e5eb634b17ef480d79bdbcbc3a715990cb.tar.gz
opie-61e2f9e5eb634b17ef480d79bdbcbc3a715990cb.tar.bz2
Moved platform specific things from custom-*.h #defines to virtual methods
in libopie/odevice.{h,cpp} Minor fix in Sound + reformating
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--library/custom-ipaq.h60
-rw-r--r--library/custom-sharp.h53
-rw-r--r--library/sound.cpp11
3 files changed, 8 insertions, 116 deletions
diff --git a/library/custom-ipaq.h b/library/custom-ipaq.h
index 2886940..553b571 100644
--- a/library/custom-ipaq.h
+++ b/library/custom-ipaq.h
@@ -14,67 +14,7 @@
** 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.
**
**********************************************************************/
-#include <unistd.h>
-#include <stdio.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <sys/ioctl.h>
-#include <linux/soundcard.h>
-#include <qpe/resource.h>
-#include <qsound.h>
-#include <qpe/sound.h>
-
-
-#ifndef QT_NO_SOUND
-
-#define CUSTOM_SOUND_ALARM \
-{ \
- int fd; \
- int vol; \
- bool vol_reset = false; \
- \
- if ((( fd = open ( "/dev/sound/mixer", O_RDWR )) >= 0 ) || \
- (( fd = open ( "/dev/mixer", O_RDWR )) >= 0 )) { \
- \
- if ( ioctl ( fd, MIXER_READ( 0 ), &vol ) >= 0 ) { \
- Config cfg ( "qpe" ); \
- cfg. setGroup ( "Volume" ); \
- \
- int volalarm = cfg. readNumEntry ( "AlarmPercent", 50 ); \
- if ( volalarm < 0 ) \
- volalarm = 0; \
- else if ( volalarm > 100 ) \
- volalarm = 100; \
- volalarm |= ( volalarm << 8 ); \
- if ( ioctl ( fd, MIXER_WRITE( 0 ), &volalarm ) >= 0 ) \
- vol_reset = true; \
- } \
- } \
- \
- Sound snd ( "alarm" ); \
- snd. play ( ); \
- while ( !snd. isFinished ( )) \
- qApp-> processEvents ( ); \
- \
- if ( fd >= 0 ) { \
- if ( vol_reset ) \
- ::ioctl ( fd, MIXER_WRITE( 0 ), &vol ); \
- ::close ( fd ); \
- } \
-}
-
-#define CUSTOM_SOUND_KEYCLICK { QSound::play ( Resource::findSound ( "keysound" )); }
-#define CUSTOM_SOUND_TOUCH { QSound::play ( Resource::findSound ( "screensound" )); }
-
-#else
-
-#define CUSTOM_SOUND_ALARM { ; }
-#define CUSTOM_SOUND_KEYCLICK { ; }
-#define CUSTOM_SOUND_TOUCH { ; }
-
-
-#endif
diff --git a/library/custom-sharp.h b/library/custom-sharp.h
index 08f8a6f..3dab34f 100644
--- a/library/custom-sharp.h
+++ b/library/custom-sharp.h
@@ -33,69 +33,16 @@
#include <unistd.h>
#include <stdio.h>
#include <signal.h>
#include <fcntl.h>
#include <sys/ioctl.h>
-#define SHARP_DEV_IOCTL_COMMAND_START 0x5680
-
-/* --- for SHARP_BUZZER device --- */
-#define SHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START)
-#define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START)
-#define SHARP_BUZZER_SETVOLUME (SHARP_BUZZER_IOCTL_START+1)
-#define SHARP_BUZZER_GETVOLUME (SHARP_BUZZER_IOCTL_START+2)
-#define SHARP_BUZZER_ISSUPPORTED (SHARP_BUZZER_IOCTL_START+3)
-#define SHARP_BUZZER_SETMUTE (SHARP_BUZZER_IOCTL_START+4)
-#define SHARP_BUZZER_STOPSOUND (SHARP_BUZZER_IOCTL_START+5)
-
-#define SHARP_BUZ_TOUCHSOUND 1 /* touch panel sound */
-#define SHARP_BUZ_KEYSOUND 2 /* key sound */
-#define SHARP_PDA_ILLCLICKSOUND 3 /* illegal click */
-#define SHARP_PDA_WARNSOUND 4 /* warning occurred */
-#define SHARP_PDA_ERRORSOUND 5 /* error occurred */
-#define SHARP_PDA_CRITICALSOUND 6 /* critical error occurred */
-#define SHARP_PDA_SYSSTARTSOUND 7 /* system start */
-#define SHARP_PDA_SYSTEMENDSOUND 8 /* system shutdown */
-#define SHARP_PDA_APPSTART 9 /* application start */
-#define SHARP_PDA_APPQUIT 10 /* application ends */
-#define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */
-#define SHARP_BUZ_DAILY_ALARM 12 /* daily alarm */
-#define SHARP_BUZ_GOT_PHONE_CALL 13 /* phone call sound */
-#define SHARP_BUZ_GOT_MAIL 14 /* mail sound */
-
-
-#define CUSTOM_BUZZER( sound ) \
-{ \
- static int fd = open( "/dev/sharp_buz", O_RDWR|O_NONBLOCK ); \
- ioctl( fd, SHARP_BUZZER_MAKESOUND, sound ); \
-}
-
-#define CUSTOM_SOUND_ALARM CUSTOM_BUZZER( SHARP_BUZ_SCHEDULE_ALARM )
-#define CUSTOM_SOUND_KEYCLICK CUSTOM_BUZZER( SHARP_BUZ_KEYSOUND )
-#define CUSTOM_SOUND_TOUCH CUSTOM_BUZZER( SHARP_BUZ_TOUCHSOUND )
-
#include <sys/ioctl.h>
#include <asm/sharp_char.h>
-// a bit awkward, as this value is defined in emailclient.cpp aswell...
-#define LED_MAIL 0
-#define SHARP_LED_MAIL 9
-
-#define CUSTOM_LEDS( led, status ) \
-{ \
- if ( led == LED_MAIL ) \
- led = SHARP_LED_MAIL; \
- static int fd = open( "/dev/sharp_led", O_RDWR|O_NONBLOCK ); \
- sharp_led_status leds; \
- memset(&leds, 0, sizeof(leds)); \
- leds.which = led; \
- leds.status = status; \
- ioctl( fd, SHARP_LED_SETSTATUS, (char*)&leds ); \
-}
-
#define QPE_HAVE_MEMALERTER
#define QPE_MEMALERTER_IMPL \
static void sig_handler(int sig) \
{ \
switch (sig) { \
diff --git a/library/sound.cpp b/library/sound.cpp
index 602fcf0..1ff3b3f 100644
--- a/library/sound.cpp
+++ b/library/sound.cpp
@@ -104,44 +104,48 @@ class SoundData : public QSound {
public:
SoundData(const QString& name) :
QSound(Resource::findSound(name)),
filename(Resource::findSound(name))
{
loopsleft=0;
+ ms = WAVsoundDuration(filename);
}
void playLoop(int loopcnt = -1)
{
// needs server support
loopsleft = loopcnt;
- int ms = WAVsoundDuration(filename);
if ( ms )
startTimer(ms > 50 ? ms-50 : 0); // 50 for latency
play();
}
void timerEvent ( QTimerEvent *e )
{
if (loopsleft >= 0) {
- if (--loopsleft <= 0)
+ if ( --loopsleft <= 0 ) {
killTimer (e->timerId());
+ loopsleft = 0;
return;
}
+ }
play();
}
bool isFinished ( ) const
{
return ( loopsleft == 0 );
}
private:
QString filename;
int loopsleft;
+ int ms;
};
+
#endif
Sound::Sound(const QString& name)
{
#ifndef QT_NO_SOUND
d = new SoundData(name);
@@ -155,13 +159,12 @@ Sound::~Sound()
#endif
}
void Sound::play()
{
#ifndef QT_NO_SOUND
- d->killTimers();
d->playLoop(1);
#endif
}
void Sound::playLoop()
{
@@ -179,12 +182,14 @@ void Sound::stop()
}
bool Sound::isFinished() const
{
#ifndef QT_NO_SOUND
return d->isFinished();
+#else
+ return true;
#endif
}
void Sound::soundAlarm()
{
#ifndef QT_NO_COP