author | jeremy <jeremy> | 2002-02-10 13:22:54 (UTC) |
---|---|---|
committer | jeremy <jeremy> | 2002-02-10 13:22:54 (UTC) |
commit | 261b98eff083215db69843da28a05cfd1f7b3795 (patch) (side-by-side diff) | |
tree | 3e9ed039218f0a132c9413987e03a5b6dc5cb24e | |
parent | d0d626304ffb0de247e22760bc342e72406e301a (diff) | |
download | opie-261b98eff083215db69843da28a05cfd1f7b3795.zip opie-261b98eff083215db69843da28a05cfd1f7b3795.tar.gz opie-261b98eff083215db69843da28a05cfd1f7b3795.tar.bz2 |
Added support for setMic and micChange QCop messages. These additions
are exactly like setVolume and volumeChange excopt of course, they
change the mic input level instead of the volume out level.
-rw-r--r-- | library/opie-base.control | 2 | ||||
-rw-r--r-- | library/qpeapplication.cpp | 29 | ||||
-rw-r--r-- | library/qpeapplication.h | 6 |
3 files changed, 36 insertions, 1 deletions
diff --git a/library/opie-base.control b/library/opie-base.control index f883268..e610b8b 100644 --- a/library/opie-base.control +++ b/library/opie-base.control @@ -4,5 +4,5 @@ Section: opie/system Maintainer: Warwick Allison <warwick@trolltech.com> Architecture: arm -Version: $QPE_VERSION-$SUB_VERSION +Version: $QPE_VERSION-$SUB_VERSION.1 Depends: qt-embedded (>=$QTE_VERSION), opie-qcop, opie-taskbar, opie-pics, opie-sounds, apmd Description: Base Qtopia environment diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index 4dbfbd8..a55f5f9 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -164,4 +164,5 @@ public: static int muted=0; +static int micMuted=0; static void setVolume(int t=0, int percent=-1) @@ -185,4 +186,23 @@ static void setVolume(int t=0, int percent=-1) } +static void setMic(int t=0, int percent=-1) +{ + switch (t) { + case 0: { + Config cfg("Sound"); + cfg.setGroup("System"); + if ( percent < 0 ) + percent = cfg.readNumEntry("Mic",50); + + int fd = 0; + int mic = micMuted ? 0 : percent; + if ((fd = open("/dev/mixer", O_RDWR))>=0) { + ioctl(fd, MIXER_WRITE(SOUND_MIXER_MIC), &mic); + ::close(fd); + } + } break; + } +} + int qpe_sysBrightnessSteps() { @@ -987,4 +1007,13 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data) setVolume(); emit volumeChanged( muted ); + } else if ( msg == "setMic(int,int)") { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> + int t,v; + stream >> t >> v; + setMic(t,v); + emit micChanged( micMuted ); + } else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> + stream >> micMuted; + setMic(); + emit micChanged( micMuted ); } else if ( msg == "setScreenSaverMode(int)" ) { if ( type() == GuiServer ) { diff --git a/library/qpeapplication.h b/library/qpeapplication.h index fd5e57d..23606db 100644 --- a/library/qpeapplication.h +++ b/library/qpeapplication.h @@ -86,4 +86,5 @@ signals: void clockChanged( bool pm ); void volumeChanged( bool muted ); + void micChanged( bool muted ); void appMessage( const QCString& msg, const QByteArray& data); void weekChanged( bool startOnMonday ); @@ -118,4 +119,9 @@ private: #endif QPEApplicationData *d; + + bool reserved_sh; + + + }; |