diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2006-07-23 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2006-07-23 18:00:00 +0200 |
commit | 80c04529681b844de88cfa47ec743f847b37d7a2 (patch) | |
tree | 6df747a544c7e39215bf1fc4c5355f31c5a63ad6 /device.c | |
parent | 90bc2f18e3fb72bba792226dfd2a6e245464d2f5 (diff) | |
download | vdr-patch-lnbsharing-80c04529681b844de88cfa47ec743f847b37d7a2.tar.gz vdr-patch-lnbsharing-80c04529681b844de88cfa47ec743f847b37d7a2.tar.bz2 |
Version 1.4.1-2vdr-1.4.1-2
- Fixed the Makefile of the 'servicedemo' plugin, so that it defines the
PLUGIN macro, which allows the Make.config file to react properly when
compiling the plugin (reported by Bernd Melcher).
Note to all plugin developers: a plugin's Makefile *must* define the PLUGIN
macro, even if it doesn't use it itself!
- Added a comment regarding the PLUGIN macro to the 'newplugin' script.
- Added '--vfat' to the vdr.1 man page (reported by Udo Richter).
- Removed a double fdopen() in cPipe::Open() (reported by Stefan Huelswitt).
- Fixed handling the running status of EPG events before the currently running one,
in case they are added after the current event.
- cEIT::cEIT() now calls pSchedule->SetPresentSeen() even if OnlyRunningStatus is
true.
- Newlines in title and short text of an EPG event are now changed into blanks only
after all other fixes, because a short text might become a description.
- Fixed handling network masks in the svdrphosts.conf file (thanks to Patrick
Maier).
- Fixed handling relative volume settings in the call to cStatus::MsgSetVolume()
(reported by Norbert Wentz).
- Added a missing initialization of 'mutex' in cCiMenu::cCiMenu() and removed
some superfluous semicolons in ci.c (thanks to Marco Schlüßler).
- Fixed handling client side termination of SVDRP connections (thanks to Frank
Schmirler).
- cDevice::GetDevice() now prefers any device that's already receiving and doesn't
require detatching receivers (suggested by Anssi Hannula).
- Fixed handling numeric keys in the channel display after switching channel groups
(thanks to Andreas Regel).
- Menu items derived from cMenuEditIntItem now loop though their values if they
have a dedicated minimum or maximum limit (suggested by Andy Grobb). Looping is
only done for normal keypresses, not for repeated ones. This allows the user to
scroll the value all the way to the limit by keeping the key pressed.
Diffstat (limited to 'device.c')
-rw-r--r-- | device.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 1.131 2006/06/15 09:59:40 kls Exp $ + * $Id: device.c 1.133 2006/07/22 14:06:11 kls Exp $ */ #include "device.h" @@ -292,7 +292,7 @@ cDevice *cDevice::GetDevice(const cChannel *Channel, int Priority, bool *NeedsDe // to their individual severity, where the one listed first will make the most // difference, because it results in the most significant bit of the result. uint imp = 0; - imp <<= 1; imp |= !device[i]->Receiving() || ndr; // use receiving devices if we don't need to detach existing receivers + imp <<= 1; imp |= !device[i]->Receiving(true) || ndr; // use receiving devices if we don't need to detach existing receivers imp <<= 1; imp |= device[i]->Receiving(); // avoid devices that are receiving imp <<= 1; imp |= device[i] == ActualDevice(); // avoid the actual device (in case of Transfer Mode) imp <<= 1; imp |= device[i]->IsPrimaryDevice(); // avoid the primary device @@ -776,9 +776,10 @@ void cDevice::SetAudioChannel(int AudioChannel) void cDevice::SetVolume(int Volume, bool Absolute) { + int OldVolume = volume; volume = min(max(Absolute ? Volume : volume + Volume, 0), MAXVOLUME); SetVolumeDevice(volume); - cStatus::MsgSetVolume(volume, Absolute); + cStatus::MsgSetVolume(Absolute ? volume : volume - OldVolume, Absolute); if (volume > 0) { mute = false; Audios.MuteAudio(mute); |