winamp/Src/installer/SDK/WA_SDK.nsi
2024-09-24 14:54:57 +02:00

202 lines
4.5 KiB
Plaintext

; WA_SDK.nsi
; This script will collect the files in Winamp SDK and create an installer for them
;------------------------
!ifndef VERSION
!define VERSION "5.9"
!endif
!define PRODUCT_NAME "Winamp ${VERSION} SDK"
; This is where all projects live. Ensure this is the correct relative path.
!ifndef PROJECTS
!define PROJECTS "..\.."
!endif
; Hinterland repo
!ifndef Hinterland
!define Hinterland "..\..\..\..\Hinterland"
!endif
; Path to SDK Plugins
!ifndef SDKPlugins
!define SDKPlugins "..\..\Plugins\SDK"
!endif
; Path to Gen Plugins
!ifndef GenPlugins
!define GenPlugins "..\..\Plugins\General"
!endif
; Path to Input Plugins
!ifndef InPlugins
!define InPlugins "..\..\Plugins\Input"
!endif
; Path to Enc Plugins
!ifndef EncPlugins
!define EncPlugins "..\..\Plugins\Encoder"
!endif
; Path to Library Plugins
!ifndef LibPlugins
!define LibPlugins "..\..\Plugins\Library"
!endif
; Path to Output Plugins
!ifndef OutPlugins
!define OutPlugins "..\..\Plugins\Output"
!endif
; Path to DSP Plugins
!ifndef DSPPlugins
!define DSPPlugins "..\..\Plugins\DSP"
!endif
; Path to Portable Plugins
!ifndef PortablePlugins
!define PortablePlugins "..\..\Plugins\Portable"
!endif
; Path to Vis Plugins
!ifndef VisPlugins
!define VisPlugins "..\..\Plugins\Visualization"
!endif
!define old_stuff_for_reference
!define WINAMP "Winamp"
!define UNINSTALLER "WA${VERSION}_SDK_Uninstaller.exe"
;Set Compression
SetCompress force
SetCompressor /solid lzma
!include "sections.nsh"
!include "LogicLib.nsh"
!include "WordFunc.nsh"
XPStyle on
;Request Administrator Privileges
RequestExecutionLevel user
;Version information for Windows Explorer
VIProductVersion "5.9.0.0"
VIAddVersionKey "ProductName" "${PRODUCT_NAME}"
VIAddVersionKey "Comments" "Winamp SDK Installer"
VIAddVersionKey "LegalCopyright" "Copyright © 1997-2022 Winamp SA"
VIAddVersionKey "CompanyName" "Winamp SA"
VIAddVersionKey "FileDescription" "${PRODUCT_NAME} Installer"
VIAddVersionKey "FileVersion" "5.9.0.0"
VIAddVersionKey "ProductVersion" "5.9.0.0"
;------------------------
Name "Winamp ${VERSION} SDK"
OutFile "WA${VERSION}_SDK.exe"
InstallDir "$PROGRAMFILES\Winamp SDK"
Page Directory
Page instfiles
Section ""
; APIs
!include "winamp_api.nsh"
!include "ml_api.nsh"
!include "wasabi.nsh"
!include "bfc.nsh"
!include "xml.nsh"
!include "playlist.nsh"
!include "nu.nsh"
!include "Agave.nsh"
!include "nsv.nsh"
!include "burner.nsh"
; examples
!include "gen_tray.nsh"
!include "enc_flac.nsh"
!include "in_flac.nsh"
!include "ml_bookmarks.nsh"
!include "xspf.nsh"
; Previously moved to Hinterland. Now updated / migrated to VS2019...
!include "ml_xmlex.nsh"
!include "plLoadEx.nsh"
!include "dsp_test.nsh"
!include "in_tone.nsh"
!include "coverdirectory.nsh"
!include "irctell.nsh"
!include "ml_iso.nsh"
!include "out_null.nsh"
!include "gen_classicart.nsh"
; These old plugins were moved to Hinterland and do not compile under VS2019, so let's remove them from the SDK
;!include "in_chain.nsh"
;!include "in_raw.nsh"
;!include "ml_http.nsh"
;!include "mlExplorer.nsh"
; skinning
!include "maki.nsh"
; open source
!include "ReplayGainAnalysis.nsh"
!include "nde.nsh"
; TODO
; example using api_tagz
; example using hotkeys
; example using api_decodefile
; vis_avs
; jnetlib (but which one? dll or w5s?)
; file reader API
; example using api_random (maybe by adding noise generator to dsp_test)
!ifdef old_stuff_for_reference
SetOutPath $INSTDIR\gen_ml
File ${GenPlugins}\gen_ml\gaystring.h ; this needs replacing
File ${GenPlugins}\gen_ml\gaystring.cpp ; this needs replacing
File ${GenPlugins}\gen_ml\itemlist.cpp
File ${GenPlugins}\gen_ml\itemlist.h
File ${GenPlugins}\gen_ml\listview.cpp
File ${GenPlugins}\gen_ml\listview.h
File ${GenPlugins}\gen_ml\ml_ipc.h
File ${GenPlugins}\gen_ml\ml_lib.cpp
SetOutPath $INSTDIR\vis
File ${PROJECTS}\resources\SDK\wa5vis.txt
SetOutPath $INSTDIR\vis\vis_avs\apesdk
File /x CVS ${VisPlugins}\vis_avs\apesdk\*.*
SetOutPath $INSTDIR\vis\vis_avs\ns-eel2
File /x CVS ${PROJECTS}\ns-eel2\*.*
SetOutPath $INSTDIR\vis\vis_test
File ${Hinterland}\vis_milkdrop\svis.mak
SetOutPath $INSTDIR\Winamp
File ${GenPlugins}\gen_hotkeys\wa_hotkeys.h
File ${PROJECTS}\Winamp\api_random.h
File ${PROJECTS}\Winamp\api_decodefile.h
File ${PROJECTS}\Winamp\api_audiostream.h
SetOutPath $INSTDIR\tagz
File ${PROJECTS}\tagz\api_tagz.h
File ${PROJECTS}\tagz\ifc_tagprovider.h
File ${PROJECTS}\tagz\ifc_tagparams.h
File /oname=$INSTDIR\readme.txt ${PROJECTS}\Resources\SDK\sdkreadme.txt
!endif
WriteUninstaller "$INSTDIR\${UNINSTALLER}"
SectionEnd
Section "Uninstall"
Delete $INSTDIR\*.*
RMDir $INSTDIR
SectionEnd