Build fail - Semantics: "Reference to ‘Point’ is ambiguous"
-
@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.
-
@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.
-
@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.
-
@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.
-
@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"
? -
@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.
-
@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?
-
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. -
@bthj multi channel instruments can only be built with HISE plugin version.
-
@dustbro
-
@d-healey say like a drum sampler that has 24 separate audio outputs. Instruments made with standalone only have stereo output
-
@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
-
@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).
-
@Christoph-Hart Oh I shall have to experiment
-
@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);