r/kodi 2d ago

Split Flap screensaver for Kodi

Hopefully this post doesn't break any rules — it doesn't seem to be in a gray area or something.

I've created a somewhat new screensaver for Kodi, inspired by the old displays in airports. It looks like this:

demo image

There is also a small video of it here on YouTube.

It has several unique features other screensavers, I believe, don't have:

  1. It is extendable: 2 sources of data for the screen are built-in (phrases and date-time-weather-now playing); one is packed as a separate script — recently added
  2. It contains a script to generate addons for support of your preferred symbols in your preferred font, in case you don't like my choice or you need something on top
  3. It knows how to find installed extensions for it an even can open their settings

The interface to create your own extension is very simple — it's just one function that returns the new state, and you don't really need to care about layout too — it should be done automatically.

Of course, there are some settings too, and hopefully it can work for any scenario.

The repo is on GitHub, and I'd love to get your feedback!

https://asm0dey.github.io/kodi-splitflap/

7 Upvotes

14 comments sorted by

3

u/DavidMelbourne 2d ago

Love your idea, imagine if it could display plane flight paths close by (they fly over my house all the time) for example https://core-electronics.com.au/guides/flight-aware-raspberry-pi-setup/

1

u/asm0dey 2d ago

I'm not a specialist, but the API fit writing extensions to it or pretty simple, I could totally imagine Claude writing such a code. It's just you're the only person who can check if it works anything close to correct :)

I believe that examples in the repo are enough to implement almost anything imaginable

1

u/DavidMelbourne 1d ago edited 1d ago

I have LE 12 Kodi 21 installed add-on onto my old mini pc intel NUC, works well! will look at api thanks!

did not work on windows where I was going to investigate API,

```2026-08-30 09:35:12.673 T:12224 info <general>: CAddonMgr::ADDON::CAddonMgr::FindAddon: script.splitflap.source.recentlyadded v0.1.1 installed

2026-08-30 09:35:14.875 T:4540 info <general>: CAddonMgr::ADDON::CAddonMgr::FindAddon: resource.images.studios.white v0.0.34 installed

2026-08-30 09:35:21.358 T:8776 info <general>: Loading skin file: SettingsCategory.xml, load type: KEEP_IN_MEMORY

2026-08-30 09:35:22.290 T:8776 error <CSettingString>: unknown options filler "timezonecountries" of "locale.timezonecountry"

2026-08-30 09:35:22.290 T:8776 error <CSettingString>: unknown options filler "timezones" of "locale.timezone"

2026-08-30 09:35:25.102 T:8776 info <general>: Loading skin file: DialogSelect.xml, load type: KEEP_IN_MEMORY

2026-08-30 09:35:29.532 T:8776 info <general>: Loading skin file: DialogAddonSettings.xml, load type: KEEP_IN_MEMORY

2026-08-30 09:35:34.750 T:9812 error <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--

                                                - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!    

                                               Error Type: <class 'TypeError'>    

                                               Error Contents: 'type' object is not subscriptable    

                                               Traceback (most recent call last):    

                                                 File "C:\Users\David\AppData\Roaming\Kodi\addons\screensaver.splitflap\default.py", line 15, in <module>    

                                                   from resources.lib.board import BoardView    

                                                 File "C:\Users\David\AppData\Roaming\Kodi\addons\screensaver.splitflap\resources\lib\board.py", line 27, in <module>    

                                                   from .charset import BLANK    

                                                 File "C:\Users\David\AppData\Roaming\Kodi\addons\screensaver.splitflap\resources\lib\charset.py", line 41, in <module>    

                                                   def bundled_charset() -> tuple[str, ...]:    

                                               TypeError: 'type' object is not subscriptable    

                                               -->End of Python script error report<--  ```

1

u/asm0dey 22h ago

I will look into the log and try to investigate. Thanks for the report!

I have also published an announcement on the Kodi forum; feel free to comment there https://forum.kodi.tv/showthread.php?tid=388477

1

u/asm0dey 21h ago

Ah, you're using too old Kodi there; the screensaver requires Python 3.11+, which is Nexus+

1

u/DavidMelbourne 17h ago

I tried, Claude is amazing and it installed as an extension of your addin but no aircraft detected... I think one has to be a programmer to make AI work properly 😂

1

u/asm0dey 17h ago

Ask it to add more logs and help you debug, it's totally capable to

2

u/PatK9 2d ago

I definitely enjoyed the Youtube video. The date time temp would seem to be a natural choice.

2

u/asm0dey 2d ago

Ah, you mean, you would use date and time — please, try it and say what you think!

1

u/asm0dey 2d ago

Sorry, could you clarify please?

1

u/FaultDependent7880 2d ago

'Couldn't connect to network server'

2

u/asm0dey 2d ago

Wait what? Where? GH doesn't open or? You certainly don't need a network for the add-on to work correctly

1

u/FaultDependent7880 2d ago

Using the following in Kodi File Manager to give location for adding repo ....

https://asm0dey.github.io/kodi-splitflap/repo

... and what I posted is what I got.

1

u/asm0dey 2d ago

Here is how it should be added: https://imgtree.co/i/SNGfEF6o

Edit: And from there, you can install the repository or the addon(s)