Which approach to create custom animation

  • Hello


    I used WS2801 stripes to build a 15x15 matrix.

    I want to create an amination for my girlfriend(s birthday).


    Hyperion is running fine a Raspberyy Pie 4.


    I'm more a technical guy so setting it up was easy but creating a nice animation is difficult for me :)

    I though about a big red heart and things like that.


    I found 2 approaches:


    1. Create a video which contains the anomation. I think that's a relative easy approach. But I'm unsure how it will look when it gets transformed to the 15x15 matrix.

    Will it still look nice?


    2. Create an effect. I think that's a more exact approach. I have microcontroller programming experience but very small experience with python or images processing.

    I read the effect documentation but I'm a little bit overwhelmed. Is there an easy way to convert a bitmap or gif file into the effect API?


    Do you have any other ideas how to do it in a nice and effective way?


    Thank you very much.

    • Offizieller Beitrag

    katagia Simplest would be that you make use of the existing Gif-Effect. No need for development...
    Just provide an animated Gif and it is played and mapped to the LED-Matrix you configured per layout.

  • Thank you very much.

    I just came to the same result. I used powerpoint to create the gif. A little bit wired but it worked well :)

    my problem is that hyperion is crashing when I try to use it.

    I've installed alpha11 as mention in documentation.

    Some plugins cause it crash, e.g. matrix. The gif plugin crashes too.

    Unfortunately I don't have the log anymore.

    But it didn't much content anyway. It just mentioned a segfault with libc.


    alpha10 works.


    alpha9 seems to be able to download the gif and test the custom effect. In test mode the effect works. But as soon as the effect is safed and selected, the file is not found anymore:

    2021-10-19T15:47:26.691 hyperiond EFFECTENGINE : <ERROR> ###### PYTHON EXCEPTION ######

    2021-10-19T15:47:26.692 hyperiond EFFECTENGINE : <ERROR> ## In effect 'jennifer1'

    2021-10-19T15:47:26.693 hyperiond EFFECTENGINE : <ERROR> ## TypeError: File not found

    2021-10-19T15:47:26.757 hyperiond EFFECTENGINE : <ERROR> ## Traceback (most recent call last):

    2021-10-19T15:47:26.757 hyperiond EFFECTENGINE : <ERROR> ## File "<string>", line 12, in <module>

    2021-10-19T15:47:26.758 hyperiond EFFECTENGINE : <ERROR> ## TypeError: File not found

    2021-10-19T15:47:26.758 hyperiond EFFECTENGINE : <ERROR> ###### EXCEPTION END ######

    2021-10-19T15:47:26.781 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:270:clearInput() | Removed source priority 1

    2021-10-19T15:47:26.781 hyperiond EFFECTENGINE : <INFO> effect finished

    The gif was updated into the effects folder.

  • Hi


    I use retropie: pi@retropie:~ $ cat /etc/debian_version

    10.11


    I had this problem with any animated gif, you can use a free one from wikipedia:

    https://upload.wikimedia.org/w…ing_earth_%28large%29.gif


    When you press the test button during effect creation it crashes:

    2021-10-23T12:31:33.019 hyperiond EFFECTFILES : <INFO> 0 effects loaded from directory /home/pi/.hyperion/custom-effects/

    2021-10-23T12:32:17.628 hyperiond EFFECTENGINE : <INFO> Run effect "test" on channel 1

    2021-10-23T12:32:17.628 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:181:runEffectScript() | Start the effect: name [test], smoothCfg [0]

    2021-10-23T12:32:17.628 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:165:registerInput() | Register new input 'Web Configuration@2001:a62:1430:eb01:b881:7e24:574e:5d9b/EFFECT' with priority 1 as inactive


    Hyperion caught signal :SIGSEGV

    2021-10-23T12:32:17.706 hyperiond CORE : <ERROR> /lib/arm-linux-gnueabihf/libc.so.6(__default_rt_sa_restorer+0) [0xb53c8120]

    Segmentation fault


    It is possible to save the effect:

    pi@retropie:~/.hyperion/custom-effects $ cat test.json

    {

    "args": {

    "cropBottom": 0,

    "cropLeft": 0,

    "cropRight": 0,

    "cropTop": 0,

    "file": "Rotating_earth_(large).gif",

    "fps": 25,

    "grayscale": false,

    "imageSource": "file",

    "reverse": false

    },

    "name": "test",

    "script": ":/effects/gif.py"

    }


    The gif was uploaded too.


    When the effect is selected hyperion crashes again:

    2021-10-23T12:34:07.510 hyperiond EFFECTFILES : <INFO> Reload effect list

    2021-10-23T12:34:07.516 hyperiond EFFECTFILES : <INFO> 40 effects loaded from directory :/effects/

    2021-10-23T12:34:07.520 hyperiond EFFECTFILES : <INFO> 22 effect schemas loaded from directory :/effects/schema/

    2021-10-23T12:34:07.520 hyperiond EFFECTFILES : <INFO> 1 effects loaded from directory /home/pi/.hyperion/custom-effects/

    2021-10-23T12:35:08.832 hyperiond EFFECTENGINE : <INFO> Run effect "test" on channel 1

    2021-10-23T12:35:08.834 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:181:runEffectScript() | Start the effect: name [test], smoothCfg [2]

    2021-10-23T12:35:08.834 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:165:registerInput() | Register new input 'Web Configuration@2001:a62:1430:eb01:b881:7e24:574e:5d9b/EFFECT' with priority 1 as inactive


    Hyperion caught signal :SIGSEGV

    2021-10-23T12:35:08.919 hyperiond CORE : <ERROR> /lib/arm-linux-gnueabihf/libc.so.6(__default_rt_sa_restorer+0) [0xb548a120]

    Segmentation fault


    Version is alpha11

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!