@oskarsh Another friendly bump.
I want to use it to move panels down/up.
@oskarsh Another friendly bump.
I want to use it to move panels down/up.
Hello!
I thought that maybe for some this Inno Setup script could be useful. It installs the plugin + samples automatically on the user's computer.
It does the following:
(In this case I also added the file "AudioResources.dat" so that it is automatically installed in the userappdata folder)
In this way, the user simply opens the plugin and already has everything configured.
Paying attention to the * symbol at the end of the source file location because it includes the folders inside the selected folder. For example, inside the "D:\Downtown Grand Piano\Samples Folder*" location I have the folder called Downtown Grand Piano Samples. Inno Setup will include the folder inside “Samples Folder”, which is "Downtown Grand Piano Samples" (You can check the Inno Setup documentation if you need to understand this better.)
Then the linkWindows file is autogenerated with the location chosen by the user + \Downtown Grand Piano Samples at the end.
(I received help from GPT to automatically generate the linkWindows file, although it took me some time to make it work properly)
[Files]
Source: "D:\Downtown Grand Piano\AudioResources.dat"; DestDir: "{userappdata}\ZAK Sound\Downtown Grand Piano";
Source: "D:\Downtown Grand Piano\VST3 File\*"; DestDir: "{code:GetVst3Directory}"; Flags: recursesubdirs
Source: "D:\Downtown Grand Piano\Samples Folder\*"; DestDir: "{code:GetSampleDirectory}"; Flags: recursesubdirs createallsubdirs
[Code]
var
Vst3DirectoryPage: TInputDirWizardPage;
SampleDirectoryPage: TInputDirWizardPage;
procedure InitializeWizard;
begin
SampleDirectoryPage := CreateInputDirPage(wpSelectDir, 'Select Samples Directory', 'Where would you like to install the samples?', 'Select the location where you want to install the samples (2.58GB). You can use an external drive if you have one.', False, '');
SampleDirectoryPage.Add('');
SampleDirectoryPage.Values[0] := ExpandConstant('{commoncf}\VST3\Downtown Grand Piano');
Vst3DirectoryPage := CreateInputDirPage(wpSelectDir, 'Select VST3 Directory', 'Where would you like to install the VST3 file?', 'Select the default location of your VST3 plugins. In most cases, there is no need to make any changes.', False, 'Size: 29MB');
Vst3DirectoryPage.Add('');
Vst3DirectoryPage.Values[0] := ExpandConstant('{commoncf}\VST3');
end;
function GetVst3Directory(Param: String): String;
begin
Result := Vst3DirectoryPage.Values[0];
end;
function GetSampleDirectory(Param: String): String;
begin
Result := SampleDirectoryPage.Values[0];
end;
procedure CurStepChanged(CurStep: TSetupStep);
var
LinkWindowsFilePath: string;
LinkWindowsFileContent: string;
SampleDirectory: string;
BaseDirectory: string;
begin
if CurStep = ssInstall then
begin
BaseDirectory := ExpandConstant('{userappdata}\ZAK Sound\Downtown Grand Piano');
ForceDirectories(BaseDirectory);
LinkWindowsFilePath := BaseDirectory + '\LinkWindows';
if FileExists(LinkWindowsFilePath) then
DeleteFile(LinkWindowsFilePath);
SampleDirectory := GetSampleDirectory('');
LinkWindowsFileContent := SampleDirectory + '\Downtown Grand Piano Samples';
SaveStringToFile(LinkWindowsFilePath, LinkWindowsFileContent, False);
@d-healey oh, I found the solution on this post: https://forum.hise.audio/topic/4355/changing-impulses-in-scriptnode/15
@d-healey said in Compiling macOS Components and VST3 Doesn't Put Them in the Project Folder:
In a recent commit of HISE Christoph removed the copy step so it should no longer be moving the plugin files automatically (although this might only apply on the latest MacOS version I'm not sure).
I can confirm. I'm using Sonoma 14.3.1, and the compiled plugins are now located inside the project folder. That was a good surprise :)
@ThinkTank You have to add this:
const var ParametriqEQ1 = Synth.getEffect("Parametriq EQ1");
Engine.addModuleStateToUserPreset("Parametriq EQ1");
(Replace ParametriqEQ1 with your real EQ name)
@bendurso I just realized that setting the Source Length to the same sample length (2048, I was using Automatic mode before) and enabling FLAC compression does the trick to obtain the same file as the example.
Beautiful page. I think the commercial license prices and FAQ are very useful for new potential users who want to use Hise :)
@d-healey Hmm, it didn't work. However, I just realized that I only needed to trigger the ComboIndex, and it worked (as you mentioned initially). Thank you :)
inline function oncmbPolyShape2Control(component, value)
{
Polyshape2.setAttribute(Polyshape2.Mode, ComboIndex[value - 1]);
}
@DabDab This is what David said turned into a snippet :)
HiseSnippet 1053.3oc0V8taaaCDmx1pn16OHEqO.B4SNXdA1MooqHXXtwIdvXwIFSdcCHnnfl5rMQjHUknRiwPeF1aydL1yxdC1NJIaQ03kjZj8g4OXHd+g2Od79cGGEIYPbrLhXUe7hPfX841tKDp48lS4BxfiIVeo8PZrBhbxDczhPZbL3Qrrp9CZAV0qQR+8We+QTepfAEhHjWK4L3Td.WUHcT2ej662m5Ai4AFVue2ALonmzWlf3opcaRHkcIcFbFUaVEah0iNwiqjQtJpBhIV0NR5svct78hL6eMOlOwGzK5PbwMJSbeoumFw5uI8ly88Fs7bGSvcYTQVnZVV3o1C4d7UxKxFakpvovCy7gUkxvqZI30wDdsMf2ZfjkAjpkAomX6xh3gpBMZ77Y1CD3kyTJl1MgRlsjJurhcOIZgPsa.8RneDtXkGMOnc6VN3e6bXiFXpOV4bEEunkASjGIutiy24rz4YfBEGJE3hlauxhsWimCDdv0nqWzokyyZ4rWKm8a47h2bngcm1+7gRuDeJlrzQIsjSGiURatMZiSgQoAhK74BvYZhfo3RgitXIGHZbFI8axVBxVXf7SfcZ7aMpWJb6FCpWoTQ7IIJnYYU+B8JnuLJPmwaYbZtHcub9FmNuAwwGPnbm4EcXxAUOpu+DrRt4Mw6NGZbXNSpfyEMSgbiOzv4iUMc5Z0kuU9PzZUq4XQ2liMEIASfHyDl1Prvqb07i92qlMIarrLiggRw.AWcdHjutfN1YM09j7TqlEjiPzTUJGXqbNvxzHg6oo.qxpjzifYKIxOO3Xphtbyv8EiUHDo35ij0wvUX+oLBVc6ig3KUxvTayuSwi88LzWSrrs9SLnKze7G3GbEDfAww1EqZaLNhSEy7gFtz22v8cIzH7SEDFSBno9Zm1a7F7driyxBTy1P5du4JvayRbeM+VDyUKLSDebuoZ2uay6n0oYepsxvqsMxoxAYYN7cCx9Qv6R.AyP3i6pGTLnXNS2euqllNMmlZ59ovLLPlRFC38H1cgYNSxMPJUy4hYkG+7ztmJkgmHnXZvybSFMmFqYeHitz1fa6XY1vwd9R1klJGLSHifLFso7dIwJYvxCP5PMcQPZMp0E1Gr+t3uoes9+W1C+auyeXVS9DlM041mMU4dVi9UoW+qtm0EBOnkosWaY5Zao7Ig3UEg+O.wOwdDWwlu9FAUVCdIj+ywa9Sn9B6SlNEXpBvVyt+udquW5gAJ+jLQgj6gTbFutw5YIAt3KJY.hDg.7i0Maqn4hYqaqWmRnAgW5h+F+kqridsUtxNKUhsrYQx2xxFOoIEONUBhIQ5aUqiOZFW6biIRDR.99w2xXk2pa33y1TG2aScb+M0wmuoNdvl53K1TG+161Q8y6eUB1iNiNQHCGcRV2YqUiFrpR9G.Ii9IR
I just saw you said a knob, I used a combo box, but it's the same concept for a knob.
@tomekslesicki Mm you could change the alpha value of the panel color via scripting to do this. Or is a different thing what you are thinking?
@bendurso If I reset the preset browser like this, it seems to work.. is it a good approach? Or there is a better way?
FloatingTile.set("ContentType", "");
FloatingTile.set("ContentType", "PresetBrowser");
The presets of each expansion (within the floating tile preset browser) are not updated after the expansion change using ExpansionHandler.setCurrentExpansion(expansion). It only changes after building the project again.
I tried with FloatingTile.changed() and FloatingTile.sendRepaintMessage() but nothing.
HiseSnippet 1867.3ocsX0saabbEdVIuNlLIHIn8AXAuhJPfljVhVtAAklThIJQxlPTMNAtFNC2cVxsd4LamcnkDLTQtrWlGg9Jzq6yQ6yQtKW5dNyrb2Y4O9GgjEFxXlyOy2424LbnT3yRSERhS0yuJgQb9H2QWwUS6OkFwIGeHw4CcOdFcB6bVphz6pDZZJKf33r8WgL3T4VD82u7m6QiobeVwVDx2Ih7YmDMKRUr6vteaTb7.Z.67nYVbuW2i8E79hXwb.La61jjP8eAbvOhhrskK4qooSINetqOsYmP+wOHrIq88CCFe+wr81m8f.1C5bf+9gGr+A2qM6dGzg3b6iBhTB4HEUwRIN2pmH3pQSEWvMGv2EkFMNlgKZQFAmrY6Ah3.zDwcI8mFEGLbgWJk.ZYXgOaaiO6O5dZTPT99E9tOUSvqPBaGnyVkg21kfWKa30zBdqARNVP5VFH8Yti7kQIpBJYwRthICoPbxFJFdIa8e+.29BfCtpwL5KXCjvhbIp2pY681069cNXmunJ7c265Mholm3olx7XWlP4oQBtWbTpxKhq20WLarXr3xpUgXKr8KoRjyulxChYRuuz6H9jHNqgujA9fiVniL50wyojfFxXFQJH7SeFPu7tMRlmNsdsGI7xUVMTKgBYcFhphSuwDlJmoS.PWemcp5AeqSiLjavWlvjpHVZ8cZfDAMiBXCxbMNhEy7gnKfyEtTPE8EyRDbXQ8ZqvIBzU1rQJC3MRwlkVa2kg1eSDwqW6uBlHZiP733YIwrYf5WJljdQjxeZ0pQ7Xvc6ENm6qv8E7UNPDrRQbc+EHcWvthmy1o5qpVIV3SiKz64hSDz.vByYFswiAvdN6REF9pTsB.qmv7tflApvHIle.73oDdRFXelTk4RIB7bkqkLU3cAyiyXAH29So7IPXTgKnPvbVh5JuTkLhOoZknv5qfrubIW1Sa9LSPtTfN2NpUKKhVwJOAPXeC3xcVKePfkdMDAdmCzZcZbz8owwigNc02brPWtsRzMFNWvt87MJnyKfcoJHTSSR0LfZchTLmG3EgcvsSS0szaswbSC4Zkq+FR4r31aTFCYsLUySvjrPHDOUqu5b1E4lHlNgdZTwE.UymUb.olf5cYB5+.A7nzCYgPJcPYkahwuJORu5IXyNZHOA5o5SkAmwBYPnF51UqPnFI7I0xJ1wuRP5cPSZ9e93I154ZSul3T1aEq0d0vyd72bT+ye9fGexgGc10KgrM.rUDqDLrQg9OPTMUDyZj.USp5Kghcrb6ljCSiovnX8EzPuo2fDlTiFXFqISn.m65UabtOIiOPyF1PR650D9WYFjrDJBRrrSeCfUoZdrHuvxNGLqOIRCaiHfviGzabpG.aShD1xQWHAjQ.apkjBgxTEkVsTNctb67EVcUejPwdLuttmI.QukIEFtVZY065q9VCYbfI4aRv574yFyj1crQFggBJOog6lmzvdPHeSctEiB9w7H0iSX7MMdDIq4.NURFp.VU5YR9zrYR5iSEzSbIIBF93O3tRaOhF91yVR9KGeHUQWnTP+E2EC6cH6kvfllAep3dHK8EJQBbr4cmHNefABebFDzAO84eGy3ssHWZO45U1KtHJPMsXiet6TVzjoVyz9O6tnNf3349lqV0lvlfkN+NCVlbcaX8O5V.qe75tIT7NIKkkaJKA3eXE.+CcI1x8V.gsu4W96VffD2s7Q8utdkiZbW7t9Ey0+Qtsa2YuGzduVcZRJHzVSY+Vc1+f160rYYezcdOydr7XmaA1e5jk.6OoVmKLyh0SbQbtqq8njUGnGdoX8HFTiDTrAYFENcWmsI5Jgb09gpr2IXLgAPiEEb284PVi1L9DW6s1Xt3Od4BSv04+4PHK70tNeiSdkmoL3SbGpmspmTbQJSRFOYQHnxsAM8qn5rCLUt8+90+7qKua6Ll0e55us9Oa4h2TUC6ILh9RVu4JELh8exSImy1cAkb+Q5CSAUMeFxQHEtqKmE8irjqWbrEY5J5D5fYXuDohsglpf8BzZ0LWnGFDr9i3LFGpVWOsCgDI0FnMhQk9S6QkKSX.8kBI35vGwZSav733gT0zEzSK4IxLniAmU.qmPBtjRzez7YF+GJVK8Vl0OASCNCxXD.gmpuarYi6sz2tum6Ca+L8YfuF5gvSxxcoYmvtq6+xkxfryDWLjFfSl9tJWtOsG1iDszmZHbpPlEFVlRQp2xTV3mWgZ0qIjUelL7.cQv7Xpp7q1weaiLBXUs8SkwmCCgK0U12O8a1S4eWg3m4NDeQ25w3VqAivUm+dfwre.jO18nvPn6aA.uk6fu+2mesCxYh4XmxSov69vtsPQxHnakOCNcNz7FGvwYKrArYcSbM5AFw3A5EuF9xH1BW6jQr0BhPebeo349lAXvehk6n2AvDWeKeE2Sw0dsVdVEBYVTPzy88KqpUDr8MUv6cSEbuapf6eSEryMUv6eSE7f2tf3OH2CmqDyLkMDxoCORe2liyQbJjApyVI+eZ54IbB
If the user adds the macro via the interface, ScriptSlider.addToMacroControl(-1); doesnt work to remove the connection. How could I remove the connection via scripting even if is added via right click (assign macro)?
@d-healey Oh, I ended up here because the MPE of the global modulator wasn’t working, but the MPE of the macro was. Along the way, I realized that macros are far more customizable than global modulators.
@d-healey Mm but I'm using sliders, not processors. They do have names.
Looking in the source I find this
So it should appear the pluginParameterName?
In the MIDI Panel it displays the pluginParameterName, and technically the style is the same of the FrontEndMacroPanel.
@d-healey Or maybe it will in the compiled plugin?
@d-healey Thanks, but I already tried that. It still doesn’t display the pluginParameterName on my floating tile—only the ID.