Bug 7926 - Front Panel button modifier problem
: Front Panel button modifier problem
Status: CLOSED FIXED
Product: SB Boom
Classification: Unclassified
Component: Front Panel
: unspecified
: PC Windows XP
: -- normal (vote)
: ---
Assigned To: Felix Mueller
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-04-21 14:07 UTC by KDF
Modified: 2009-07-14 07:07 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments
Four snooze button single presses (1.48 KB, application/zip)
2008-05-14 21:23 UTC, Felix Mueller
Details
kill hold timer (656 bytes, patch)
2008-05-14 22:44 UTC, KDF
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description KDF 2008-04-21 14:07:26 UTC
The front panel/snooze buttons seem very prone to accidental .hold modifiers.  This is likely an issue in the timers that convert .down and .up into the standard button modifiers.
Comment 1 sbjaerum 2008-04-21 14:17:09 UTC
With Triode's Power/Home button patch in forum, http://forums.slimdevices.com/showpost.php?p=293236&postcount=17
this problem also seems to apply to the Power button.
Comment 2 Max Spicer 2008-04-21 14:30:44 UTC
Related to #7891?
Comment 3 KDF 2008-04-21 14:33:54 UTC
possible, but then a double push should mean that the .hold won't happen.  If they are indeed the same source problem, it could get ugly.
Comment 4 Max Spicer 2008-04-21 14:37:02 UTC
Or is the double push actually a repeat?  I'm out of my depth here.  ;-)
Comment 5 KDF 2008-04-21 14:41:43 UTC
If I can ever get time away from home modification, I plan to have a look at the player.ir information. Last time I dug into that part of the code, it was a very long process.
Comment 6 KDF 2008-04-21 14:47:17 UTC
Anyone who does end up with time, turn on player.ir for debug and look for mention of "Front panel button".  The log should show press events and release times. Also of interest may be the "Hold Time Expired..." messages
Comment 7 Felix Mueller 2008-05-14 21:23:14 UTC
Created attachment 3346 [details]
Four snooze button single presses

I pressed and released the snooze button four times. Button was released after 0.15 and 0.22 seconds according to SC log.

Even though this were single presses, on the fourth press, SC also executed the .hold function.

Seems like the hold timer doesn't get canceled upon a button release?
Comment 8 Felix Mueller 2008-05-14 21:24:35 UTC
Forgot to mention: Boom fw 7 and SC r 19699
Comment 9 KDF 2008-05-14 22:25:32 UTC
how about this:
ndex: Hardware/IR.pm
===================================================================
--- Hardware/IR.pm	(revision 19712)
+++ Hardware/IR.pm	(working copy)
@@ -760,6 +760,9 @@
 	if ($dir eq 'down') {
 
 		$log->info("IR: Front panel button press: $code");
+		
+		# kill any previous hold timers
+		Slim::Utils::Timers::killTimers($client, \&fireHold);
 
 		my $irCode  = lookupFunction($client,$code);
Comment 10 KDF 2008-05-14 22:44:08 UTC
Created attachment 3347 [details]
kill hold timer

we need to kill on press AND release.
Comment 11 Felix Mueller 2008-05-15 07:16:59 UTC
Looks good to me. Tested with snooze button and I don't see accidentally .hold events anymore.

Could you commit your patch please, thanks.
Comment 12 KDF 2008-05-15 07:52:40 UTC
I put this into 7.1 at change 19731, as this is applicable to transporter as well.

Comment 13 James Richardson 2008-12-15 12:50:33 UTC
This bug has been fixed in the latest release of SqueezeNetwork!

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.