christophhart / HISE

The open source framework for sample based instruments
http://hise.audio
Other
1.03k stars 118 forks source link

[Engine] drawMatrixPeakMeter causes the floating tile to go absolutely insane #484

Open aaronventure opened 8 months ago

aaronventure commented 8 months ago

Haha, what???

meter laf

The code part shows when the peak value reaches 0 after playing some audio i.e. triggering a note.

Does not matter if I create it in script or manually in the interface editor and just pull a reference.

    const var meterLAF = Content.createLocalLookAndFeel();
    meterLAF.registerFunction("drawMatrixPeakMeter", function(g, obj)
    {
        var a = obj.area;

        var L = obj.peaks[0];
        var R = obj.peaks[1];
        var Lmax = obj.maxPeaks[0];
        var Rmax = obj.maxPeaks[1];

        g.setColour(Colours.white);
        g.fillRect([a[0], 0, a[3], 10]);

    });

    const var meter = Content.addFloatingTile("headerMasterMeter2", 0, 0);
    const var meterData = 
    {
        "ProcessorId": "MasterGain",
        "Index": 1,
        "FollowWorkspace": false,
        "SegmentLedSize": 0,
        "UpDecayTime": 0,
        "DownDecayTime": 200,
        "UseSourceChannels": false,
        "SkewFactor": 0.3,
        "PaddingSize": 1,
        "ShowMaxPeak": 1.0,
        "ChannelIndexes": [0, 1],
    };
    Content.setPropertiesFromJSON("headerMasterMeter2",
    {
        "width": 500,
        "height": 40,
        "ContentType": "MatrixPeakMeter",
        "Data": trace(meterData),
    });
    meter.setLocalLookAndFeel(meterLAF);

Assigning LAF makes it go haywire on levels I have not yet seen in HISE. It's not just the interface designer, it's similar in the interface preview.

Win11, 0d0251e59052c121d1b12c686254fa7ba77d27f5

davidhealey commented 8 months ago

Got a snippet (preferably with a sine-wave gen)?

aaronventure commented 8 months ago
HiseSnippet 1448.3oc2Xs0aZbDEdWauQAxEkTEU0WpzJTe.KgPPt0pZUE6XahnErQFmKUVVQS18.LkcmY6rC1lF4+i8mRdnu2dlY1EVfUNDTZRZwR3cN2ly7ctMKcDbOHNlKrrKb73Hvx9lNcGyjC1c.gxrZtmk8scZShkfv0P5oiiHwwfuks85OSQvtvFV5Ou6IOkDPXdvTRVVufS8fVzPpbJ0Na+KzffFDe3XZXFoe31M83rc4A7Qn+rtSMqHh2PRe3.hRr0brru199TIWzURjPLJyS49i6NfeNyH+Knwz2D.pE0s5hFxP1Z2Az.+Nom0XKKamNSO4qaN42yoM0mNg9TD3NZFtS0HKFXu1U4R0+.bI6LtzFFW5tNc8DzH4TNJ+4FNMYX.oGAg5rthQVq091Mb1kiRvjUCICgFBbwDMJ+3Z0p3hes4VEKhvcrz8LhvMDP9s1og6O4lpqm.viTKtGInEmObGleC.BJi5kJbUAzmpxMZLh4IobV4R9Bx4sIRA8hN.YXakfkp31Kke+Jt727aaV7sEKn1UBtc35pDbqP2QSqUBsHT+3Spc5VFxGMC45ojaERtHgC9Tm4zIGlZMU+0uZLHMIakM+Kt54CnR.OfHydXJ5Qfmr7IDzfUbQPibxCvGpW6TkDEJ3V7xbvvL.Hw2uQ.mHor9GSCfxkF.XNuvTNogl6WRaXUrXNyrGQp.GEPUZRzuoeoezsjQeUsWoJH2lLe3Bjdc0hF7f.94ujKFFi0N.RtGIHFTr5B8CQupE32k9GJN0TTedzdfGYrpPLkzdXtaVh2ulQxXnKBRd.VXvXPP7LFeHbdChGVGnrR0Gnn0AO+3QOY2ztmptnsIRnHUUa3D6oOGfxpmfPR8SqT7xsJlBkXnBQgHPHoPLlPG9ycO7f7ATMjcN0WN.M0iL99.f1efDW+PyNZrppFy.nykup.AD+QdRgpjYRDYyJ5XtdsxmVn3HsxXysRS4c4rC3R3PVYcVewKK5NOqd8xkmxKEX7DD4xVEcDWkhkYiBeCHpfIUAifIBhMWlsi00VtNVdFPKifbVSFUdXDjrFS97UchTOuX+MqDTGe54MUfopkWBsowVj1dvY3LCSCvBN6AwCk7HsrgQblxB1WWlzw1zxKaUlE0WwXwLCqKvt91p4LiSeHSdfpW6b4AV5jHzGt1eYaFPYRiTTJmLdSeNV6V1Nusnq6UVnhryTohqVrTslldd0oH4EJTQZ4VopjMmR0DiuPcpxsmuPUI3hUpH0EKUQptFa65VG+9zhWhC3WXPFNBk6OJfHmctpBaRXfotyLLSMvhESkiydAiOfgs0txgsKqKdWmNTo2f78w0xwGwj5+M7wjqnbKm860CGJM0A2vowqV06iTa4uOx0mb4PZXT.7rzs+lNSSxuhqFhEJP.YFX5kIEWID90sy4xiMYmgcE5vCHh4A40+XcqqMV5LA0Qx8K5r0uxQCyeo6j5P+W1N4cb5P9bErOhORMLyLMBGUcvnvY6lqFeslZ7kYcszwYcAludweieRXVWs1NgY8TlYggaafgafk1LP+teZD3q0qceI4Lv8Y.CDJ.p9UTi+mK6q+Eszu92gdRb6OVPXwQ73YLbWHjdLdaf3rDw4dMDvuejJjkk9tbhHWVu6IMvCYt5zkHGIzw9cB4iXxqp6yFKW2mYm1kQ92SaoOUue5GqRmOaS0mYjUgTezLxZebVR.dKyIMJ6QFEHSoNahcaNiGMfyndYi5GAXAY+9fHqum6AZGoj3MbJk6s8QP.PxlA+ca2By7HBDmfUDK9v+4DxMd8MNF20UUM59e2ais9+quM1mjoBeJ1iPhmf+ZOyqnpxSutlBdtY5ekuB3MJw0t0szu1Z1XYH1k60ddyZpET79qphOXUU7gqphOZUU7wqphe+pp3O79UTMDZmQRdnozzxpcm80uers89LBlkqqHr9GLJxujM

meter laf 2

Only shows the code snapshot on peak value 0 in the interface designer if the preview isn't open.

davidhealey commented 8 months ago

I'm not seeing it here on Linux. Could also be GPU specific. Does it show up in the compiled project?

aaronventure commented 8 months ago

It's only drawMatrixPeakMeter, though. Other LAF stuff (sliders and knobs work fine).

My GPU is RTX 3080.

Doesn't happen in compiled plugin on Windows.

Doesn't happen in HISE on MacOS.

Happens on a Windows laptop with AMD iGPU.