Submitter | Sebastian Frei |
---|---|
Date | March 21, 2013, 7:48 p.m. |
Message ID | <14358675.91UhXQkOyA@nop> |
Download | mbox | patch |
Permalink | /patch/17559/ |
State | New |
Headers | show |
Comments
Hi Sebastian Frei, with ... &&(!cDevice::PrimaryDevice()->IsMute())) is the command not recognized and the string "Unknown option: MuteON" will return, when you call svdr more than one with "MuteON". Hardy
On 21.03.2013 20:48, Sebastian Frei wrote: > Hi all, > > I made a tiny patch to extend the SVDRP VOLU command. There will be no more changes for version 2.0. I'll look at this again after that. > Up until now VDR only had an option to _toggle_ the current audio muted status, > but no options to force the audio muted status on or off. I want to mute the > audio via SVDRP and unmute it again later. > > My usecase: I'm running mpd on the same host as VDR, if I start playing music > with mpd from my tablet I can mute VDR automatically with a shell script and > unmute it again after stopping the music. > Using the (already implemented) VOLU 0 command also mutes the audio, but the > previous audio volume gets lost, so you cannot unmute audio again and return to > the previous volume. You could query the current volume level with a plain VOLU command, store that value and use it later. Klaus
Patch
--- vdr-1.7.41/svdrp.c 2013-02-17 14:17:36.000000000 +0100 +++ vdr-1.7.41.mute/svdrp.c 2013-03-21 20:30:53.440746278 +0100 @@ -317,12 +317,13 @@ "UPDR\n" " Initiates a re-read of the recordings directory, which is the SVDRP\n" " equivalent to 'touch .update'.", - "VOLU [ <number> | + | - | mute ]\n" + "VOLU [ <number> | + | - | mute | muteon | muteoff ]\n" " Set the audio volume to the given number (which is limited to the range\n" " 0...255). If the special options '+' or '-' are given, the volume will\n" " be turned up or down, respectively. The option 'mute' will toggle the\n" - " audio muting. If no option is given, the current audio volume level will\n" - " be returned.", + " audio muting, 'muteon' will turn muting on, 'muteoff' will turn muting\n" + " off. If no option is given, the current audio volume level will be\n" + " returned.", "QUIT\n" " Exit vdr (SVDRP).\n" " You can also hit Ctrl-D to exit.", @@ -1609,6 +1610,10 @@ cDevice::PrimaryDevice()->SetVolume(-VOLUMEDELTA); else if (strcasecmp(Option, "MUTE") == 0) cDevice::PrimaryDevice()->ToggleMute(); + else if ((strcasecmp(Option, "MUTEON") == 0)&&(!cDevice::PrimaryDevice()->IsMute())) + cDevice::PrimaryDevice()->ToggleMute(); + else if ((strcasecmp(Option, "MUTEOFF") == 0)&&(cDevice::PrimaryDevice()->IsMute())) + cDevice::PrimaryDevice()->ToggleMute(); else { Reply(501, "Unknown option: \"%s\"", Option); return;