WA_SDK.nsi 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. ; WA_SDK.nsi
  2. ; This script will collect the files in Winamp SDK and create an installer for them
  3. ;------------------------
  4. !ifndef VERSION
  5. !define VERSION "5.9"
  6. !endif
  7. !define PRODUCT_NAME "Winamp ${VERSION} SDK"
  8. ; This is where all projects live. Ensure this is the correct relative path.
  9. !ifndef PROJECTS
  10. !define PROJECTS "..\.."
  11. !endif
  12. ; Hinterland repo
  13. !ifndef Hinterland
  14. !define Hinterland "..\..\..\..\Hinterland"
  15. !endif
  16. ; Path to SDK Plugins
  17. !ifndef SDKPlugins
  18. !define SDKPlugins "..\..\Plugins\SDK"
  19. !endif
  20. ; Path to Gen Plugins
  21. !ifndef GenPlugins
  22. !define GenPlugins "..\..\Plugins\General"
  23. !endif
  24. ; Path to Input Plugins
  25. !ifndef InPlugins
  26. !define InPlugins "..\..\Plugins\Input"
  27. !endif
  28. ; Path to Enc Plugins
  29. !ifndef EncPlugins
  30. !define EncPlugins "..\..\Plugins\Encoder"
  31. !endif
  32. ; Path to Library Plugins
  33. !ifndef LibPlugins
  34. !define LibPlugins "..\..\Plugins\Library"
  35. !endif
  36. ; Path to Output Plugins
  37. !ifndef OutPlugins
  38. !define OutPlugins "..\..\Plugins\Output"
  39. !endif
  40. ; Path to DSP Plugins
  41. !ifndef DSPPlugins
  42. !define DSPPlugins "..\..\Plugins\DSP"
  43. !endif
  44. ; Path to Portable Plugins
  45. !ifndef PortablePlugins
  46. !define PortablePlugins "..\..\Plugins\Portable"
  47. !endif
  48. ; Path to Vis Plugins
  49. !ifndef VisPlugins
  50. !define VisPlugins "..\..\Plugins\Visualization"
  51. !endif
  52. !define old_stuff_for_reference
  53. !define WINAMP "Winamp"
  54. !define UNINSTALLER "WA${VERSION}_SDK_Uninstaller.exe"
  55. ;Set Compression
  56. SetCompress force
  57. SetCompressor /solid lzma
  58. !include "sections.nsh"
  59. !include "LogicLib.nsh"
  60. !include "WordFunc.nsh"
  61. XPStyle on
  62. ;Request Administrator Privileges
  63. RequestExecutionLevel user
  64. ;Version information for Windows Explorer
  65. VIProductVersion "5.9.0.0"
  66. VIAddVersionKey "ProductName" "${PRODUCT_NAME}"
  67. VIAddVersionKey "Comments" "Winamp SDK Installer"
  68. VIAddVersionKey "LegalCopyright" "Copyright © 1997-2022 Winamp SA"
  69. VIAddVersionKey "CompanyName" "Winamp SA"
  70. VIAddVersionKey "FileDescription" "${PRODUCT_NAME} Installer"
  71. VIAddVersionKey "FileVersion" "5.9.0.0"
  72. VIAddVersionKey "ProductVersion" "5.9.0.0"
  73. ;------------------------
  74. Name "Winamp ${VERSION} SDK"
  75. OutFile "WA${VERSION}_SDK.exe"
  76. InstallDir "$PROGRAMFILES\Winamp SDK"
  77. Page Directory
  78. Page instfiles
  79. Section ""
  80. ; APIs
  81. !include "winamp_api.nsh"
  82. !include "ml_api.nsh"
  83. !include "wasabi.nsh"
  84. !include "bfc.nsh"
  85. !include "xml.nsh"
  86. !include "playlist.nsh"
  87. !include "nu.nsh"
  88. !include "Agave.nsh"
  89. !include "nsv.nsh"
  90. !include "burner.nsh"
  91. ; examples
  92. !include "gen_tray.nsh"
  93. !include "enc_flac.nsh"
  94. !include "in_flac.nsh"
  95. !include "ml_bookmarks.nsh"
  96. !include "xspf.nsh"
  97. ; Previously moved to Hinterland. Now updated / migrated to VS2019...
  98. !include "ml_xmlex.nsh"
  99. !include "plLoadEx.nsh"
  100. !include "dsp_test.nsh"
  101. !include "in_tone.nsh"
  102. !include "coverdirectory.nsh"
  103. !include "irctell.nsh"
  104. !include "ml_iso.nsh"
  105. !include "out_null.nsh"
  106. !include "gen_classicart.nsh"
  107. ; These old plugins were moved to Hinterland and do not compile under VS2019, so let's remove them from the SDK
  108. ;!include "in_chain.nsh"
  109. ;!include "in_raw.nsh"
  110. ;!include "ml_http.nsh"
  111. ;!include "mlExplorer.nsh"
  112. ; skinning
  113. !include "maki.nsh"
  114. ; open source
  115. !include "ReplayGainAnalysis.nsh"
  116. !include "nde.nsh"
  117. ; TODO
  118. ; example using api_tagz
  119. ; example using hotkeys
  120. ; example using api_decodefile
  121. ; vis_avs
  122. ; jnetlib (but which one? dll or w5s?)
  123. ; file reader API
  124. ; example using api_random (maybe by adding noise generator to dsp_test)
  125. !ifdef old_stuff_for_reference
  126. SetOutPath $INSTDIR\gen_ml
  127. File ${GenPlugins}\gen_ml\gaystring.h ; this needs replacing
  128. File ${GenPlugins}\gen_ml\gaystring.cpp ; this needs replacing
  129. File ${GenPlugins}\gen_ml\itemlist.cpp
  130. File ${GenPlugins}\gen_ml\itemlist.h
  131. File ${GenPlugins}\gen_ml\listview.cpp
  132. File ${GenPlugins}\gen_ml\listview.h
  133. File ${GenPlugins}\gen_ml\ml_ipc.h
  134. File ${GenPlugins}\gen_ml\ml_lib.cpp
  135. SetOutPath $INSTDIR\vis
  136. File ${PROJECTS}\resources\SDK\wa5vis.txt
  137. SetOutPath $INSTDIR\vis\vis_avs\apesdk
  138. File /x CVS ${VisPlugins}\vis_avs\apesdk\*.*
  139. SetOutPath $INSTDIR\vis\vis_avs\ns-eel2
  140. File /x CVS ${PROJECTS}\ns-eel2\*.*
  141. SetOutPath $INSTDIR\vis\vis_test
  142. File ${Hinterland}\vis_milkdrop\svis.mak
  143. SetOutPath $INSTDIR\Winamp
  144. File ${GenPlugins}\gen_hotkeys\wa_hotkeys.h
  145. File ${PROJECTS}\Winamp\api_random.h
  146. File ${PROJECTS}\Winamp\api_decodefile.h
  147. File ${PROJECTS}\Winamp\api_audiostream.h
  148. SetOutPath $INSTDIR\tagz
  149. File ${PROJECTS}\tagz\api_tagz.h
  150. File ${PROJECTS}\tagz\ifc_tagprovider.h
  151. File ${PROJECTS}\tagz\ifc_tagparams.h
  152. File /oname=$INSTDIR\readme.txt ${PROJECTS}\Resources\SDK\sdkreadme.txt
  153. !endif
  154. WriteUninstaller "$INSTDIR\${UNINSTALLER}"
  155. SectionEnd
  156. Section "Uninstall"
  157. Delete $INSTDIR\*.*
  158. RMDir $INSTDIR
  159. SectionEnd