Menu

Sharing: 6 Channel Modifiers Templates

2014-08-05
2014-08-20
  • Luis García-Tornel

    I'd like to share 6 Channel Modifiers Templates:

    • Logarithmic Shallow
    • Logarithmic Mid
    • Logarithmic Deep
    • Exponential Shallow
    • Exponential Mid
    • Exponential Deep

    Some notes about the templates:

    The templates have a value for each Original DMX Value, so are a bit "overcrowded"in the Channel Modifier Editor.

    For the same reason, I don't know if there are any performance issues. I've tested them and not seem to have any problems, but if you experience any I'd gladly edit them.

    Also the names are "inverted" respect the Default "Logarithmic" template. (i.e. the exponential corresponds to logarithmic and vice-versa).

    LUIS

     
  • Massimo Callegari

    Hi Luis, thank you very much for this !
    I will check them later.

    As for CPU usage, there is no side effect. When a modifier is loaded, it is converted to an array of 512 bytes anyway, no matter if it is composed by 2, 10 or 100 handles.
    Having 512 handles might only slow down the QLC+ startup time but I think on a modern PC we shouldn't see any difference.
    I need to check them on the Raspberry Pi, where all the CPU load is amplified...

     
  • Massimo Callegari

    Hi Luis, I finally found the time to review this.
    First I correct my previous post. They are converted into a 256 bytes array, not 512.

    I've seen that a little optimization can be done on your templates.
    For example this:
    <Handler Modified="10" Original="93"/>
    <Handler Modified="10" Original="94"/>
    <Handler Modified="10" Original="95"/>
    <Handler Modified="10" Original="96"/>

    Can be optimized into this:
    <Handler Modified="10" Original="93"/>
    <Handler Modified="10" Original="96"/>

    Also this:
    <Handler Modified="42" Original="165"/>
    <Handler Modified="43" Original="166"/>
    <Handler Modified="44" Original="167"/>
    <Handler Modified="45" Original="168"/>
    <Handler Modified="46" Original="169"/>
    <Handler Modified="47" Original="170"/>
    <Handler Modified="48" Original="171"/>
    <Handler Modified="49" Original="172"/>
    <Handler Modified="50" Original="173"/>
    <Handler Modified="51" Original="174"/>
    <Handler Modified="52" Original="175"/>
    <Handler Modified="53" Original="176"/>
    <Handler Modified="54" Original="177"/>
    <Handler Modified="55" Original="178"/>
    <Handler Modified="56" Original="179"/>
    <Handler Modified="57" Original="180"/>
    <Handler Modified="58" Original="181"/>

    Can become this:
    <Handler Modified="42" Original="165"/>
    <Handler Modified="58" Original="181"/>

    Manually it's a very patient job to do, but maybe some magic script can help ?

    It would help to make the templates lighter, thus speeding up QLC+ startup time.
    Always keep in mind that on a PC you don't see any difference, but on a Raspberry Pi you do.

     
  • Jano Svitok

    Jano Svitok - 2014-08-13

    I will try to come up with a script for cleaning.

    Slightly off-topic: in the editor, it is possible to create points with non-increasing x coordinates. I believe that is a bug.

    Also "threshold" preset has two entries for 128 (one with 0 and one with 255 value). I didn't check the code, but I suppose it's not OK.

     
    • Massimo Callegari

      Jano, I was counting on your magic scripts :)
      Handles with same x position are OK as they are the only way to have a step on a DMX value. If you look at the code that generates the final 256 bytes array (the one used by the Universe class) you'll see they're merged into the higher value.
      I spent quite a hard time on that, so I'm pretty sure they are a wanted feature :)

       
    • Luis García-Tornel

      If the script is proving difficult I may clean them manually. Just wait me until next week ;)

       
  • Luis García-Tornel

    I've found a better way to do it. Technically it's not logarithmic/exponential but a bézier curve.

    I'm attaching a spreadsheet demonstrating it. I tried to make it as clearer as possible.

     
    • Massimo Callegari

      Very nice Luis !
      If the precision is enough for your purposes, then I believe I'd prefer this way. It look lighter and cleaner to me.
      Whenever you have some time to review your modifiers, please feel free to submit the smaller versions.
      Thanks !

       
  • Luis García-Tornel

    I'm not at my machine right now. I'll do the pull request as soon as possible.

     
  • Luis García-Tornel

    Done! it's on GitHub

     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.