Radio-alarm
One of the things I like: waking up to good music. So I made a radio alarm app.
It plays an internet stream URL
It has customizable volume, fade-in-time and snooze time
It shows a notification dialog with snooze option
It has fall-back audio if internet connection fails
It is based on systemd timers and services. For details: see the documentation.
For the first alarm, you need to type or copy/paste full URLs in the app. Not the nicest UI-design, I know. The ones below may get you going:
http://icecast.omroep.nl/radio4-bb-mp3
http://icecast.vrtcdn.be/klara-high.mp3
http://radios.rtbf.be/classic21-128.mp3
http://as-hls-ww-live.akamaized.net/pool_23461179/live/ww/bbc_radio_three/bbc_radio_three.isml/bbc_radio_three-audio=128000.norewind.m3u8
For the fall-back audio you also need a URL (of a local audio file).
Limitations
the app is unconfined, because I have not found confined ways to
show a notification dialog (I am not the only one, see https://forums.ubports.com/topic/11375/send-notification-locally-from-qt-c-qml-app.)
create/delete systemd service and timer files in ~/.config/systemd/user (the app uses QProcess to do that)
play audio streams (internet or local) windowless (in the background); I now use an executable built on GStreamer
all alarms are off after reboot
the notification dialog disappears after a period of 10 minutes; to switch an alarm off after that time, open the app and tap 'Stop running alarms'
you can test station URLs and alarms, but the UI is quit provisional
Testing
If you feel like trying it out: please do & comment!
download the source https://gitlab.com/janvle1/ut-radioalarm-3
build with clickable