« Book review: NumPy 1.5 Beginner’s Guide Tea Timer 1.8 beta2 »
.

Tea Timer 1.8

Since everything seems to work nicely, I’ve just uploaded the final Tea Timer 1.8 release.

Unfortunately, I wasn’t able to submit the new version to apple.com. Seems like they don’t accept new widgets anymore …

However, here is the list of changes for this release:

  • [NEW] Growl 1.3 support
  • [NEW] Pink background
  • [CHANGE] Alarms are now called asynchronously. The voice and Growl message appear at the same time now (instead of after the other).
  • [CHANGE] The list of alarm sounds and voices is now created dynamically and thus contain Lion’s new voices.
  • [CHANGE] Editing the fields for the timer target (e.g. “Tea”) or “ready in” during a countdown will now longer reset the countdown. However, editing the countdown time during an active countdown will reset the countdown accordingly.
  • [FIX] Fixed a bug with keep alarming and sticky Growl messages. You won’t get flooded by them anymore. Instead, there will be only one sticky Growl message when keep alarming is activated.

Comment

  1. Bill on November 20, 2011 at 19:16:

    The new tea timer seems not to work if you don't have lion, the voice and sound options don't have any options other than off.

  2. Belinda on November 20, 2011 at 19:34:

    Yay! Thanks for the update. I love this widget!

    It's too bad that Apple - and the Apple community too, I think - have totally forgotten about widgets. I wish the Mac App Store had a section for widgets, for example.

  3. Emmi on November 20, 2011 at 19:56:

    Wonderful widget thanks! :D Been looking for a decent timer widget for everrrr!

    Though I'm not sure what Growl does...? I check 'use growl' but nothing different happens... also some of the voices don't seem to work...

  4. Stefan on November 20, 2011 at 21:05:

    @Bill: I tested it on Leopard and Snow Leopard and it worked well. Which version of OS X do you have? What’s the output if you execute python --version in Terminal?

    @Emmi: Growl is a notification system for Mac OS X. Which voices do not work?

  5. Abs on November 21, 2011 at 04:15:

    Looks good! Works perfect. Thanks for the update

  6. Marc on November 21, 2011 at 05:04:

    Thanks. Working well on my OS X Lion machine. Much appreciated.

  7. Sascha on November 21, 2011 at 08:52:

    Great work, as always! May I post a feature request here? I have the field "Duration of Alarm" always active, so the alarm is repeating unless I start the widget and turn it off. It would be great to turn off the alarm by simply klicking the growl notification! PS: Maybe I have named the field incorrectly, I use German version an don't know the exact translation ...

  8. Rich on November 21, 2011 at 10:30:

    Same problem as Bill. Running Leopard, Python ver 2.5.1

  9. Daniel Slaughter on November 21, 2011 at 14:36:

    I can confirm it works great on OSX Snow Leopard. Thank you for keeping this an active project as it has saved ounces of tea and reminded me to switch my laundry. :)

  10. Neal on November 21, 2011 at 14:38:

    Real useful widget, thanks a bunch. Been using it for a while.

  11. James Williams on November 21, 2011 at 15:17:

    Thanks for maintaining this widget, even if Apple isn't interested. You're a star!

  12. Jon on November 21, 2011 at 16:05:

    I have the same problem as Bill and Rich. Leopard 10.5.8, python 2.5.1

  13. philippe on November 21, 2011 at 17:45:

    Great widget, thanks! I use it all the time.

    Would you consider adding an extra option, call it 'alarm clock', where one does not enter a duration for countdown, but a target clock time?! At the moment, when I use Tea Timer to remind me that I must go attend a lecture at 3pm, I have to compute how long there is between now and 3pm. Would be simpler and more reliable to let Tea Timer do the base 60 subtraction. Thanks for your time!

  14. Stefan on November 21, 2011 at 18:45:

    I’ve tested it again on 10.5.8 with Python 2.5.1 and Growl 1.2.2. Everything works fine.

    @Jon, Bill & Rich: Could you please execute the following commands in Terminal?

    $ cd ~/Library/Widgets/Tea\ Timer.wdgt/
    $ python util.py voices
    $ python util.py sounds
    

    Each Python command should print a list of available voices/sounds. If not, please send me the stack trace.

    @philippe: Sorry, I won’t do that. Tea Teamer is just a countdown timer. I think iCal or Google Calender would better suite your needs for that.

    Cheers and thanks for your feedback.

  15. Doug on November 21, 2011 at 18:55:

    I love this widget and I use it all of the time. One of the really nice features is when I used the "Good News" voice, it would sing to me, e.g., "Your coffee is ready". Unfortunately, the new version does not work with this voice anymore (Snow Leopard).

  16. Emmi on November 21, 2011 at 22:59:

    The voices with 'compact' don't work for me; other voices work fine though. So I have to buy Growl in order to use it, right?

    Other than that I have no issues :]

  17. Jon on November 22, 2011 at 03:38:

    @Stefan Well I didn't execute those commands, but it's working now. I had originally put the timer in my Widgets folder by going to Mac HD/Library/Widgets. Now I've moved it to the Widgets folder that is accessed by going to /Users/User Name/Library/Widgets and everything works fine.

  18. bouyi on November 22, 2011 at 15:50:

    thanks, I love that widget, I use it for everything :3

  19. Mary on November 22, 2011 at 17:08:

    I know this sounds dumb but how do I install it? I've downloaded it and unzipped it but don't know how to get it into widgets.

    Thanks!

  20. lisbet on November 22, 2011 at 17:25:

    I really hope that Apple isn't phasing out widgets... I love them. Thanks for working on this!

  21. janet on November 22, 2011 at 19:08:

    thanks for the great widget. Is there any way you can get it to pop-up on my screen in addition to an alarm sound? I work in a cubicle and don't always have my earphones on. Thanks again.

  22. Stefan on November 22, 2011 at 23:04:

    @Emmi: Yes, you need Growl for this to work. You can still download the old version 1.2.2 that still works on Lion. However, Growl is woth the money.

    @Jon: Nice to hear. :)

    @Mary: Just double click it. It will be installed automatically if you open it. You can then try it and decide wheter you want to keep or delete the widget.

    @janet: Please try Growl. On (Snow) Leopard, you need version 1.2.2 (which also works on Lion). You can also download it from the AppStore.

    @all: Thanks for your feedback! :)

  23. Hugo Diaz on November 23, 2011 at 12:59:

    1.8 is BROKEN in Lion because the pause button DOES NOT STOP the timer at all. It resets the interface but keeps counting down, which makes it unusable. The rewind button doesn't work at all, that icon gets replaced by a clock icon when you press it but the timer keeps counting down and when it reaches zero, cannot get back up to anything other than zero.

  24. Stefan on November 23, 2011 at 18:11:

    Both, pause and rewind are working for me. Please try deleting the widget and its preference file and then reinstall it (by just double clicking on it).

  25. Rick on November 25, 2011 at 11:14:

    thanks, a nice widget, and nice to get an update.

  26. Richard Law on November 25, 2011 at 20:06:

    Hi!

    Love your timer.

    The old version used to repeat the voice alert, but v1.8 seems only to repeat the sound alert after speaking the message but once.

    I'm using Growl 1.3. Do I have something set wrongly do you reckon?

    Kind regards,

    Richard

  27. Brett on November 26, 2011 at 05:32:

    Thanks for the gift of your work. Great widget. I use it every day.

  28. Bridget on November 27, 2011 at 16:01:

    Thank you! I love my tea timer ; )

  29. Lisa T on November 28, 2011 at 07:46:

    Thank you so much for the update! And it's even in PINK! Who-hoo!!!

  30. sarah on November 28, 2011 at 14:46:

    When I try to add this widget (updating from the previous version), I simply get the message "This widget cannot be installed". Snow Leopard, Python 2.6.1

  31. Stefan on November 28, 2011 at 17:46:

    @sarah: Please try deleting it (from ~/Library/Widgets) and then reinstalling it.

  32. Adam on November 28, 2011 at 19:04:

    Thanks for the update! I use Tea Timer all the time.

  33. sarah on November 29, 2011 at 14:49:

    thanks Stefan! it works now.

  34. Ciggy on November 30, 2011 at 03:08:

    Works great (10.6.8) and I'm grateful you're keeping it updated. Thanks!

  35. Stuart on December 2, 2011 at 15:57:

    Also love TeaTimer - but a minor issue with 1.8. Some voices seem not to work - I like BadNews. This works OK in System Preferences>Speech, but if it is selected in TeaTimer, nothing happens. Some voices are OK (eg Alex) but others not. This is on Lion, another installation here is the same, and I have tried deleting preferences and the widget, and reinstalling.

    Cheers, Stuart

  36. Cheryl Bray on December 17, 2011 at 22:09:

    Burnt my fish & chips! The idea of an alarm is to ALARM you to something.... It's too quiet!

  37. Bong on December 19, 2011 at 21:02:

    Thank you for updating it even if apple seems to have given up on widgets.

  38. Violet on January 17, 2012 at 18:12:

    Stefan, first of all, thank you very much for this widget. I used to use "Stop it!" but it hasn't been updated for years and it now no longer functions. It's great to see someone maintaining useful widgets!

    That being said, I really enjoyed the sound my old widget used, it was loud and lasted for almost 30 seconds, so I was sure not to miss it. I added it as a custom system sound (.aif file, in System > Library > Sounds) but when choosing it in the widget, Python would crash when the timer would be up and there would be no sound. Ultimately I changed the extension to .aiff and that seemed to fix it, for whatever odd reason.

    Two other things. I notice, with the sound being so long, that the widget freezes when the sound is playing. I'm not sure if this is by design? It's not a big deal, I just thought I'd mention it.

    Lastly, not all voices are working for me. BadNews, GoodNews, and Organ are not working. The others seem okay. The odd thing is that I could swear BadNews did work once, but seemingly not any longer. Also, it is a little weird having the voice play after the sound, with mine being as long as it is; is there any way to have the voice play first, or simultaneously?

    That is all for now. Last thing - thanks for having it in purple. :-)

  39. Stefan on January 19, 2012 at 08:52:

    Violet,

    thanks for your comment.

    • That’s not really a bug but an implementation quirk. I scan /System/Library/Sounds for files, strip their extension and add them to the Sounds lists. When I play the sound, I take its name and add .aiff as extension. The system sounds all are aiff files, so this was no problem. I’ve created an issue for this.
    • I invoke all three kinds of alarms (Sound, Voice, Growl) via widget.system() which may be synchronous or asynchronous. For the sound I chose to use the synchronous version, because the system sounds are quite short and I wanted to avoid that they overlap with the voice. The widget freezes during synchronous system calls. I think it should be possible to ansynchronously play the sound and synchronize it with the voice nonetheless. But until now, it was no problem so I chose to take the easier way. ;-) (issue #25)
    • The voice problem is similar to the sound problem. I just add all voices to the list that I can find in /System/Library/Speech/Voices. I think the only solution for this could be to manually maintain a blacklist of items to be filtered. (issue #26)

    Cheers,

    Stefan

  40. Lapidar on January 24, 2012 at 17:13:

    I hear no alarm except if Dashboard is the active space. Any suggestions? (Lion 7.2, Python 2.7.2)

New comment

Required
Required, but not displayed
Optional
Format using ReStructuredText (Quickref)
  • *emphasis*, **strong**, ``inline code``
  • Blockquotes: indent each line to be quoted
  • Links w/ description: `Description <URL>`_
  • Highlighted code blocks: See here