Proteus

Guitar amp and pedal capture plugin using neural networks
Log | Files | Refs | Submodules | README

Proteus_Install_Script.iss (3936B)


      1 #define MyAppPublisher "GuitarML"
      2 #define MyAppURL "https://guitarml.com"
      3 #define MyAppName "Proteus"
      4 
      5 [Setup]
      6 AppName=Proteus
      7 AppVersion=##APPVERSION##
      8 AppPublisher={#MyAppPublisher}
      9 AppPublisherURL={#MyAppURL}
     10 AppSupportURL={#MyAppURL}
     11 AppUpdatesURL={#MyAppURL}
     12 DisableProgramGroupPage=yes
     13 DisableWelcomePage=no
     14 DisableDirPage=yes
     15 DefaultDirName={commoncf64}
     16 DefaultGroupName=Proteus
     17 OutputBaseFilename="Proteus-Win-##APPVERSION##"
     18 OutputDir=.
     19 LicenseFile=../../LICENSE.txt
     20 SetupIconFile=../../resources/guitarml.ico
     21 UninstallDisplayIcon=../../resources/Proteus.ico
     22 UninstallFilesDir={commoncf64}\GuitarML\{#MyAppName}
     23 Compression=lzma
     24 SolidCompression=yes
     25 
     26 [Types]
     27 Name: "full"; Description: "Full installation"
     28 Name: "custom"; Description: "Custom installation"; Flags: iscustom
     29 
     30 [Components]
     31 Name: "VST3_64"; Description: "VST3 Plugin 64-bit"; Types: full
     32 Name: "AAX"; Description: "AAX Plugin"; Types: full
     33 
     34 [Files]
     35 Source: "../../bin/Win64/Proteus.vst3"; DestDir: "{code:GetDir|VST3_64}"; Components: VST3_64; Flags: ignoreversion recursesubdirs createallsubdirs
     36 Source: "../../build-aax/Proteus_artefacts/Release/AAX/Proteus.aaxplugin"; DestDir: "{code:GetDir|AAX}"; Components: AAX; Flags: ignoreversion recursesubdirs createallsubdirs
     37 
     38 [Code]
     39 var
     40   AAXDirPage: TInputDirWizardPage;
     41   Vst3_64DirPage: TinputDirWizardPage;
     42 
     43 procedure InitializeWizard;
     44 begin
     45   Log('Initializing extra pages')
     46   //AAX Dir Page
     47   AAXDirPage := CreateInputDirPage(wpSelectComponents,
     48     'Select AAX Install Location', 'Where would you like to install the AAX plugin?',
     49     'AAX plugin will be installed in the following folder.'#13#10#13#10 +
     50     'To continue, click Next. If you would like to select a different folder, click Browse.',
     51     False, 'New Folder');
     52 
     53   AAXDirPage.add('');
     54   AAXDirPage.values[0] := ExpandConstant('{commoncf64}\Avid\Audio\Plug-Ins');
     55 
     56   //VST3 64-bit Dir Page
     57   Vst3_64DirPage := CreateInputDirPage(AAXDirPage.ID,
     58     'Select Install Location for VST3 64-bit', 'Where would you like to install the plugin?',
     59     'VST3 64-bit plugin will be installed in the following folder.'#13#10#13#10 +
     60     'To continue, click Next. If you would like to select a different folder, click Browse.',
     61     False, 'New Folder');
     62 
     63   Vst3_64DirPage.add('');
     64   Vst3_64DirPage.values[0] := ExpandConstant('{commoncf64}\VST3');
     65 
     66 
     67 end;
     68 
     69 function IsSelected(Param: String) : Boolean;
     70 begin
     71   if not (Pos(Param, WizardSelectedComponents(False)) = 0) then // WizardSelectedComponents(False)) then
     72     Result := True
     73 end;
     74 
     75 function ShouldSkipPage(PageID: Integer): Boolean;
     76 begin
     77   { Skip pages that shouldn't be shown }
     78   Result := False;
     79 
     80   if (PageID = AAXDirPage.ID) then
     81   begin
     82     Result := True;
     83     Log('Selected 1: ' + WizardSelectedComponents(False)); 
     84 
     85     if IsSelected ('aax') then
     86     begin
     87       Log('Not Skipping page');
     88       Result := False;
     89     end
     90   end
     91 
     92   else if (PageID = Vst3_64DirPage.ID) then
     93   begin
     94       Result := True;
     95       Log('Selected 2: ' + WizardSelectedComponents(False));
     96 
     97       if IsSelected ('vst3_64') then
     98       begin
     99         Log('Not Skipping');
    100         Result := False;
    101       end
    102   end
    103 
    104 
    105 end;
    106 
    107 function GetDir(Param: String) : String;
    108 begin
    109   if (Param = 'AAX') then
    110     Result := AAXDirPage.values[0]
    111   else if (Param = 'VST3_64') then
    112     Result := Vst3_64DirPage.values[0]
    113 end;
    114 
    115 function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo,
    116   MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
    117 var
    118   S: String;
    119 begin
    120   { Fill the 'Ready Memo' with the normal settings and the custom settings }
    121   S := '';
    122   S := S + MemoTypeInfo + NewLine + NewLine;
    123   S := S + MemoComponentsInfo + NewLine + NewLine;
    124   S := S + 'Destination Location:' + NewLine;
    125 
    126   if IsSelected('aax') then
    127     S := S + Space +  GetDir('AAX') + ' (AAX)' + NewLine;
    128 
    129   if IsSelected('vst3_64') then
    130     S := S + Space +  GetDir('VST3_64') + ' (VST3 64-bit)' + NewLine;
    131 
    132   Result := S;
    133 end;