AtmoLight - 1.18.6.0 [2016-09-21] (1 Viewer)

legnod

MP Donator
  • Premium Supporter
  • September 24, 2011
    1,115
    323
    Stuttgart
    Home Country
    Germany Germany
    @Lightning303 Yes i compiled the Version from git by myself but the changes from yesterday are not included. Will compile a new version this evening...thanks for the hint.
     

    Lightning303

    MP Donator
  • Premium Supporter
  • September 12, 2009
    798
    577
    Home Country
    Germany Germany
    is wrong.. by the way not my Problem
    Code:
    dbLeft = 20.0 * Math.Log10(fpeakL);
    LOL..
    greets

    So what exactly is wrong? and how would it be right?


    Edit:
    Ok die 20 wird benötigt um den DB Wert des Level zu berechnen..
    Hab's aber nie gebraucht. (jeder wie er will) :)
    Darf auch mal Mist schreiben. LOL

    gruss.

    =)
    Yeah the 20*log10 is the normal way to convert voltage to voltage levels (dB). I remembered that much from university ;).
    Will have a look at your private message tomorrow :), thanks for that!
     

    Lightning303

    MP Donator
  • Premium Supporter
  • September 12, 2009
    798
    577
    Home Country
    Germany Germany
    @Lightning303 Will have a look at your private message tomorrow :), thanks for that!
    i hope that help a Little..

    greets
    Thanks,
    i looked at your code and tested it. BUt as far as i can see it does the same as MediaPortals method is doing. The difference is that your scale is linear and the one from MediaPortal is logorithmic, also your values have higher values, but the resolution stays the same.
    To get a better feel for it, i made yours logorithmic aswell an plotted both in a graph.
    The blue dots represent the MP method and my approach, the red dots yours.
    Note that i added 80 to MP values to get it nicely in the graph, this only moves the graph on the axis but does not influence the information of the values.

    vumetergraph.png


    Code i used:

    Code:
            Bitmap bassFan = new Bitmap(1000, 128);
            Graphics bassFanGFX = Graphics.FromImage(bassFan);
            int i = 0;
    
    ...
    
              if (i < 1000)
              {
                bassFanGFX.FillRectangle(new SolidBrush(Color.Blue), i, (int)(dbLevel[0]+80), 1, 1);
                bassFanGFX.FillRectangle(new SolidBrush(Color.Red), i, (int)(20 * Math.Log10(Lpeak)), 1, 1);
                i++;
              }
              else
              {
                bassFan.Save("C:\\ProgramData\\Team MediaPortal\\MediaPortal\\vumetergraph.bmp");
              }

    Again, thanks for your help and time, but i dont see any real difference here.
     
    B

    BassFan

    Guest
    Der Unterschied ist Log10 ;)
    Hab dir doch einen Link gegeben wo du das nachvollziehen kannst warum das so ist.

    Bei mir mit Log10! habe ich fast nur hohe Ausschläge und der Beat zur Musik ist nicht gerade das wahre.
    Aber gut muss man testen ob es unterschiede auf verschiedenen Systemen gibt.

    gruss
     

    Lightning303

    MP Donator
  • Premium Supporter
  • September 12, 2009
    798
    577
    Home Country
    Germany Germany
    The only thing i noticed is that the vu meter is on top level most of the time. Maybe we need to adjust the settings a bit or is it just based on my system/ audio settings?
    That should be independant from your system, but @HomeY and i saw that webradio had pretty low values, mp3 avarage and flac very high levels. Of course this is just a generalisation, but thats what we saw. As is, our implementation does not represent a normal vu meter. Normally these things have logorithmic scales, and our is not logorithmic, nor is it linear for that matter. We tried some values and found these to be the nicest. But as you have compiled your version yourself, you can off course try values yourself and if you find something let us know.
    You can find the boundries for the 10 segments here:
    https://github.com/ambilight-4-medi...FEATURE_Gif_Reader/AtmoLight.Core/Core.cs#L78

    Example:
    If the value is bigger than -2 than first segment (red) gets shown.
    If value is bigger than -5 then second segment (still red) gets shown.
    and so on.

    @legnod, Just remembered, have a look at your AtmoWin filters aswell, it could be that it looks like its always high levels because the filters are so long that leds will never fade to black when its silent for a bit. Just set AtmoWin to use no filter and then try again ;).


    Der Unterschied ist Log10
    Hab dir doch einen Link gegeben wo du das nachvollziehen kannst warum das so ist.
    Bei mir mit Log10! habe ich fast nur hohe Ausschläge und der Beat zur Musik ist nicht gerade das wahre.
    Aber gut muss man testen ob es unterschiede auf verschiedenen Systemen gibt.
    gruss

    Oh ok :), thought you wanted to show me a completly different approach.
    The Log10 thing from the link you posted, i dont think this is an issue anymore as this "bug" is 3 years old now. I would assume its fixed. We also have not seen any differences in behavoir between different systems, and as this calculation is done by MP and is also used for their vu meter, i guess we would have heard about it not doing what it should until now. But still, will have an eye on that :).
    I did some more testing and think for the time beeing i will keep the code as is. Your linear approach does make more sense if you want to use a linear scale, but as we already use a hybrid (something in between linear and logorithmic), we already choose a scale for the only purpose of looking good. So changing everything again to get a very similar if not same result later doesnt seem like a good way to waste my time ;).

    However i want to point out again that im very thankfull for your input. Just because i choose to not change the code does not mean that its not appreciated :).
     
    B

    BassFan

    Guest
    View attachment 151625
    However i want to point out again that im very thankfull for your input. Just because i choose to not change the code does not mean that its not appreciated

    no Problem ;)

    greets
     
    Last edited by a moderator:

    Lightning303

    MP Donator
  • Premium Supporter
  • September 12, 2009
    798
    577
    Home Country
    Germany Germany
    New version, once again.

    Fixed a bug that could result in AtmoLight not loading the settings when trying to configure AtmoLight via MP Configuration. This would happen if AtmoLight is disabled and then config would be entered.

    Added a new effect called GIF Reader. @legnod asked for some interesting new effects. However instead of me coding new effects, i thought it would be better and easier to support gif files as effects. This way everybody can either browse the web for nice gifs, or make their own gif and use these as an effect. Simply define the gif you want to use in the AtmoLight configuration form and choose GIF Reader. If your system cant handle the gif you throw at it, you may try to resize the gif manually. There are lots of websites out there that can do this in just a few seconds. Resize the gif you like to use to the resolution AtmoWin uses (in most cases 64x48, check AtmoWins title bar to be sure)
    Some nice gifs i found:
    http://fc00.deviantart.net/fs12/f/2006/300/7/e/PlasmaStorm.gif
    http://fc01.deviantart.net/fs12/f/2006/301/f/7/PlasmaStorm2.gif
    http://fc08.deviantart.net/fs12/f/2006/302/2/2/PlasmaStorm3.gif
    http://images.wikia.com/theregularshow/images/archive/9/9e/20120707225215!Rainbow.gif
    http://gifki.net/images/full/dive-into-the-rainbow.gif

    Also requested by @legnod we (@HomeY and i) implemented a vu meter, "also known as" peakmeter. This effect reacts to music. So in loud parts of a song the leds will rise on both sides and on quieter parts leds will fall. We implemented 2 variations, one very traditional vu meter with only 3 colors (green, orange and red) and a so called rainbow vu meter with a color range from blue to red.
    Please note that this effect will only work if the BassEngine/BassPlayer is being used.
    What will work:
    Music using BassEngine
    Music using WASAPI
    Webradio using BassEngine
    Webradio using WASAPI

    Will not work:
    Any Videos (this effect wont be selectable for video content)
    DVB Radio
    Music using ASIO
    Music using Internal dshow player
    Webradio using ASIO
    Webradio using Internal dshow player

    Please also note that you may have to check your AtmoWin filters if the effect does not change that much. Because the AtmoWin filters are designed to smoothen hectic color changes you might disable the filter or lower the threshold value.


    For interessted parties on how this stuff was implemented (some information in previous posts):

    AtmoLight gets the peak values from the bass engine through a method provided by MediaPortal. It then generates a bitmap that looks like this:
    95092016.png
    This bitmap then gets send to AtmoWin to be analysed.


    If you find bugs, have suggestions or feedback, please let me know.
    If you have an idea for something new, that could improve AtmoLight, dont be shy and tell me. All i ask is that you will later be involved in testing and giving feedback on the new implementation.
     

    Users who are viewing this thread

    Top Bottom