HISE Logo Forum
    • Categories
    • Register
    • Login

    Build fail - Semantics: "Reference to ‘Point’ is ambiguous"

    Scheduled Pinned Locked Moved General Questions
    35 Posts 7 Posters 2.5k 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.
    • d.healeyD
      d.healey
      last edited by d.healey

      Actually I can do this without a video.

      cbf6f469-13e8-44e8-bbd4-d9250c7b8bc4-image.png

      Open the .jucer file for the plugin version in Projucer.

      Go through each of the modules in the menu at the left side.

      Look at the path entries for Xcode, Visual Studio 2017, and Linux Makefile.

      If any of those paths are red it means it's incorrect. You need to set those incorrect paths to ../../

      feb2f86a-a028-431f-a65b-185261b73f85-image.png

      Next, make sure that the VST (Legacy) SDK Folder path is set in the Exporters section. This should point to the HISE source code folder/tools/SDK/VST3 SDK - or wherever you've put the VST SDK.

      After you've done this just save the project, open in IDE, and rebuild.

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

      1 Reply Last reply Reply Quote 0
      • M
        Mike Greene
        last edited by Mike Greene

        Thanks David! That did the trick.

        One thing for any other newbies who may read this thread- when setting the path for the Xcode (MacOSX) >> VST (Legacy) SDK Folder, it was easier to click the "..." browser button, rather than typing the address (which I kept getting wrong.) That's what led me to see that file path needed to be written as:
        ../../tools/SDK/VST3 SDK
        rather than:
        HISE-master/tools/SDK/VST3 SDK

        Also, Xcode annoyingly keeps displaying yesterday's fail, without any indication it's starting a new process. When I ran it today, that's what it displayed, so at first, I thought I failed again. It had a time stamp at the top from yesterday, mind you, but still, it was confusing and I couldn't clear it. It took a minute or so before I could tell it was running (I thought it wasn't at first) and eventually gave me a Success indication. So all is well, but for other newbies, it's something to be aware of.

        Also a new thing I learned - In Projucer, it's when a path is red that we have an error. In David's video, he mentions checking the Modules, but they were all fine, so I wasn't sure what we were looking for that might indicate anything was bad. Now I know it's red paths that I'm looking for.

        I'm slowly gettin' it. ;)

        1 Reply Last reply Reply Quote 1
        • bthjB
          bthj
          last edited by bthj

          Reviving this old topic:

          As a first step in diving into HISE, I'm trying to Compile the latest HISE but when compiling HISE Standalone I get the same error that started this topic:

          HISE/hi_tools/hi_tools/HI_LookAndFeels.h:121:16: Reference to 'Point' is ambiguous
          

          I'm on macOS Monterey (12.0.1), Intel Core i9, running Xcode Version 13.2.1, with the master HISE Git branch.

          Downgrading the whole operating system and Xcode is hardly an option. Isn't there some way to circumvent this error with my current setup?

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

            @bthj Use the develop branch.

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

            bthjB 1 Reply Last reply Reply Quote 0
            • bthjB
              bthj @d.healey
              last edited by

              @d-healey 🙌 now I was able to build the develop branch 🎉

              bthjB 1 Reply Last reply Reply Quote 0
              • bthjB
                bthj @bthj
                last edited by

                @bthj I've been trying out the freshly compiled HISE instance while starting to go through the documentation and tutorials; PhaseWizard and MusicBox. There are some differences in the user interface and I actually used the precompiled (2018) release for the PhaseWizard. It's normal that the GUI evolves but there are some strange things in my compiled version, so I'm wondering if I did something wrong in the compilation process or if I should have worked from the "plugin" Projucer rather than "standalone"? - like there are no toolbar items for switching between workspaces; if I double click a script file, an empty grey window pops up; and there is no "View -> Add Interface preview" menu option.
                Screenshot 2022-02-23 at 19.32.42.png

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

                  @bthj When you compile it will use the version of the source code you have, if that's different to the binary you're using to build your project you will get weird results.

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

                  bthjB 1 Reply Last reply Reply Quote 0
                  • bthjB
                    bthj @d.healey
                    last edited by

                    @d-healey if I choose "File -> Create new Project folder", then those workspace toolbar items and the "Add Interface preview" menu item are still missing. Maybe just GUI changes to be expected? - but I do like the free-floating interface preview window in the old build.

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

                      @bthj I can't remember the old version, those days are gone. But you can get a preview by clicking the house icon in the latest version.

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

                      bthjB 1 Reply Last reply Reply Quote 1
                      • bthjB
                        bthj @d.healey
                        last edited by

                        @d-healey When starting a new project, I clicked the house icon and when choosing an interface size, the application crashed. Upon reopening, some arbitrary (default?) layout size is in effect and pressing the house button again now shows the interface preview, but not the option of defining a new size. How could I redefine the layout size for this project?

                        Still not sure about the quality of this build I did:
                        What is the difference between builds made from
                        "projects > standalone > HISE Standalone.jucer"
                        and
                        "projects > plugin > HISE.jucer"
                        ?

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

                          @bthj said in Build fail - Semantics: "Reference to ‘Point’ is ambiguous":

                          I clicked the house icon and when choosing an interface size

                          I didn't even know you could still do that. I think it's a bug, an interface script is added by default to new projects so there should be no need for this extra step. If you don't see a default interface script go to File >> New.

                          How could I redefine the layout size for this project?

                          At the top of the interface script you can set the size Content.makeFrontInterface(600, 600)

                          "projects > standalone > HISE Standalone.jucer"
                          and
                          "projects > plugin > HISE.jucer"

                          The first one builds a standalone application, the second one builds a VST or AU plugin. 99% of the time you want the first one.

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

                          bthjB 1 Reply Last reply Reply Quote 0
                          • bthjB
                            bthj @d.healey
                            last edited by bthj

                            @d-healey Thanks, now I can change the size
                            (selecting preset sizes for different form factors under the house icon on initial project launch was interesting, even though it resulted in a crash).

                            Out of curiosity, what 1% use cases are there for the plugin build of HISE?

                            d.healeyD Dan KorneffD 2 Replies Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @bthj
                              last edited by

                              @bthj

                              Out of curiosity, what 1% use cases are there for the plugin build of HISE?

                              Two I can think of are:
                              Debugging a problem that only presents itself in a plugin.
                              Testing features that are only useful when the project is being run as a plugin.

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

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

                                @bthj multi channel instruments can only be built with HISE plugin version.

                                Dan Korneff - Producer / Mixer / Audio Nerd

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

                                  @dustbro

                                  alt text

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

                                  Dan KorneffD 1 Reply Last reply Reply Quote 0
                                  • Dan KorneffD
                                    Dan Korneff @d.healey
                                    last edited by

                                    @d-healey say like a drum sampler that has 24 separate audio outputs. Instruments made with standalone only have stereo output

                                    Dan Korneff - Producer / Mixer / Audio Nerd

                                    d.healeyD 1 Reply Last reply Reply Quote 1
                                    • d.healeyD
                                      d.healey @Dan Korneff
                                      last edited by

                                      @dustbro You'll only have stereo output within HISE standalone, but your compiled project can have as many outputs as you like. Compiling always uses the same compiler no matter which build of HISE you generate the JUCE project from

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

                                      Christoph HartC 1 Reply Last reply Reply Quote 0
                                      • Christoph HartC
                                        Christoph Hart @d.healey
                                        last edited by

                                        @d-healey But I think Dan is right, you can't connect the master container to the outputs unless it's running in multichannel mode (I might be wrong though and it might work miraculously - the only multichannel plugin I've done so far was with PercX and I've added some custom C++ routing code there).

                                        d.healeyD ulrikU 2 Replies Last reply Reply Quote 0
                                        • d.healeyD
                                          d.healey @Christoph Hart
                                          last edited by

                                          @Christoph-Hart Oh I shall have to experiment

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

                                          1 Reply Last reply Reply Quote 0
                                          • ulrikU
                                            ulrik @Christoph Hart
                                            last edited by

                                            @Christoph-Hart this is your code and it works great in the standalone Hise, this is only 6 channels but it should work for more I guess :)

                                            //  Bass side   ----------------------------
                                            inline function onOutBassControl(component, value)
                                            {
                                            	
                                            	// this variable checks if the output channel exists.
                                            	local success = true;
                                            	
                                            	switch(value)
                                                {
                                                    case 1: // Routes the first two input channels (= sine wave);
                                                            // to the first to output channels
                                                        matrix.addConnection(0, 0);
                                                        matrix.addConnection(1, 1);
                                                        break;
                                                    case 2: // Routes the first two input channels
                                                            // to the second stereo output
                                                        matrix.addConnection(0, 2);
                                                        
                                                        // addConnection returns true if the connection could be added
                                                        // if the host doesn't support multichannels, this returns false
                                                        // and you can reset the connections to default later (see below)
                                                        success = matrix.addConnection(1, 3);
                                                        break;
                                                    case 3:
                                                        matrix.addConnection(0, 4);
                                                        success = matrix.addConnection(1, 5);
                                                        break;
                                                }
                                                
                                                if(!success)
                                                {
                                                    // Reset to Channel 1+2 in case of an error
                                                    matrix.addConnection(0, 0);
                                                    matrix.addConnection(1, 1);
                                                }
                                                
                                                //SucessLabel.set("text", success ? "OK" : "Error");
                                            };
                                            
                                            Content.getComponent("OutBass").setControlCallback(onOutBassControl);
                                            
                                            
                                            //  Treble side --------------------------------
                                            inline function onOutTrebleControl(component, value)
                                            {
                                            	
                                            	// this variable checks if the output channel exists.
                                            	local success = true;
                                            	
                                            	switch(value)
                                                {
                                                    case 1:
                                                        matrix.addConnection(2, 0);
                                                        matrix.addConnection(3, 1);
                                                        break;
                                                    case 2:
                                                        matrix.addConnection(2, 2);
                                                        success = matrix.addConnection(3, 3);
                                                        break;
                                                    case 3:
                                                        matrix.addConnection(2, 4);
                                                        success = matrix.addConnection(3, 5);
                                                        break;
                                                }
                                                
                                                if(!success)
                                                {
                                                    matrix.addConnection(2, 0);
                                                    matrix.addConnection(3, 1);
                                                }
                                                
                                                //SucessLabel.set("text", success ? "OK" : "Error");
                                            };
                                            
                                            Content.getComponent("OutTreble").setControlCallback(onOutTrebleControl);
                                            
                                            
                                            

                                            Hise Develop branch
                                            MacOs 15.3.1, Xcode 16.2
                                            http://musikboden.se

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

                                            13

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.6k

                                            Posts