202 lines
4.5 KiB
Plaintext
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
|