HISE Logo Forum
    • Categories
    • Register
    • Login

    Scriptnode "oversample" node starting at 4x crashes in PC

    Scheduled Pinned Locked Moved Bug Reports
    51 Posts 10 Posters 3.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Dan KorneffD
      Dan Korneff @Christoph Hart
      last edited by

      @Christoph-Hart Can you script a node-bypass? It's not instantly apparent. Going thru the docs now.

      Dan Korneff - Producer / Mixer / Audio Nerd

      1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart
        last edited by

        The entire scripting API for scriptnode is very incomplete ATM (it will be one of the last things I'll do after the rest is stable), but at the end you should be able to change every property (and even move nodes around and create new ones).

        1 Reply Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart
          last edited by Christoph Hart

          That being said, bypassing already works:

          const var dsp = Engine.createDspNetwork("dsp") ;
          const var rootChain = dsp.get("dsp1");
          rootChain.setBypassed(true);
          

          However for some reason the autocomplete is broken for the scriptnode objects, so unless you check the source for the available methods, it's fishing in the dark :)

          EDIT: The API Browser has the functions, look for Node...

          1 Reply Last reply Reply Quote 1
          • Christoph HartC
            Christoph Hart
            last edited by

            OK, I've played around with the scripting API, it's better than I thought :)

            Actually, you can even move nodes around to achieve your oversample selection:

            // The good ol' magic spell
            const var dsp = Engine.createDspNetwork("dsp");
            
            // This call is important so that the combobox will
            // fire its callback
            dsp.setForwardControlsToParameters(false);
            
            // Get the root node.
            const var rootNode = dsp.get("dsp1");
            
            const var oversamplers = [];
            
            // Create some oversample nodes using JS magic
            for(i = 2; i <= 16; i *= 2)
            {
                oversamplers.push(dsp.create("container.oversample" + i + "x", i + "X OS"));
            }
            
            // Now that we have them in an array, we can iterate over them
            for(o in oversamplers)
            {
                // Add them to the signal chain
                o.setParent(rootNode, 0);
                // but bypass them
                o.setBypassed(true);
            }
            
            
            // This will be the signal chain that is moved around the nodes
            // Can be any complex node combination but here we use a
            // plain old chain
            const var chain = dsp.create("container.chain", "MyChain");
            
            
            const var cb = Content.addComboBox("ComboBox1", 10, 10);
            cb.set("items", "2x\n4x\n8x\n16x");
            
            
            inline function onComboBox1Control(component, value)
            {
                // Get the oversampler we want
                local osToUse = oversamplers[value-1];
                
            	if(value > 0)
            	{
            	    // and move the chain there
            	    chain.setParent(osToUse, 0);
            	}
            	
            	// Now iterate over all oversamplers and
            	// bypass the ones not in use
            	for(o in oversamplers)
            	    o.setBypassed(o != osToUse);
            };
            
            cb.setControlCallback(onComboBox1Control);
            

            Just paste that code into a ScriptFX onInit...

            Dan KorneffD lalalandsynthL 2 Replies Last reply Reply Quote 2
            • Dan KorneffD
              Dan Korneff @Christoph Hart
              last edited by

              @Christoph-Hart Much appreciated!

              giphy.gif

              Dan Korneff - Producer / Mixer / Audio Nerd

              lalalandsynthL 2 Replies Last reply Reply Quote 3
              • lalalandsynthL
                lalalandsynth @Dan Korneff
                last edited by lalalandsynth

                @Christoph-Hart since we are discussing scriptnode , can i script loading of impulses into the scriptnode convolution ?

                So i have access to the oversampling ?

                https://lalalandaudio.com/

                https://lalalandsynth.com/

                https://www.facebook.com/lalalandsynth

                https://www.facebook.com/lalalandsynth

                1 Reply Last reply Reply Quote 0
                • Christoph HartC
                  Christoph Hart
                  last edited by

                  Yes, accessing the IR slot of the convolution node is pretty straightforward:

                  1. Create a audio file slot in the ScriptFX
                  2. Connect the convolution node to this slot
                  3. Connect a AudioWaveform on your main interface to the slot or call AudioFile.loadFile() from your script
                  HiseSnippet 1339.3ocuW01ahbCD1KIN5BsQpQp22s3SDIJGzd4ZUaO0jvKUzlWPPtj7sDiWC3xt1q75kD5oSp+k5erp9Onc7tKrKIbQIT0iuvZ6Yl8YFOyyLaWshwCCUZjy1mOKfib9bb+YRy3FioBIpSS6F83S45AmyCMnilEPCC4tHGmM9YqDNauIJ92e+SGQ8nRFOaKD5BkfwOV3KLY618feU340l5xOW3mS5WePGlR1P4oh.zrAtFJfxlPGwOkZEq.F4rUKWgQo6anFdHHyQJ2Y8GqtUlH+EhPw.OtcQcTevPIaiZLV341ctmFhPNa1Myu2Hwu+R7IBWwh8y7+uH9.RlF4iANEVFRatDjp+wfTakmq0.eD34jCdal.ucw8YZQfI6DK19LbGogqGRgvddXkHKpve4fan.Ijlp9zI71ZXwBMJ+lZ0pP1uVs89gcJtSQH3GZHSoZxgQtB0kzo7gJsecxaIyswHtogxOPIgEkKsrXkRrxqdkUZImYHlwbRXLPHsuh7aQf08DS3DJYLU6xTPDf3qbi736TbYaUMjC1OXtq1wsTERo9yMUtW06B4wul9T+.OdGoK+NRMhQQX4vfqHLviNytscYrhBceOkgnFlndroae0pwQXlwAb.QqgQRlQnjDk7Tkgelr7dEeewsK9ghj6ezvgq7La.Uq7735UdrsvP+XJVVF4Ofqq.WWdQ7EBBYKKmNt0SKcjkb+lSPkriTXNKfmtNKgs9JRXQoIH1T2TDBhZhSbeYZh6RQVjv0VXsbzFE6L4oOPuqSSpgN2rva.dqAbsQXcNml7o.8RR8w13l7vIFUPrro4nHmW7rAwcK.veb0AyPNXGW34b4hwTjKxEQ4xN.M2ZNxuU3ZFm4KyNXLWLZbNZPwAnGVkCbM1BBpYYBHKSa5APZvRU51pYYnvLKOS7yfUp1JYkV4k7SDt6h6JLrwqFuEVAdgq2+uwaJG+N3VCGBzBYfcSb6q9DSniSvRQ7bVmztr4xoxCnSi7iyPaK7r3A63.t1b98+zAmP4p4.bAlUpUTxPPVRnkfyLlZHLpjLfSh.KRfjbB+NnCfj5Arj99QRAK9ZJeG.fd7XP62RZIGIj7prX6enzsGejHDzdAjJ+ftGtgA2WwlgAmxM2pzSJWBNNi+VLjLSEQtkJMV5YOE0k.fsSOxPsxG7G.gCTCT2UwhdvaDgf23488yIwATV0pULTJ89t8N6WZ037qae1wMa06CWBduc1kp2RmVZuEznAZd.UyOW0EZKTNo.tGHYEx.OEaRewuyeH2aJCvQVIJyFSg9KdgqCE8iNDS8m9PLndpHiPN5DpQK.tGLjozGlchwajhNa1RAK6bx5Z101xs9boa7h+A9kdX8EoVvg0meXFwNJ8BLNaN8Y3IapKFC2o1cgN5.iaaJCbuYcoV9ucw1dKP0FbIvVT0skUi5H.v2GpGCQ2k1FJ..yNepvD7C769wr6vLgoOeYBcK1oBHQR4SO3d01H8jv7yX5rQtVHfWAFOwkR.uEc6Xw7TkWTL40RtyKwPoEj9GVMuH+m8ieD2mmLqxM4lj4FaNmEpwitbSsar+EkNwyMISvbSw6GAv02u1yHB3THcEPHuQh2mCBnKRZIay.6FMvSvrdB5dprE1V9MWV3RImnYsANmpg4GiIloZXjdaX79KVm98eRpC7oLs5ZVRosMr8h3cf.fL9qS1FehcMYwPLXbsp0P9vWNbMiY6y7UPOpUqyWuF57MqgNudMzY+0Pm2rF57sqgNe2ipi8i1NLxn7SlAA1naq3jKGmVRJvvF2cE8uDTGNwA
                  
                  lalalandsynthL NatanN 3 Replies Last reply Reply Quote 2
                  • lalalandsynthL
                    lalalandsynth @Christoph Hart
                    last edited by lalalandsynth

                    @Christoph-Hart said in Scriptnode "oversample" node starting at 4x crashes in PC:

                    Create a audio file slot in the ScriptFX
                    Connect the convolution node to this slot
                    Connect a AudioWaveform on your main interface to the slot or call AudioFile.loadFile() from your script

                    Excellent !

                    1. Btw, I dont have the options for wet level etc , I can work around that but what about the multithread option, I assume that would reduce cpu usage?

                    2. Is the scriptnode convolution a different algorithm then the regular convolution and does it use the ipp ?

                    3. Guess I am wondering if I should change my reverb plugin to use the Scriptnode Convolution and if i can expect the same performance etc .

                    4. Any particular reason why you are not using Engine.loadAudioFilesIntoPool(); and rather use Engine.createAndRegisterAudioFile(0); , not sure about the difference .

                    5. I dont think the audio files will be embedded using the Engine.createAndRegisterAudioFile(0). ?

                    I am sure I can figure it out somehow , just want to know if I can make it behave just like the normal Convolution reverb with regards to loading all impulses,CPU use and embedding or if there are any gotchas ? OR should I just wait for a fix to the main Convolution ?

                    Excuse my noobness. :P

                    https://lalalandaudio.com/

                    https://lalalandsynth.com/

                    https://www.facebook.com/lalalandsynth

                    https://www.facebook.com/lalalandsynth

                    1 Reply Last reply Reply Quote 0
                    • Christoph HartC
                      Christoph Hart
                      last edited by

                      Btw, I dont have the options for wet level etc ,

                      Most (if not all) nodes don't have a wet parameter because that is your responsibility - just add a split node with a gain and use the Dry/Wet parameter ranges.

                      Is the scriptnode convolution a different algorithm then the regular convolution and does it use the ipp ?

                      Nope, same one, but the convolution module has a few additional features (eg. dampening the impulse response etc).

                      Any particular reason why you are not using Engine.loadAudioFilesIntoPool(); and rather use Engine.createAndRegisterAudioFile(0); , not sure about the difference .

                      Ah, that is a misunderstanding (but I admit that the naming is a bit deceiving). createAndRegisterAudioFile() creates a slot that you can hold an audio file (so actually it should be named createAndRegisterAudioFileSlot()). It doesn't affect any of the pooled audio files that you load using Engine.loadAllAudioFilesIntoPool().

                      1 Reply Last reply Reply Quote 2
                      • T
                        tomekslesicki
                        last edited by tomekslesicki

                        Hey, @Christoph-Hart - would it be possible to add an oversample button to the built in convolution reverb fx? I just want to be able to oversample while using IPP and it would be great to be able to do this without having to learn scriptnode and then rebuild the whole thing in there from scratch... I have four convolution reverbs that I need to be able to swap the impulses for based on what's selected on the interface. It would be really nice to just click on a button and be done with it.

                        lalalandsynthL 1 Reply Last reply Reply Quote 1
                        • lalalandsynthL
                          lalalandsynth @tomekslesicki
                          last edited by

                          @tomekslesicki said in Scriptnode "oversample" node starting at 4x crashes in PC:

                          Hey, @Christoph-Hart - would it be possible to add an oversample button to the built in convolution reverb fx? I just want to be able to oversample while using IPP and it would be great to be able to do this without having to learn scriptnode and then rebuild the whole thing in there from scratch... I have four convolution reverbs that I need to be able to swap the impulses for based on what's selected on the interface. It would be really nice to just click on a button and be done with it.

                          Agreed, that would be helpful , I also need to rebuild my plug to use scriptnode.

                          https://lalalandaudio.com/

                          https://lalalandsynth.com/

                          https://www.facebook.com/lalalandsynth

                          https://www.facebook.com/lalalandsynth

                          1 Reply Last reply Reply Quote 0
                          • T
                            tomekslesicki
                            last edited by

                            Totally, especially since it’s so basic. I understsand that if I wanted to do some crazy reverb voodoo, scriptnode would be great but oversampling is standard these days and having to hack it in doesn’t make much sense to me.

                            1 Reply Last reply Reply Quote 0
                            • lalalandsynthL
                              lalalandsynth @Christoph Hart
                              last edited by lalalandsynth

                              @Christoph-Hart

                              I am having some problems loading impulses from an array into the scriptnode convolution.
                              I am not using a combobox or a Audiowaveform but rather a rotary knob that cycles through an array.
                              It works fine for the normal convolution but struggling with using an array to load into the scripnode conv. I dont need the Audiowaveform or the Combobox.

                              Also unsure of how to get a reference to the Scriptnode convolution and if its different when it wrapped in an oversample module .

                              Using this with the normal convolution , and this works.

                              const var ConvolutionReverb1 = Synth.getAudioSampleProcessor("Convolution Reverb1");
                              Engine.loadAudioFilesIntoPool(); // Load All IR into memory to be pool
                              
                              const var irs = []; 
                              irs[0] = "01Piano1M.wav";
                              irs[1] = "02BrassE.wav";
                              irs[2] = "03WoodwindM.wav";
                              irs[3] = "04StringsL.wav";
                              irs[4] = "05VocalsM.wav";
                              irs[5] = "06PERCN.wav";
                              
                              

                              Then I load each impulse with a knob.

                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}"+irs[knobSel2.getValue()] );
                                         Label1.set("text","Cat One");
                                         Label2.set("text",catagory1[knobSel2.getValue()] );
                              

                              Any thoughts on how to do this with the scriptnode conv ...also unsure if I should do the code for switching in the script fx code or in the oninit code window.
                              I cannot do the callback in the ScriptFx and the oninit does not recognize the loadFile
                              So essentially I cant even get the combobox to work .

                              Quite confused I must say.

                              https://lalalandaudio.com/

                              https://lalalandsynth.com/

                              https://www.facebook.com/lalalandsynth

                              https://www.facebook.com/lalalandsynth

                              1 Reply Last reply Reply Quote 0
                              • lalalandsynthL
                                lalalandsynth
                                last edited by lalalandsynth

                                It might help If I could figure out how to connect the combobox to start with ?
                                Should be able to figure it out from there if anyone can help ?

                                HiseSnippet 1704.3oc4X01aaaCDVJNrswconYncnejHXeHAHK0tusgtUTm3X2507hgkaSFP.ZnkniYiDolDUR7JJP+iMf8SX+TJ1efsiTxVzNtYodnACaNeHlGu63yc7ditYjvkFGKhrrmqc+Ppk8Wfb5yk8p1iv3VM1PQnE8XZTm1zXo058CIwwTOKa6BOSwg8byZo+7gmtNwmvco4jrrdkf4R2jEvj4TaV4ELe+5DOZaVfA2OnRCWAupvWj.no.pjUHw8HxgzsIJ1lAYYekZdLoHxQRjzXK6YWW302om3DdJ+uhEy53SUKJa4.JJkbcgumBwpuaUsGy2q4.qN1xxF0L2GTH0GbKzVLO1P549hap2.mKgo+vdlyCdkMgWoIBuxSBd1Fva1T3s.xwMhEJy2QgsqiZvkzntD3JvDVo7ZMyeXipJ.N3xUCHGQqGAKFJwROpToUvOrTok+94KNeQ3hHVhOlDgWKwiI1kbLsqHJnL9I3A53PprpHHTvgEKs3nrsXpVt6cUbyotRrrGEGqABt9d32j.Z2mcDESv8HQdtBvCfCDdI9z4KNptVMlB5Obfo1vawUvK5LPUFG0Kio5iwgDD5Sav8nmhKgkBrqAF7Xwg9j9JxpkZAYQN9BIVzMUbspqu2jwQbtxAbj4s5lvckLAGK3aKjzc3Ksbw2VbthuqHd7s51ch6obpQBeeZzD2VknDcdBtDOInCMZE3JyOgNjQHhYzPRzGOjzLiwM8N1fQAuAmI2Ijx+XApVYAFPH6LYnBXUpCXucV.6HdTKlmJgZTurk1.LKgXMtxtYlxfnuNh0Emp0yBiQ7LJ5CO05kM1fHIpTpLnBvOjFIYJOi8FzigZUoIXyg1fFejTDpskrfbK6q8IaMmND.ueuJ8yQyOUwHfVWycX.skQHFHvUF3FNg4I6kqg9U5QYG1yntJqhkAVu5mjyJGm+lINe+yqjcrHaeX8fiDYur5.kzf3rvgyVjBJUpxmIxQqepZZjsADAORgJUwHdLS127V6yRQ0KJbW.0jIc6MY7NyDvqJ3+yLdyZQMOpV2tPUsbvNKp9dWx8iPoXoHZPQyrAFLhlMAz1IA57i5LecwHaavzFzd5WsQocLhn.bgFCDEq3t.u3XU8YYOhD6R33NTbBnQLjhgomBMv3DenHePPBm4pulLafAU22Dj9I3Z7CYb5ptZ8uF2qE8PVLH8PHszYZ94EGNtfaDGtMUdhH5nkVD1Nu8CqKtuHAeBgKUcW7EDOL.1FsvciDAf83px15HNcEE5AqgECViu+iGzCBP4pJozPYw21r0N+Xspsec8c1biZsd2tf0qFCa0SHGu3xpybveC6FDFQCIQz1hlPGtkRKizBjZEbGeg6QNregd1VHY0gVWwwRt8HPqR+3ooSyXylU3h0oYBw5sDIRF+vsHxHFTWBAQMNvHgtzpYnSE4LipwP55Rp0pTOGJ2Su3OgOYaVdXXFrY4Aal2qxJ6xTGYm8c3apvXDBteUTggSfZ+0Itf40uIQUNbAjpEIj4AWHtCy.uhRhxV.fGGpaBd2QHCICfZGLraJ9gxwA5Z2vntYee2AUeWA3HMUpEbuplGXqXyQmsKXzLCrJP4oljF7WUgtafDP7SZXw8N0ZD64NF1yHb84xVNe7dMEdmWgoiE9I5Bui.2aifxBPpa7plr7OFq+.xglNl3AFCQdfJGQAU8TiGT5.0+RxF17fzgGOn33VIp7CK8IbiYOS1JnYRgTq2.BVuJcXFUFSyjN9LWkkXMlHWAoJcLf2sQMd79aSOA+7FN0vYUSb1uEs+QugndOGd80p9hW1zfx94Um2uz82UH7Ngw81RUxw7XyaG1lDAOCP2fhDAuRSckbtKllQvLa9cizMuNxABU0uSUm38U50X0bW3mQgfXUa7xmyiU+8K5iUCuvOVcGWIb7siH73PQ7HJ1gFvZCykEaRDdtR8H5O2R4HMoWUPhl3Ve3o0Aibhx3PjIQ5aj0BDIb4HCjT3BOEfYg4QmSyf+ILRvr+q9EzWdylV3hA2+lgpla.FcXpB.03GS8gjDMF+RHqnKIwWNf5nA4aI3hvdBtJQMOBnEE5jd3gzHSrOQCZMoj3dTNkaUoE0mRLil+5JaBQgjnszEpmJeQ4Ktu37tutCJEtXUlI9+Fuonv+KeSwkxHeWFmQ.wMR7Z2zIkUwxWSSArat92vbNzVp03g+5DHToUKYE.UDesqqxc+Mf+YxxbuoPl6OEx7foPlGNEx7noPlucJj46NWYTMiVKQJBRSEABMqoGQw1tFm.Qx5ndq+Bfg73kL
                                

                                Figured it out ..it seems . Needed to make the irSlot a global variable.
                                Seems to work.

                                HiseSnippet 2006.3oc2X80baabDGPTvwhoxMNSbmLSen2noOPmQQhLINsSS6XJw+jvVIKNDL1NSev5HvQxKB3NzCGjDapmwO1uG8iQeweD5Lc568if+Fzt2A.hCTLzRLi8zFpGDt8tcwucu81e6g9BtGINlKrr2Z3rHhk8OwwcFSNs0TLkY0qskcEmFVGNKBGGS7srsq7kpIr2ZSK8uW8vCwAXlGoPjk0i4TOxQzPprPZ+l+AZPPWrOYHMzX0eVyddbVKd.OQndY0shvdmgmPdDVsrMbrruUGepjKbkXII1xdyC49ybmxufkt9GSioiBHoH0ELTp3t7.eEhUOa0ZJMvuetyFaYY6zuv0qj55efywTe5b4Egf2SOApPCy3g8FqBdMLgW8kBuFKCd1FvayT3cWGWOAMRVLiBauqSOljHFigs.SXktVqM9KUbZwgUvj6EhOizU.ClqQsOud8cQOnd86+EaWc+OZ6pvVQrDcNVfNHwmxeB9bxXtHrA52gxsxDhrEOLhyfA01o7x1QYGvR6qVMi3IQxoDTrFJntOE8sIf0CnmQPXzTrv2iCw.TH2OIfrc0x1ZuXBX+nbmsm+N6h1wM2TFupuNlneMt3vn.ROlO4RTcjji7LvfOMNJ.OSIVMTqHU3FvkH93T00lt6SWNNhKLNfCc75i1WAfNrITFYu.N1WqWWZ.IFBv79bdPsTPVDUgvx47fDIkyFPNmHFohr5Cbp3p1.otw7M4Z6XnCJSoLmW4Eq3mZATV..Oz3Dlm1.b1gIRIm0PscJ.D5kuWtK.vfDx8q9cUQvO53ZYiUiRkokKbOhK09qxUqsy20evI+9NsF9rtmbT6NCdd8G7XtGNH938t.eN.TDDryUV+vyq97un5xylR2CxP3N2WE5yvYKbPvHnvPsEc.Ujvv6dDWRNgUS4EaU84UQKN03wKctLiEPDKcZUIKwpTrFKIbDQXDC0KDN6Vt3fy2ewAyZWdoQGiExY8XT4IQD12WICqrPJT7nRFpfmj5RG2KqzQoLaKpupzV4rcKsCXVL2ZQi8dYFC12FwOjeo1N2cAgWwPu5gWwP2wwb+ValeZIQKCMecu1XIVUgLyegXPDQHopvqcax4.0SZ8xsbZShOSxizAjrbLK6aeiCIWNG.u3oMmUfluooQ0IMy47pSVF0K.EtUN5uf5KmVXgYMmRnSlZPSRaZYf024FEwKv4KMw4K9plK7Z+iK9ZeQ6lTIILNO25JH3ZrUYDkbMd6+6Y4ucG6+FLN+M6X+yUta7w7P3EgEfF1aXcUVOf6UQOfkkIjUcgjMAbPrDymhciESkyLS9divRecg6cc5SkdSWNd2XI3ERueSi2rdd11oy3w.IYAX2zo6SW2FbtA8esgAVbRwRUmbNXMPJcdxDPOJIrfpUkIYCtVd+N+camzFPDD.tPeFX0RQig0hhUz8xoXIxCyPiHnDvhH3PNhbIzQDCG.8LDFlvnd5sosqNIfOBjlR5AT0Yr8dZie.ye.YBMFTcNdpUeQJe+3nEUrcbziHxK3hypsCLcQqLzwnY7DzEXlT0ohhjEAHs2.zXAODbFO0g8Q7K2UAcvUnwfqDD7a.J182+0SM2nOEy3MxnlSagH8u4TZQBRDVPFx6CsKUKsL1..y6hFEv8Nyk9mIWkGLqN3gpUTyaJF56JHdcnKWnU+JWuTskjoOfCMLwlbLVJnPkIGHmwEtggGoUF5T4ManX2RGWWMVcvykv70C9OvurIaLOIClrQ9jEDtVY6l5F2ydFdRkD63.avJoPmt.2SWrG3dy5iUEDuqihmGN2QD64M+72sTZzvB.7hP8HH5VRLbT.La9cmRwOT6NTW4Ft4T1yOIu96tvJROHM.1WUM0bbr4MwrqXPlBdEX7TWRC92Qgt63vgNPSSK9jKsJ4Oeng+TZUuo7kUi2aqv61JLk29bY3dOGnn.b1MdOyk7CFq+VGWR5cNN03FImpNinfp9JHmV+T0+Rxt4xoo2D4zpK5kNMdP8avNltnp9k.glTu2.BVONsYJ0Il9IiBndJOwZAUtkip1Q9Z+ENqr8dS6TvtMDKf1507MXAbKdULdkCVmd5L4xd+btLiqJoOKcOmkb4oRbIsEyJ+AM9lW9DhrrHHC.JGw7JQP2KLJIHlbDgMwr0pW8vLb0iEkHMkCWS8P3BLSD7Dl+vo.Qfuo85KH9Dnjqoruh1xvF+0+Yy1vtITUybMc6NLKzTHB1.S+5IutsuPkall+FhUkIs+WubSq.NOBp.Kj4yoDzg4mOztx+OUk1HO4NoQp20wEpQou0sNK4moGiTM7i9RBT8R081p9nW+iq6G8J5Z+QuNwSBu9gBLKNhGWxvtjP5Pnc7XSgP1TWA4OMPcfyTdKNVrzod0C6BN4R0wEKSD5StGDBImxR8gV4GXyeK8qas4+S+w2d6cKjJWO39Z99fakiQWppXeG14j.n9oFiuOTvbLNIPlKsbd8wbFOZJmopgWroOf.mGmLgHLw9RcnCjRnlVgjOn4.R.Aal.+KadDj3gEGqIkWqXQiqerXU6WenSJbQpCinebb6wJ+H51i2.n71f33sw6HD6I3OyK8VQpb4aqk.9MSSfukywpwn4eILGm56UG3s8oOyySEt+3FVVKWmOYMz4SWCc9r0PmGrF574qgN+p0Pme8J0QQFcPhjGldTDDzuit6Ua6NLLjIqy5s9u3Yj18.
                                

                                https://lalalandaudio.com/

                                https://lalalandsynth.com/

                                https://www.facebook.com/lalalandsynth

                                https://www.facebook.com/lalalandsynth

                                1 Reply Last reply Reply Quote 2
                                • lalalandsynthL
                                  lalalandsynth
                                  last edited by

                                  Seems like this crash also happens in HISE when bypassing an Oversample node.

                                  Tested 16X and it crashes when bypassed ( sometimes it hangs in there and crashes when engaged again) Might take 2 or 3 switches.

                                  HiseSnippet 2556.3oc6bs7aaibFmTxiekcylzlsc6Mgr6AG.WCQE2jBzGlwuRM1nXUKmjcQOjNlZjDgImgkjxwZ2s.En8PusmaOz1isWJ50Vfhj+.Z.Vz7OP1i8lyk8PQA1NOHEGRQIQKKaKmHcIdl4aH+9988bFNSp3RLPddDWE041ssCRQ8s.Uai8atVSnIVYq0UTuL3QvCPdMgNH2GWRY01NPOOTMEU072kQi5bSov+czJqBsfXCTTWJJOjXZftmosoeTuUz+PSKqMg0P6ZZKQ8x5aYPvqQrHsn7SdPQEGnw9vFn6CYjkCnnN8F0L8ItU8g9HOE0oVkTqc0ljmfEz+PSOy8rPrFZJUoOHQ2aRrpw3XVuJq0zzpVkP41Sg9PqDgB4Env0.kMqY1o+Hz3J7AJDMCY7PMW+XOMY1qX1YOUI1aJA6cUPUCWSG+nQX71k.ag8Qt0gTUfLaInUQ8Yf0HTBv9KYC2GsoKsQmIrvMKVbwBZEKdieP8VXCeSBt.AeehOZa7B2X9Oc94l+WNegjCUudpiwdMtDKKjapCyz5t8ahKfaYuGxcwBG.sZg5PHU7iiufdiuxpeCgTKQHAuE1zeaGDtWntR.TQw+bAbEkTeN5e4.zupkYMjqhIEjmA7gXxdZJbFV1kPIyStTJS9AasNzGxrABXGJKRcC8MYRu55nCnNWBKh4.qi712m3v4WaGBlw7pyLPN9PYu01QMtstmOxop4mDxQ5e4m7aVwIDh1pFOTA+oVXyORi5p5R8RoVSrQlFvCMnHwIyNPwOhS94PcIN4GNB3DaRs.PxvbOjEMFTW9TTOaRsVVP+3t6roGL.0FMleEy4A6Y52VVmcpDCHqr6UAUL8MZlN+lKE9kYdeJyuAQTeavF0qiL7iX1o.a9QmAgOAcyKyA1gzxGQe8BPi0xD2nPYnuq4gZwYp7wYp7YKlSJXRvaQ7RnLw8aYWkloy.QgDLFYwBnoxzKAsKxZyTQUQ3Z7F4hFTi0VMXPdi7QCVh09qo+XC1oQvf2TdvNMj0Xy1oR.SaGKzcCUX.v5ts6UA.O6m84e0JqirfwrtdjYM+lgcbiO6A5cUhvh5agOfFRqBwB5lz1bTg8pSkYGHlHU3BiC+2.vg7KRLL2j3hCCeEPE33fAwPE8HzMuXhX.ZxCpkXvRggZ5Yzi7AClZzi.vb9fTxAAYikgNshS+GfBE1.2vDiVxvEQQt08btOx+ID28W35Rq.YWWHEw8n360kJU0wEQS6i1kTg5MrfGjE2ZG5CYwB6YQL1mU7P20aFTBwpLJVvH.FGlxRmd7IEQRkbrTDIUxGyTDijRhCJsd3JIl9Kvlfuvnf+l9WLSruMHUyDFchp+1DZPa2tBjkR5p.1xBnd4H2kL53s+do+LzTnZBYc.y83dTylXcqlm8hBW+pPwPq.1lW+Kc0qA+cPNQf5hTJDtB6PMXYqJprm7pgYlPUBKlk87yIdCLYOuPllgwzy.7brnKvtmxmX3SKQPMuzpRnJn.NLW.pK3PADO.Mv4AHGuVuTkjojjD..VqVb4XdfM8eWh0+4u.DknZWnaCjOOSWjMDa2DBawjHdoWh4V1D+vjdakgG9vjKJ8djmfbC1QGVXrG33zocDUU6rjsY.EWpXQZfu8QOQfaxzIrNDujjupmpzk5HPK7N.BkwEg40t0gw0GeGI6p3jkP8nNpTOc4nle81XnsogP2nn998HrxRa2g+Th7sUkjzoA9Pby3B3kDFb7AdSyhKhRY6NdhUoMI3Su1e8trMI3XayIpKLxlSVP5o0H.X2xJ0XBr9GyBpMrpKlq9nSgkVfhSfZ6nUBzGyJHpA06uTRmFChKZoFmW4YhqFTyEzhtxg7h5i2A4g76gQYkV6YYZvXJkDy6c.OvCkwoNPUetr6o9wOqaEOCE6Vw+wOKMEuRL+0e+ui86umPw+iM9mOuwe6c0EwA460PJtqmjfK5etdlsUozNXV9qa+Gq7MW+EqH1N9p1DheSZA8I46k0iGYQJXxrhRkzdMnVooY0JoMFWrz4Zfwj0NMxxg0IX3bh8uHVMPZCYsR4FypUJUiO0XK4fUej13bkSiDyuQYYTi9rx8JJ2zrRlzdculowYcyS6thIsIULMohoKHUL06.KdGTOQo+uMntoEizknicgK1BH65qk06Re8aeQp5qk0SQeQocv5qm+Y+ma+qsedf9ZSWzunEBazte5q9v22j+6EqHy2O+ew989I36PJiy2gzNX99+9G9ye00e0Wv467feZ+xUMPbtTJtxkREmKkpqboLvuxwvOcbkG4ocFnqb3zNg78UxdHHJsUie3QDxRef5xrfI8c+EllmsbRxxIIKGOSV9qtU7jkpyJIESKD2UMgdYdYqYcy765gwO2ZXD+6n5EuI0lj4AvNiVhuoRE4isUXUqT54XtKa4AaUi5Qv9X6a6z4aLGZX1ecyQOcTF86+8Wd0+t7dU5QTjMNzwE44wEQpirR2X+trked7w9AUs+Ph9AeggSS3+jl74CzyNJLH3G.vnFm9n+QqjUae15cGmA+iCHLXaedX1wFzOHSdkTNwniHz+rLQ1fP+Y4Q8KTZbB+46P7aJl+yxB8+SFmT.g6R5aJZ.pbv40yBcP1S.y2KzKN0+bxTAuEPZi7O9JA9mIY3f+bxv+kBg+jmkjX5g4Ac15lQjp3kw1qCQ.8Wkpp3kI1qiPZ6dAsurGpBkTE3t9hPuNIww1asS70mAbbt9L+H4KshhtO5P+NqzR4X7PicSXPo+P4KgHamY+Gg76yk1SQoumY++zc+xMzS4Z8M4L6O4L6O4L6epbl8OyNN2G26EUow16E0viRJQO1tQIUk3lbWVfRWhFiEi32RZNN8s3sKvN0BEtKBibg7SLt7MuKdL2uHqWTZmLeQo21vm954mVBGhWrGbUjs4tzTOdwJxyCw9zM6vbOj6eMBzM0gNZkMoBYpyoJzukK2O6N1jVX+9kMXprYkLfqz2Ti0WX6yt6VZ9rwtC3NkOWHOJJcXCZpcKZYRcxUUG1xxOr23WdmxDLwoIAy9B.QJ8cPTO4FMPw+3JoIP2w2GZreTOWSeGjEBJa.+A52iZ3AcKK9FuCCVnkcrne5q2CHX2BLmwBudbmfy+F4cBNYJGPpobxchR4HKtWKLwAKGQThi2k2tNw0tG4MxeVm2PS9ImXrRwWzfeKbbxEcEiJl3sIU7zjcFB6ThxY0o0qE6gQaG6IU1L1+OErAFRU5UQToo11dFTgElXgfUZY4g3kspIupwntKI28oSZJvjzTmWooJMIM0jzTW3SSkYOTZ3wwuk6dpjUc7dI01PCWxiMD2uY9Iuf2CEwv7+KrZNPYV6BctUz.14oPwlF5+wFFL6puKEYSeNkFh4bygXNKODy46MDy4VCwbt8PLmueemCKq6cZ4SrEdNzNprAeSiUUEEYvchT9+vieaEL
                                  
                                  

                                  Looks like it does not crash with 2x oversampling.

                                  HiseSnippet 2538.3oc6bs7aaibFmTxiekcSSZy1liBY2CN.tFhJtaJPeXE+rFaTrpkSxtXOjNlZjDgI4vRNxwZ2s.En8PusmaOz1isWJ50Vfhj+.Z.Vz7OP1i8lyk8PQA1cdPJNjhRhVVxV1Q5R7Ly2P988664LblT1Eqi77vtJpysWKGjh5aApzxlzXsFPCaksWWQ8pfGCOD40.5fbeRAkUa4.87PUUTUytEiF04lRg+63UVEZBs0Qgcon7HrgN59FVFjvdKW7CLLM2DVEsmgkD0KWbacr8ZXSbSJ+jEjWwApe.rN5APFYY.JpSuQUCB1sBARPdJpSsJtZqJMvO0VP+iL7L12DwZnoTg9fDcuI1rJiiY8prVCCypkCjaOE5CsbHJjUfB2.TxnpQ69CQiqwGHW3LjwC0L8h8zjYu7om8TkXuoDr20AUzcMbHgiv3sq.11lfbqAop.Y1RPqh5yAqgoDXSVxBd.ZSWZi1SXg6jO+h4zxm+1+nZMs0IFX6bX6GfIncrW31y+oyO27+p4yEenZ0RbL1qwEaZhbSbXlV2sWSbA6lV6ibWL2gPyln1DRE+n3Kn63qr5WWH0RDhs211friCxtanthOTQw+L9bEkTBG8upO5WwznJxUwfBxy.9.a79ZJbFV1kPI0StPBS9gauNj.Y1.9rCkEotgDClzqtN5PpykvhXNv5HuCHXGN+Z4fsYLu5L8kiOR1asUXi6VzifbpX7IAbTwu7S9sq3D.QaWkGpf+Tys4GpQcUcodoTqI1HSC3gFTj3jY6q3GxI+BXQIN4GOD3DKbUePR2XejIMFTG9TTOab0llPRT2c1z8GfZiFwuh47X6YPZIqyFIw.RK6dcPYChdij42LIvuLy6QL+5GQ8sAaTqFRmDxrSA17COCBeB5jWlCrKtIAQe8BPi0xvtdtRPhqwQZQYprQYproKlSBXh+aQ7RnLwCZZUgloSGQgDaajIKflJSu32NOqMSEUAYWk2HS3fZr1p9CxajMbvBr1eM8Gav1M7G7NxC1tgrFa11UBXX4Xh1JPgA.q61paE.77O9y+pUVGYBiXc8XipjFAcb6O6gE6nDgEKts8gzPZkwlP231lCKrWcpT6.wDobWXb3+1.NjeQhg4lDWbX3qAJCGGLHFnnGAt44iECPSdPsXCVHHTSWidj0evDid3Cly6mR1OHajLzIUb5+DjK2F10MrQKo6hnH25dNO.QdJ18fEtkzJP1yERQbOJ9dKoRUcbQzz9n8vkodCK3AYws1k9PVL29lX8CXEOzY8l9kPrJihEz8gwAorzoGeRQDWIGIEQbk7ILEwPojX+RqGrRho+7sI3KLx+uo+EyD66ARzLgQmn5uMg5z1sJCYojtNfsr.pWNxcI81d62L4mglBUSHqCXtG2mZ1Doa0rrWTv5WEJFZEvV75eoqd0+u8yIBTWjRgvUXWpAKaUQk7jWMLyDpbPwrrmeFwafI6YExzLLldFfmiIcA1cU9DCOpDA0rRqJgpf74vL9ntfCEPbez.mGfbzZ8RTRlRRR..X0pQki4AVz+cIV+m+BPXhp8ft0QDdltPaH1tIDzhIQ7RuDysjg8ih6sUBdzihunz6ieJx0eGcXgwdniS61gTUo8R1lAjeo74oA9N.8TAtISmv5P7Rh+pdlRGpCesvUAXJiKByW3nnpiaJYVEgpQkxY8V1PKCcgdPQ8c6RHjk1oMyDYUYcwnSURbmFPf1MhJlWQX0wG3MMytPJkM93YWk1ofO8F+ssX6TvI1vSTbXnJQVPThDKvpoYhwBX8OlELaP0PLW7gmNJo.DmBM0wq3qOlUPTcpaeg39I5XWzR0OuxuDUMnlwuEcECYE0EuKxCQ5hcX4l6aZnyXJkXy6aAdnGJkSsup9Lo247iddmJdFJ1oh+iddRJdkHtn+geO62+Hlh+mp+udQ8+96TTD5iuGCI3gdZhmT7yKlZaUJs8mk+5V+oxem0e4JhsguhEFSZPKjONeubwtFLYVQIRZWBpQZZVMRZiwEIctFXLdMSCszVsCFNmH.gbwOZW5qQZFdMRZiyEIMTL6FlULM7yF2snaSyJUR6xdsRiy5lm0YkRZSpTZRkRWPpTp6AV7NrVrR9eaPMCSFoKQG6BWrEP50WKWrC80u6kIpuVtXB5KJs8We8hO6+d2ei0K70Wa5h9kMQ15s5k9pG78c3+d4Jx78K92reuaL9Nfxn7c.s8mu+e+w+xWcqW+Eb9NK3m2qbU8EmKjfqbgDw4BI5JWHE7qbL7Qiq7POsSeckCl1ojuuV5CAQosRzCKhPV5ATWhELom6qvz7rkSRVNIY43Yxxe86GMYo5rRRwzBwcUCnWpWtZZ279NdX7yolMh+cS8h1jZSx7.XmIKw2Por7wzJnpUJ8bL2ks7fsqR8HXeb8cbZ+MkCLL6st43mMLi98++qu9+TZ+xcIJxFG43h773hH0QVoSreO1xOO4Xe+p1e.Qe+OlvnD9OsIeduhoGE5G7C.1n5idz+3URqsOa8tiyf+IAD5usOOL6XC56mIubBmPzgD5eVlHqen+r7n94JLNg+7cF9MEy+YYg9+YiSJffcI8MEM.UN375YgNH8If46E5Em5eNcpf2BHso9mbk.+yiLXveFY3+JAveryNRD0v7f16byPRS7pHa0gHd9qSTS7pXa0Q.sctd1W0EMgRhxa7ODzkIANxNqcpurLfSxkk4mHeEUTJRPGQZuNKkSvCMx8dAk7Cku.hzcB8eLhziqnmhROOg9+4s9xMJlvk3axIzexIzexIzejbB8OyN71mzaAUgw1aA0fiRJgO1NQIUknlbWUfRWgFi0FwuSzbb56xamic9ExsExF4B4mOb4SqPzXteQZuVzNo9ZQuiNg954maBGrWjGbEjkwdzTOdQJwyCw9vM6xbOj6eMLzMwgNdkMoBYhyoBjzzk6mcOKbSaRuxFLU5rR5yE3apw5qm8Y2MIMa5X29bCxmKfGEkNrAM0tIsLo14ppAaZRB5M5U0oD1F6z.ay1++Pk9tHpmb85nneZkjDn6QHP8CB64FE2EYhfxFvuWw6SM7ftkDeg2AAKzROVzK80MAB1MGyYL2kia.b12HuAvwS4.RLkSlSUJGYw8FAINX4HBSb7N710vtVcIuQ1y57FZxO4XiUH5hFHMsiRtnqHTwDuMohmlryPPmRTNaQZ8ZQdXz1QdRkLh7+JAaXCoJ8JHpzTcGOcpvBisPvxMM8P7xV0jW0XX2Ej6dzjlBLIM04UZpBSRSMIM0E9zTo1CkFdb7a4tijrpi2Ko1Bp6heht31LyO2E7dnHlM++vplCTh0NW66.MfcZJTrng9ehtNyt56SQ1jmSgAXN2Y.lyxCvb9ACvbd+AXN2c.lyOrmygk08dMIXKgmCsixav2zXUUQQFbmHkuAfVj+z8
                                  
                                  

                                  https://lalalandaudio.com/

                                  https://lalalandsynth.com/

                                  https://www.facebook.com/lalalandsynth

                                  https://www.facebook.com/lalalandsynth

                                  1 Reply Last reply Reply Quote 0
                                  • lalalandsynthL
                                    lalalandsynth @Christoph Hart
                                    last edited by lalalandsynth

                                    @Christoph-Hart I am trying to make this work , do I understand correctly that I should create a MyChain in one of the Oversamplers and it would be moved around according to the combobox ?

                                    If so , its not working for me, the Mychain appears in unused nodes.

                                    HiseSnippet 1513.3ocyXs0aaaCElJIpsVqdXCXOr8FmeYNqooVYYYAnqas4VQ1ZRMpS6JPWQAsDiMQjHEjnisWQ+Ou+AamCIkkbs2PP.5VMhSDO7b46bkToatJhWTnxIdMNaZFm3ca+dSk5g6OjIjjiOf38o9mvJz7bpkzdSyXEE7Xhm2pOFI30XMh4ye9y6wRXxHdEIB4EJQD+IhTgthZ2G9qhjjiXw7yDo03d6GdbjRtuJQMBvyp9cHYrnKXC3mxP1Vwm3ciCiEZUdOMSyK.d1SEOs2P0Xok+WHJD8S33hPROPQVxj8GJRh6V5qEDh2Zcq77Usd9W3ehHVLidUD3yLaPqjndLvak4gzZyAov5PpSMHcjJIFU.xxhviTCcqYQG.BU7nDlddjgo.2FB07YmikZtrPnmVOE8+Jb+b+tBczvki2UVBdgD0GZ75R9M8O77y4Q5Jvtl+Qu75loCWJTVZgn2hwt.+dQ4hLMXeDH21sjdzKCmCPVxjUZbCe58tG8rgb5.kJlpR9FZJafHhVjwSRZF.cUEZ5krbZbQF8AzCkCDR9lQ4bvSNnH6TtdrJ+h1sfsas98aFzLvnOQAMhkjPg+JRyT4ZlTSKTT8PlF9EmFoR6q5qlPGKP6.BctHmSEZqf8g12lAfR2rfqORkOlkGuuRpyUIEmo5xxg9ZXxRQ6yYIE7YF9wbq1yUJMUph4aV2EPpmBDA+.07.t1f6PGvqXTcInZVZVB7Gf4W85R8uuwuAGIkWiIikJniJDxAzeomMB1L3bUdaAH9V2mJn+3Cng6fO7s.g0aF71lAT3ScKsY1nhgsQjYCusaAHRCEU77Mq3qE8NfVtCs0jVaXe3kzm1q05nO7NGLOUM1FoGyoCYWxwXRJUHoL3m7b1zMvchfUBHHhdDpeCWVXqPlqisJDCp+QwwVMpUlncgXfjkPivF.magoMHKwk51kQ8MncPL5zQ+QZZeSEoyryDqrNssNeDelWUUWgELz97Err0iAFRAfGC9oZjzfSa5wl+.WFDkImhEffmMwrooZTHMCVLHaHGpEgPznBfYijYInIfFxR2rpZwZcaM0hYNytPpp0ISMSHbEayof9fzX0MDt1jECE5PuwdpIsaU9THnfvN3WT5n9XbpcKH4kVfpdqI+tba36tv2vclLyDBYBfA54ijQFWCOhzoPWyTaLLnjfg2.fRBDvqmnKampUIfQkwPyrkmDEzrRUPK4yKv1p5kLuxnu6F9ZWRuYPCw4sMDo+DTK.qAK0vYJFjqvDmc3fKeBYAGGFJ0JpblzUS0.JQZ.+3J8mqnFmBMW+LXIKqUkePfA5ekvLCvrPNG1+epKnwh0oJ5W+fxXfod0NMwjjbg48cizZuXFX86OK8jkyy.2Clukvl11ZzmANxFz9Pf9hdh+fudvaCZD7t.ZMgLGBrGxQaHLIk7jhEYCMrMiKGk1mmWltKYbgKHcyq1YTJ4wRg9oYbGay4CkjgqiUCkUTmApJRK4H2moFogIqmvz4hIDO+SGk1CtmWDeem2Bz7VgfhZV2AWi2.nGWFaV7WvG2lg3ZO2lgkaRbce3opNHAvQ6tOh8zxxDGQ.Gg9I9yxiDSfrTsD2IhlCncOCOgmF66CSHPpvDGh2sNhEAg6ocY5g38aduIFlyuuAJQHAb322UeBDGmir2pnZKuAr0+AHlhNEd+W2y+lHFMmu2F.G1J3mA0Y3soOon98o8VExAY7bsfi4.T4lK+5.Ohta4GtCd1CYNO4q7W1oVvToOvtg8lfKG1jpKL3H5bga5u6hdvWtTOX2ORcfsupNv1ej5.acUcfs93wAlawyO9.llUN5.TcM487NfeI7dr1qm2v+.dwEZUlgW2AuPa9UbPCN7yK.r3zxGRYFZXWq4x.36bu0jfsmDr6j.rm6+jgmornb0ahbWOGBD2xPAlfJMu9cC+Sv0zpQk9c1rCIEd032DEguuzcCIjkKyVWCY9tqgLaeMj46uFxry0Ple3ZHyt+qxf+WIdzHsJ09tz.gtGZJh87NTxfi4MukH4uA.DUBWA
                                    

                                    https://lalalandaudio.com/

                                    https://lalalandsynth.com/

                                    https://www.facebook.com/lalalandsynth

                                    https://www.facebook.com/lalalandsynth

                                    1 Reply Last reply Reply Quote 0
                                    • lalalandsynthL
                                      lalalandsynth @Dan Korneff
                                      last edited by

                                      @dustbro Did you get this switching working ?

                                      https://lalalandaudio.com/

                                      https://lalalandsynth.com/

                                      https://www.facebook.com/lalalandsynth

                                      https://www.facebook.com/lalalandsynth

                                      Dan KorneffD 1 Reply Last reply Reply Quote 0
                                      • Dan KorneffD
                                        Dan Korneff @lalalandsynth
                                        last edited by

                                        @lalalandsynth only with the example posted. I'm just starting to get my feet wet with scriptnode.

                                        Dan Korneff - Producer / Mixer / Audio Nerd

                                        lalalandsynthL 1 Reply Last reply Reply Quote 0
                                        • lalalandsynthL
                                          lalalandsynth @Dan Korneff
                                          last edited by

                                          @dustbro Yes, I was trying the example and could not get it to work , did yours look like my snippet ?

                                          https://lalalandaudio.com/

                                          https://lalalandsynth.com/

                                          https://www.facebook.com/lalalandsynth

                                          https://www.facebook.com/lalalandsynth

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            tomekslesicki
                                            last edited by

                                            @Christoph-Hart +100 for an oversample button on the built-in convolution reverb without having to go to scriptnode!

                                            Dan KorneffD 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            15

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.8k

                                            Posts