aboutsummaryrefslogtreecommitdiff
path: root/Src/installer/SDK/WA_SDK.nsi
diff options
context:
space:
mode:
Diffstat (limited to 'Src/installer/SDK/WA_SDK.nsi')
-rw-r--r--Src/installer/SDK/WA_SDK.nsi201
1 files changed, 201 insertions, 0 deletions
diff --git a/Src/installer/SDK/WA_SDK.nsi b/Src/installer/SDK/WA_SDK.nsi
new file mode 100644
index 00000000..17f2209c
--- /dev/null
+++ b/Src/installer/SDK/WA_SDK.nsi
@@ -0,0 +1,201 @@
+; 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