AnalogTapeModel

Physical modelling signal processing for analog tape recording
Log | Files | Refs | Submodules | README | LICENSE

ChowTapeModel_Install_Script.iss (6995B)


      1 #define MyAppPublisher "Chowdhury DSP"
      2 #define MyAppURL "https://chowdsp.com"
      3 #define MyAppName "ChowTapeModel"
      4 #define MyAppVersion "##APPVERSION##"
      5 
      6 [Setup]
      7 AppName="{#MyAppName} {#MyAppVersion}"
      8 AppVersion={#MyAppVersion}
      9 AppVerName={#MyAppName}
     10 AppPublisher={#MyAppPublisher}
     11 AppPublisherURL={#MyAppURL}
     12 AppSupportURL={#MyAppURL}
     13 AppUpdatesURL={#MyAppURL}
     14 DefaultDirName={commonpf64}\Chowdhury DSP\
     15 DefaultGroupName={#MyAppName}
     16 DisableProgramGroupPage=yes
     17 DisableDirPage=yes
     18 DisableWelcomePage=no
     19 LicenseFile=../../../LICENSE
     20 OutputBaseFilename="ChowTapeModel-Win-{#MyAppVersion}"
     21 OutputDir=.
     22 SetupIconFile=chowtape.ico
     23 UninstallDisplayIcon=chowtape.ico
     24 UninstallFilesDir={commonpf64}\Chowdhury DSP\{#MyAppName}
     25 Compression=lzma
     26 SolidCompression=yes
     27 
     28 [Types]
     29 Name: "full"; Description: "Full installation"
     30 Name: "custom"; Description: "Custom installation"; Flags: iscustom
     31 
     32 [Components]
     33 Name: "VST3_64"; Description: "VST3 Plugin"; Types: full
     34 Name: "VST_64"; Description: "VST Plugin"; Types: full
     35 Name: "CLAP_64"; Description: "CLAP Plugin"; Types: full
     36 Name: "Standalone"; Description: "Standalone Plugin"; Types: full
     37 Name: "AAX"; Description: "AAX Plugin"; Types: full
     38 
     39 [Files]
     40 Source: "../../Bin/Win64/CHOWTapeModel.vst3"; Excludes: "*.aaxplugin,*.clap"; DestDir: "{code:GetDir|VST3_64}"; Components: VST3_64; Flags: ignoreversion recursesubdirs createallsubdirs
     41 Source: "../../Bin/Win64/CHOWTapeModel.dll"; Excludes: "*.vst3,*.aaxplugin,*.clap"; DestDir: "{code:GetDir|VST_64}"; Components: VST_64; Flags: ignoreversion recursesubdirs createallsubdirs
     42 Source: "../../Bin/Win64/CHOWTapeModel.clap"; Excludes: "*.vst3,*.aaxplugin"; DestDir: "{code:GetDir|CLAP_64}"; Components: CLAP_64; Flags: ignoreversion recursesubdirs createallsubdirs
     43 Source: "../../Bin/Win64/CHOWTapeModel.exe"; Excludes: "*.vst3,*.aaxplugin,*.clap"; DestDir: "{code:GetDir|Standalone}"; Components: Standalone; Flags: ignoreversion recursesubdirs createallsubdirs
     44 Source: "../../Bin/Win64/CHOWTapeModel.aaxplugin"; Excludes: "*.vst3,*.clap"; DestDir: "{code:GetDir|AAX}"; Components: AAX; Flags: ignoreversion recursesubdirs createallsubdirs
     45 
     46 [Icons]
     47 Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
     48 
     49 [Code]
     50 var
     51   AAXDirPage: TInputDirWizardPage;
     52   Vst3_64DirPage: TinputDirWizardPage;
     53   Vst_64DirPage: TinputDirWizardPage;
     54   StandaloneDirPage: TinputDirWizardPage;
     55 
     56 procedure InitializeWizard;
     57 begin
     58   Log('Initializing extra pages')
     59   //AAX Dir Page
     60   AAXDirPage := CreateInputDirPage(wpSelectComponents,
     61     'Select AAX Install Location', 'Where would you like to install the AAX plugin?',
     62     'AAX plugin will be installed in the following folder.'#13#10#13#10 +
     63     'To continue, click Next. If you would like to select a different folder, click Browse.',
     64     False, 'New Folder');
     65 
     66   AAXDirPage.add('');
     67   AAXDirPage.values[0] := ExpandConstant('{commoncf64}\Avid\Audio\Plug-Ins');
     68 
     69   //VST3 64-bit Dir Page
     70   Vst3_64DirPage := CreateInputDirPage(AAXDirPage.ID,
     71     'Select Install Location for VST3 64-bit', 'Where would you like to install the plugin?',
     72     'VST3 64-bit plugin will be installed in the following folder.'#13#10#13#10 +
     73     'To continue, click Next. If you would like to select a different folder, click Browse.',
     74     False, 'New Folder');
     75 
     76   Vst3_64DirPage.add('');
     77   Vst3_64DirPage.values[0] := ExpandConstant('{commoncf64}\VST3');
     78 
     79   //VST 64-bit Dir Page
     80   Vst_64DirPage := CreateInputDirPage(Vst3_64DirPage.ID,
     81     'Select Install Location for VST 64-bit', 'Where would you like to install the plugin?',
     82     'VST 64-bit plugin will be installed in the following folder.'#13#10#13#10 +
     83     'To continue, click Next. If you would like to select a different folder, click Browse.',
     84     False, 'New Folder');
     85 
     86   Vst_64DirPage.add('');
     87   Vst_64DirPage.values[0] := ExpandConstant('{commoncf64}\VST');
     88 
     89   //Standalone Dir Page
     90   StandaloneDirPage := CreateInputDirPage(Vst_64DirPage.ID,
     91     'Select Install Location for Standalone', 'Where would you like to install the plugin?',
     92     'Standalone plugin will be installed in the following folder.'#13#10#13#10 +
     93     'To continue, click Next. If you would like to select a different folder, click Browse.',
     94     False, 'New Folder');
     95   StandaloneDirPage.add('');
     96   StandaloneDirPage.values[0] := ExpandConstant('{pf64}\Chowdhury DSP');
     97 end;
     98 
     99 function IsSelected(Param: String) : Boolean;
    100 begin
    101   if not (Pos(Param, WizardSelectedComponents(False)) = 0) then // WizardSelectedComponents(False)) then
    102     Result := True
    103 end;
    104 
    105 function ShouldSkipPage(PageID: Integer): Boolean;
    106 begin
    107   { Skip pages that shouldn't be shown }
    108   Result := False;
    109 
    110   if (PageID = AAXDirPage.ID) then
    111   begin
    112     Result := True;
    113     Log('Selected 1: ' + WizardSelectedComponents(False)); 
    114 
    115     if IsSelected ('aax') then
    116     begin
    117       Log('Not Skipping page');
    118       Result := False;
    119     end
    120   end
    121 
    122   else if (PageID = Vst3_64DirPage.ID) then
    123   begin
    124       Result := True;
    125       Log('Selected 2: ' + WizardSelectedComponents(False));
    126 
    127       if IsSelected ('vst3_64') then
    128       begin
    129         Log('Not Skipping');
    130         Result := False;
    131       end
    132   end
    133 
    134   else if (PageID = Vst_64DirPage.ID) then
    135   begin
    136       Result := True;
    137       Log('Selected 4: ' + WizardSelectedComponents(False));
    138 
    139       if IsSelected ('vst_64') then
    140       begin
    141         Log('Not Skipping');
    142         Result := False;
    143       end
    144   end
    145   
    146   else if (PageID = StandaloneDirPage.ID) then
    147   begin
    148       Result := True;
    149       Log('Selected 6: ' + WizardSelectedComponents(False));
    150       if IsSelected ('standalone') then
    151       begin
    152         Log('Not Skipping');
    153         Result := False;
    154       end
    155   end
    156 end;
    157 
    158 function GetDir(Param: String) : String;
    159 begin
    160   if (Param = 'AAX') then
    161     Result := AAXDirPage.values[0]
    162   else if (Param = 'VST3_64') then
    163     Result := Vst3_64DirPage.values[0]
    164   else if (Param = 'VST_64') then
    165     Result := Vst_64DirPage.values[0]
    166   else if (Param = 'Standalone') then
    167     Result := StandaloneDirPage.values[0]
    168   else if (Param = 'CLAP_64') then
    169     Result := ExpandConstant('{commoncf64}\CLAP')
    170 end;
    171 
    172 function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo,
    173   MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
    174 var
    175   S: String;
    176 begin
    177   { Fill the 'Ready Memo' with the normal settings and the custom settings }
    178   S := '';
    179   S := S + MemoTypeInfo + NewLine + NewLine;
    180   S := S + MemoComponentsInfo + NewLine + NewLine;
    181   S := S + 'Destination Location:' + NewLine;
    182 
    183   if IsSelected('aax') then
    184     S := S + Space +  GetDir('AAX') + ' (AAX)' + NewLine;
    185 
    186   if IsSelected('vst3_64') then
    187     S := S + Space +  GetDir('VST3_64') + ' (VST3 64-bit)' + NewLine;
    188 
    189   if IsSelected('vst_64') then
    190     S := S + Space +  GetDir('VST_64') + ' (VST 64-bit)' + NewLine;
    191 
    192   if IsSelected('clap_64') then
    193     S := S + Space +  GetDir('CLAP_64') + ' (CLAP 64-bit)' + NewLine;
    194 
    195   if IsSelected('standalone') then
    196     S := S + Space +  GetDir('Standalone') + ' (Standalone)' + NewLine;
    197 
    198   Result := S;
    199 end;