HISE Logo Forum
    • Categories
    • Register
    • Login

    Server.callWithGET broken on Mac compiled plugins

    Scheduled Pinned Locked Moved General Questions
    69 Posts 8 Posters 3.7k 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.
    • Christoph HartC
      Christoph Hart
      last edited by

      There's a tool on macOS that you can run with any URL and it validates everything.

      nscurl --ats-diagnostics https://download1981.mediafire.com/ufgigkkchdag/brk7qgc382u8j64/HiseServerTest.json
      

      This spits out a lot of errors. Although

      nscurl --ats-diagnostics https://forum.hise.audio/topic/3885/server-callwithget-broken-on-mac-compiled-plugins/33
      

      also produces the error every time that TLSv1.3 is being used (whatever this is lol). The TLS versions below 1.3 run fine though so maybe HISE is using an older version for whatever weird reason...

      1 Reply Last reply Reply Quote 0
      • L
        LeeC
        last edited by LeeC

        @Christoph-Hart interesting...

        I was actually literally in the process of testing using:

        Server.setBaseURL("https://forum.hise.audio/");

        Server.callWithGET("api/users?section=sort-posts", {}, function(status, response)

        as I came across an example that you created in the 'Who is it?' post by @ulrik. Your example pulled back profile images for HISE users.

        Compiling as I type and will feedback...

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

          Yeah I did that already and it worked here :) So as it seems we don't need to care about the errors in TLS1.2, but the media fire URL threw these errors with all versions down to TLS1.0, so that's your answer.

          L 1 Reply Last reply Reply Quote 0
          • L
            LeeC @Christoph Hart
            last edited by LeeC

            @Christoph-Hart strange because this snippet (that's set to call hise.audio) didn't work on my machine testing in Logic X 🤷🏻‍♂️

            Could it be something to do with the use of the timer to print the response in the example perhaps? I know I'm might be clutching at straws here!

            HiseSnippet 1307.3ocsWsraabCEkiim.K051FftoqJgPWLFvQObdzhFDDEaKGXj3DgH6jrKgZFJIFOhb.IGmL0v.8mn+D8qnK699CzMceQ+Abujbd4D4TGilQ.Rl795bO7NWd8PoHjpTBIxqw9YITj2m6OJiqms0LBii1caj2W5OhJOhJ2mpzT4FnMyRHJEMB44ckGXTxqwxH6yeeuMIwDdHsZKD5YBVH8Qr4Lc0tC6+PVb7NjH59r40z9l82MTv2RDKRA.cE+tnDR3gjozGSLpsjOx6pChXZgbjlnoJj2xaJhxFMS7FtS+mwTrwwTyhdnQfibauiHNxfXytnslwhiFVj3JD3kgUzvUbzvW6uGKhUteEc7UVA3JKpyGdK8gfWu5vq6EGdd0f2xN3cM+QgRVhtRhAael+tb3LZBANBpCKmtnk9ik82R.Zv0smSNjtiDVTZQvs61cc7s51cs6rZSyG3nPowGQj3pB.7cwEdXJUukXdhfCKBZUoRKi8U19HxXZbuy0Nm3VEwz7oSm7.h2hDGWrKiGy3T7jTdnlI3XAuJjFWKEwAgE9ccHzwoz0Vs4wq1DCOtusdViiMwDqE3wP05gfmvwBRjIHNzzVQAjoouU2ZcbqRr0fMIv41iMNrgyu1ebPwX2lDE8fm9nfVyz5D0O1oyDgLcd6YLEsMIMhI5X8WciMXCPFE7PF1pNVwzTLSgIGQX.ZioXhB+zAi1Ge+g6hGmgecJPuIRZBkGw3SwupCIg8JSNomQwg.u0LGSl+94L8rGLX+fVfRcRUTo5dJpkFuKT5nudhPoUPtd7IqWRvAJnFNUsNVRU.opLjIPmETo6QRmhkvYagN24cEp.gNGcFQvAlRDSamHYPQfZsyHLqMXgTaZMHC1nqqfrP3IqcGLth8NY0lmXOd9uqJMmN4EJl5pwPmkfETDUbZCmHVDX3zXwTLgGgsvsLYsRLELm8kkLHkGvmBEqsCkTnOf0MOY7qAFOv38LCRraVhiRRuphcAkhk7j66cXwzQYPS44lr11CQFTaysopC0hj0rbhoohQVPKHYZqeqgPdiDJyxAVouMruHwQ9l8NwQH0du6wBvJ.pMOtYilmzD+thlLYgxx42XieWf37Hd9FFvSmOlJKd0tPQnk3Y645e98bqekPnqfolhB9tbl9IvqTmWmXTdUlombNp.U01NxeQdG4MS0ZAGwhrWkVVcgrnt9EinC1cahlT3KvsPnRnRMyjEdaSOBt3z0suge9YIjrkU2HuUbQd07HaqXrAdEeW0C5skA7meX+rxE3v9ugEomUAGU+YT1zYU2Q+mj9lpNfN89cX4D.giX+TUBz+f9nZPw+hQBU34UjZ342F0mo1SLGbEQlUv9W7Dci5I5yqmnGkmE87+HaQixIHeu+A7SA4368MvJiKKFRowUOE8WmZC1GAfuQM.i9tZ.FkkC3C7+eu+MFWkT+pW8j5aeujB8Km5Rp2ezCX.HQTZLQe1ohLiBlK.h9YF+vLhAGtRKq9nheRFU5hB2q4OjoCmsX7tzBvK7V5mZ7lO34p9ClLANbq.6x967hO8SYhdpHUCiRrGQKYP0o+iSmOBpFBo.R3bZro0p2Rl5b25tl0FlYDLChcwovStvdl0d4B6UHDMmDJEuLz05zLZ6J1c.LwsS32veOyZbuh1k99ca2EMGl39kggFp35.1WrMabIr4FWBat4kvlacIr41WBa99KgM+vGzFy+ry8S0h4tWSfMFNvdskm2.tYxTaEI5ewXpqqK
            
            1 Reply Last reply Reply Quote 0
            • L
              LeeC
              last edited by LeeC

              alt text

              alt text

              LindonL 1 Reply Last reply Reply Quote 0
              • LindonL
                Lindon @LeeC
                last edited by

                @LeeC dont know about the Get but the POST works fine for me in Reaper...

                HISE Development for hire.
                www.channelrobot.com

                L 1 Reply Last reply Reply Quote 1
                • L
                  LeeC @Lindon
                  last edited by LeeC

                  @Lindon Did the POST work for you in Reaper on a Mac?

                  I've created an API endpoint using Amazon AWS and can successfully POST to it in HISE using the snippet below.

                  When compiled it works in these DAWs on a Mac:

                  Studio One
                  Ableton Live

                  However, it fails in the following DAWs on a Mac:

                  Logic X
                  Reaper

                  HiseSnippet 1418.3ocsWktaabCDlqi2fH0nhFf9i1+Qrn+PFvVWV4PIHHJ9Jvow1BQNG.EAoT6RIw3UjaWx01JAFnOJsuI8QIOB8MncH2SYK65nhrBvFjyA+lONbFxdgBWpTJBQVkNbZ.EYca69S4pwaNlv3nc2BY8C18ogGSCOjJUzv6ie5a5i6cPeEZioADoj5grrtwyzZaUZYj46uexFDeB2klOEB8ZAyk9B1DlJe1dc+Ylu+NDO5grIEztc2ccE7ME9hH.Y2vtAJf3dDYDcehVskrQV2baOlRD1WQTTIxZ4MDdS6OVbBOV+WyjrA9T8fln9fihmdGgumFw5YQaNl460KkAjHvK8x4iaDyGeu8dLOV1747x2YDfysnHeXszUAulEgWiqO7rJ.ukig2cr66FxBT4RzX6ar2kCaVCIvVPQXEqKZo+7l1aJ.M3pZSHGQ2IDFjYQ060nwp361nwJOpRY8OXqPpvGSBw4YB3GiS8vHpZSwj.AGFT0IWEGs8419Bx.peyK0tXwyyl1WsMsmmMstZaZMOaV+psYcmKxGCHR5qd4K.CcFqTAxGVu9u04CQCkDuSFWidJ0MRQWiDvpEIWiRjp0ZViLg7QAmbhrlqXhyLvPZ3tMI99ZOV2iNjD4qp+bxwDoYmyPqFTDGF0jT.dJ5oJmUSAiFkw.dFo49NNLpWOY2DqmKNvf4NbLE+rsODSBGEMABdIlHwOu+A6iEC9.0UU.sA3GW9SkwvmCYJ04gXmVNkOKgiz+XbeFmhGFwcULAGK34IGZhNT3W0MkkWE7oeDckJk+TEiSi+qAlJruNfvJAd.TW4HvSXeAwKiHZNSn53jwAsmifJkKwFVMd09jdcJEubl+EiPsUaDSmUKPqkRAjQGWf2dCSMFnqp4r6p3fUyB4pR37ejbUbHUBgoTGd3juy4Enj5Wja.dJkih+BoivgPdSpNO57BkfvXGMiHXmPJ7o0BBYPttbkYDNsFXQnRWcNrZqFw0DREd1JOBiyIuypjr6+eWXPyuIY.5fc.Tbu5bxNROvoyK0HPm.3KFgIbOrAtYAqQhdCe1ymSgPda9HHKrlaHEJEabyAlL4pZuOUiDyjY3HizySEqWeNYYg+Ri2kxFyUry.HCyYVclMeLirK92cX9z9SgdsSzDnoiPX0BStEUdjRDrhgd0sHzxp5.7RM0oZt8jPlhlDiYqfdiTDDuOpm6rXtsvYy8EfUPTCmoKU9rx3yKZ3v4JKYqxW624HNYEubCqxilLfFld7OUQnA2rcPsu7NnEav6Fm6UPQAeWNScP.keY8UQIIr5NrInBTUY5u9sI8W2HRoDbDyybCorDUjA0EulC5U6tEQQR8E3VXoBngJlNJr1hdLbMn3d2krS1KgnK6fBx5VwqbkjU1j2XV3aYGmmgNMaA69xtSyF7Wuq6ILO03b3H6NlxFMN+FWelzUm6YtB0P.d8YeLG8ceUWTAbXe8Xfbv7qjhfoeWlbOgtGBIbZJ0e8ixVEb7u+lBNFebRH7.6EqmKZVRpK+7jDpiYERu94ssa2py5M67fF2uyWTHrdgP.8SEBAzzjP3Gsujl7mCi+wGu.FexEwX6Nq2oSi1eQXrcALBaY4X7ye3+exzEutJboYgWjOQM6Mo0OeHQ.TbXlqrpuVJWxTSK97huJWu95B26X2iobGOe7tzbvKTK3qMdSdrRE6sGNDp6mC1ks24se8eYB5khHEiOZOhJjAIT16GMoOjX5RAjv4TecAbqkzkZiG2POVyL8obOyf+A9RD1TO1JQXyTgnID2Pw6ciKPqeNzsLy.XhadUXI68ziwMSKJaa2nVCzD3UZu20USEqAXe91zZArY8Evl1KfM2cAr4dKfM2eAr4AWoM5GH+zHkXR7wDXhdaaZNZYsMm.YYlLRz+BDTHpJ
                  
                  LindonL 1 Reply Last reply Reply Quote 0
                  • LindonL
                    Lindon @LeeC
                    last edited by

                    @LeeC yes, sorry if I wasn't clear it works in Reaper on both Mac and Windows.

                    HISE Development for hire.
                    www.channelrobot.com

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      LeeC @Lindon
                      last edited by LeeC

                      @Lindon thanks for clarifying!

                      Do you have a simple snippet that works your side that I could try here please?

                      I've been going at this for days, trying various file hosts & endpoints and I can't find anything that works across all DAWs on a Mac :upside-down_face:

                      Cheers

                      LindonL 1 Reply Last reply Reply Quote 0
                      • LindonL
                        Lindon @LeeC
                        last edited by Lindon

                        @LeeC sorry cant point you at the server - as its the clients and its restricted...
                        but heres some parts of it:

                        // this is just setting up the URL to use...it could be anything you want..
                        Server.setBaseURL("https://your.servername.com");
                        var temp = "api/user/login/";
                        
                        
                        inline function doServerValidation(Mail, Pass)
                            {
                                // set up the post "packet" to send across..
                                const var p =
                                {
                                    "email": Mail,
                                    "password": Pass
                                };
                                // call the server....
                                Server.callWithPOST(temp, p, function(status, response)
                                {
                                     // display the results...
                                    Console.print("status is:" + status);
                                    Console.print("response is:" + trace(response));
                                });
                        };
                        

                        HISE Development for hire.
                        www.channelrobot.com

                        LindonL L 2 Replies Last reply Reply Quote 1
                        • LindonL
                          Lindon @Lindon
                          last edited by

                          Actually I do lot more that you might want to consider

                          • first start a timer( lets make it execute after 90 seconds....)

                          • in the timer call back - if it executes it means we've been hanging around for 1.5 mins with no response from the server so tell the user their internet connection is broken...

                          • callWith POST callback turn the server off... so we never get to the "hey your internet no worky" problem...

                          HISE Development for hire.
                          www.channelrobot.com

                          d.healeyD 1 Reply Last reply Reply Quote 1
                          • L
                            LeeC @Lindon
                            last edited by

                            @Lindon no worries thanks.

                            Yeah that's pretty much the same setup that I've got in the snippet I posted above.

                            If you get chance to try my snippet it would be appreciated but no worries if not.
                            Honestly, I'm lost as to what's going on after trying multiple servers/setups... All work in HISE but in DAWs it's blah blah blah

                            1 Reply Last reply Reply Quote 0
                            • L
                              LeeC
                              last edited by LeeC

                              @Lindon said in Server.callWithGET broken on Mac compiled plugins:

                              Actually I do lot more that you might want to consider

                              • first start a timer( lets make it execute after 90 seconds....)

                              • in the timer call back - if it executes it means we've been hanging around for 1.5 mins with no response from the server so tell the user their internet connection is broken...

                              • callWith POST callback turn the server off... so we never get to the "hey your internet no worky" problem...

                              Sure, this is exactly the kind of logic I have in the plugin I have ready to release. I noticed that a connection to the internet wasn't being made on some DAWs which gave birth to this thread.

                              The snippets posted are just to demonstrate the problem.

                              Appreciate the insight though thanks and if anybody has a few quick minutes to test the snippet their end and can spot anything it would be great.

                              1 Reply Last reply Reply Quote 0
                              • d.healeyD
                                d.healey @Lindon
                                last edited by

                                @Lindon

                                so tell the user their internet connection is broke

                                There is a function to check for a working connection. Server.isOnline()

                                Libre Wave - Freedom respecting instruments and effects
                                My Patreon - HISE tutorials
                                YouTube Channel - Public HISE tutorials

                                1 Reply Last reply Reply Quote 0
                                • orangeO
                                  orange
                                  last edited by orange

                                  Actually I am having the same issue in all of my macOS systems. (Catalina and High Sierra)

                                  Standalone works, Hise project works but compiled plugin doesn't work in Logic Pro X. Can't connect to the server. Windows works also.

                                  Has anyone figured it out to fix it?

                                  develop Branch / XCode 13.1
                                  macOS Monterey / M1 Max

                                  L 1 Reply Last reply Reply Quote 1
                                  • L
                                    LeeC @orange
                                    last edited by LeeC

                                    Hi @orange, I tried multiple servers and setups but couldn’t get things to work with Logic Pro X, so
                                    I decided to remove the code that depended on these server calls in the end.

                                    If you need help testing anything out further just let me know :)

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      LeeC
                                      last edited by LeeC

                                      Hey @Christoph-Hart, myself and @orange have just been doing some testing and it looks like it’s possible to get a server response in LPX, but it’s not the prettiest workaround.

                                      It seems that playback through the plugin is required in order to trigger the Timer Object that returns the response.

                                      You can see in the video below that initially no response is returned when hitting the ‘Call With Post’ button, but as soon as audio is played back through the plugin the response is returned.

                                      https://i.imgur.com/5z2Ktk6.mp4

                                      Thanks for putting together the code snippet for testing btw @orange :grinning_face_with_big_eyes:

                                      LindonL ulrikU 2 Replies Last reply Reply Quote 3
                                      • LindonL
                                        Lindon @LeeC
                                        last edited by

                                        @LeeC @orange -woah - good catch - is this true for effect plugins only or instrument ones too?

                                        HISE Development for hire.
                                        www.channelrobot.com

                                        orangeO 1 Reply Last reply Reply Quote 0
                                        • orangeO
                                          orange @Lindon
                                          last edited by orange

                                          @Lindon only AU fx plugins in LPX. Standalone and Instrument versions work

                                          @LeeC Thanks goes to @ustk for this test plugin 🙂

                                          develop Branch / XCode 13.1
                                          macOS Monterey / M1 Max

                                          LindonL 1 Reply Last reply Reply Quote 2
                                          • LindonL
                                            Lindon @orange
                                            last edited by

                                            @orange said in Server.callWithGET broken on Mac compiled plugins:

                                            @Lindon only AU fx plugins. Standalone and İnstrument versions works

                                            ..and only in Logic?

                                            HISE Development for hire.
                                            www.channelrobot.com

                                            orangeO 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            25

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.7k

                                            Posts