Roon Extension: Alarm Clock v0.9.1 (current)

I implemented the fade function. It can be used in different ways, depending on the following settings:

Alarm action: Will playback be started or stopped?
Alarm volume: Will volume increase or decrease? (In case playback has already started)

I ended up with 4 types of fading:

Fade-in (Stop->Play transition)
Playback starts at volume 0 and increases till the configured volume is reached. A fade-in reaches the configured volume at the configured time, to make sure you wake up in time.

Fade-out (Play->Stop transition)
Playback is active at an initial volume and decreases till volume 0 is reached, at that time playback is stopped and the initial volume is restored. A fade-out starts at the configured time.

Fade-up (Volume transition)
Playback is active at an initial volume and increases till the configured volume is reached. A fade-up reaches the configured volume at the configured time.

Fade-down (Volume transition)
Playback is active at an initial volume and decreases till the configured volume is reached. A fade-down starts at the configured time.

Notes:

  • All fade types extend the playing time. I choose to give priority to playback, the safe option for an alarm clock.
  • Following this priority approach, a volume increase has priority over a volume decrease. This takes care of the case that two alarms are competing each other, or it can be used to terminate a fade by manually increasing the volume.
  • You don’t configure a fade type, it results from the alarm action and volume in combination with the playing mode at the time the alarm expires.
2 Likes