Browse code

Remove a bit more of wxWidgets that I don't need.

Naram Qashat authored on 2021/04/11 02:56:26
Showing 1 changed files
... ...
@@ -40,9 +40,11 @@ set(wxUSE_COLOURPICKERCTRL OFF CACHE BOOL " " FORCE)
40 40
 set(wxUSE_COMBOBOX OFF CACHE BOOL " " FORCE)
41 41
 set(wxUSE_COMBOCTRL OFF CACHE BOOL " " FORCE)
42 42
 set(wxUSE_COMMANDLINKBUTTON OFF CACHE BOOL " " FORCE)
43
+set(wxUSE_COMMON_DIALOGS OFF CACHE BOOL " " FORCE)
43 44
 set(wxUSE_CONFIG OFF CACHE BOOL " " FORCE)
44 45
 set(wxUSE_CONSOLE_EVENTLOOP OFF CACHE BOOL " " FORCE)
45 46
 set(wxUSE_CRASHREPORT OFF CACHE BOOL " " FORCE)
47
+set(wxUSE_CREDENTIALDLG OFF CACHE BOOL " " FORCE)
46 48
 set(wxUSE_DATAVIEWCTRL OFF CACHE BOOL " " FORCE)
47 49
 set(wxUSE_DATEPICKCTRL OFF CACHE BOOL " " FORCE)
48 50
 set(wxUSE_DATETIME OFF CACHE BOOL " " FORCE)
... ...
@@ -56,6 +58,7 @@ set(wxUSE_DISPLAY OFF CACHE BOOL " " FORCE)
56 58
 set(wxUSE_DOC_VIEW_ARCHITECTURE OFF CACHE BOOL " " FORCE)
57 59
 set(wxUSE_DRAG_AND_DROP OFF CACHE BOOL " " FORCE)
58 60
 set(wxUSE_DRAGIMAGE OFF CACHE BOOL " " FORCE)
61
+set(wxUSE_DYNAMIC_LOADER OFF CACHE BOOL " " FORCE)
59 62
 set(wxUSE_EDITABLELISTBOX OFF CACHE BOOL " " FORCE)
60 63
 set(wxUSE_EXPAT OFF CACHE STRING " " FORCE)
61 64
 set(wxUSE_FILE_HISTORY OFF CACHE BOOL " " FORCE)
... ...
@@ -77,6 +80,8 @@ set(wxUSE_GEOMETRY OFF CACHE BOOL " " FORCE)
77 80
 set(wxUSE_GIF OFF CACHE BOOL " " FORCE)
78 81
 set(wxUSE_GRAPHICS_CONTEXT OFF CACHE BOOL " " FORCE)
79 82
 set(wxUSE_GRAPHICS_DIRECT2D OFF CACHE BOOL " " FORCE)
83
+set(wxUSE_GRID OFF CACHE BOOL " " FORCE)
84
+set(wxUSE_HEADERCTL OFF CACHE BOOL " " FORCE)
80 85
 set(wxUSE_HELP OFF CACHE BOOL " " FORCE)
81 86
 set(wxUSE_HOTKEY OFF CACHE BOOL " " FORCE)
82 87
 set(wxUSE_HTML OFF CACHE BOOL " " FORCE)
... ...
@@ -138,6 +143,7 @@ set(wxUSE_RICHMSGDLG OFF CACHE BOOL " " FORCE)
138 143
 set(wxUSE_RICHTEXT OFF CACHE BOOL " " FORCE)
139 144
 set(wxUSE_RICHTOOLTIP OFF CACHE BOOL " " FORCE)
140 145
 set(wxUSE_SASH OFF CACHE BOOL " " FORCE)
146
+set(wxUSE_SCROLLBAR OFF CACHE BOOL " " FORCE)
141 147
 set(wxUSE_SEARCHCTRL OFF CACHE BOOL " " FORCE)
142 148
 set(wxUSE_SECRETSTORE OFF CACHE BOOL " " FORCE)
143 149
 set(wxUSE_SLIDER OFF CACHE BOOL " " FORCE)
... ...
@@ -183,6 +189,8 @@ set(wxUSE_TREELISTCTRL OFF CACHE BOOL " " FORCE)
183 189
 set(wxUSE_UIACTIONSIMULATOR OFF CACHE BOOL " " FORCE)
184 190
 set(wxUSE_UNSAFE_WXSTRING_CONV OFF CACHE BOOL " " FORCE)
185 191
 set(wxUSE_URL OFF CACHE BOOL " " FORCE)
192
+set(wxUSE_WEBREQUEST OFF CACHE BOOL " " FORCE)
193
+set(wxUSE_WEBREQUEST_WINHTTP OFF CACHE BOOL " " FORCE)
186 194
 set(wxUSE_WEBVIEW OFF CACHE BOOL " " FORCE)
187 195
 set(wxUSE_WEBVIEW_IE OFF CACHE BOOL " " FORCE)
188 196
 set(wxUSE_WEBVIEW_WEBKIT OFF CACHE BOOL " " FORCE)
Browse code

Replace the Sound View dialog with a wxWidgets-based one.

* Removes the one that was orignally based entirely on the DeSmuME one, while still looking most the same but cleaner.
* To accommodate this, I needed to rework how wxWidgets was initialized so the configuration dialog boxes could also work alongside this.
* Needed to add a custom wxApp to handle the above.
* This also means that the configuration dialog no longer needs the plugin's HINSTANCE passed along.
* Had to not disable wxGauge or wxToogleButton for the Sound View dialog.
* Also remove the now-unneeded enums in the XSFConfig*.cpp files.
* Sound View is still done in a thread so its event loop can run independently from the rest of the plugin.
* XSFConfig_NCSF doesn't need to be the one to start the Sound View dialog now.

Naram Qashat authored on 2021/04/10 15:19:43
Showing 1 changed files
... ...
@@ -73,7 +73,6 @@ set(wxUSE_FS_INET OFF CACHE BOOL " " FORCE)
73 73
 set(wxUSE_FS_ZIP OFF CACHE BOOL " " FORCE)
74 74
 set(wxUSE_FSVOLUME OFF CACHE BOOL " " FORCE)
75 75
 set(wxUSE_FSWATCHER OFF CACHE BOOL " " FORCE)
76
-set(wxUSE_GAUGE OFF CACHE BOOL " " FORCE)
77 76
 set(wxUSE_GEOMETRY OFF CACHE BOOL " " FORCE)
78 77
 set(wxUSE_GIF OFF CACHE BOOL " " FORCE)
79 78
 set(wxUSE_GRAPHICS_CONTEXT OFF CACHE BOOL " " FORCE)
... ...
@@ -174,7 +173,6 @@ set(wxUSE_THREADS OFF CACHE BOOL " " FORCE)
174 173
 set(wxUSE_TIMEPICKCTRL OFF CACHE BOOL " " FORCE)
175 174
 set(wxUSE_TIMER OFF CACHE BOOL " " FORCE)
176 175
 set(wxUSE_TIPWINDOW OFF CACHE BOOL " " FORCE)
177
-set(wxUSE_TOGGLEBTN OFF CACHE BOOL " " FORCE)
178 176
 set(wxUSE_TOOLBAR OFF CACHE BOOL " " FORCE)
179 177
 set(wxUSE_TOOLBAR_NATIVE OFF CACHE BOOL " " FORCE)
180 178
 set(wxUSE_TOOLBOOK OFF CACHE BOOL " " FORCE)
... ...
@@ -215,6 +213,7 @@ set(HEADERS
215 213
 	RegExValidator.h
216 214
 	TagList.h
217 215
 	windowsh_wrapper.h
216
+	XSFApp.h
218 217
 	XSFCommon.h
219 218
 	XSFConfig.h
220 219
 	XSFConfigDialog.h
... ...
@@ -225,6 +224,7 @@ set(SOURCES
225 224
 	in_xsf.cpp
226 225
 	RegExValidator.cpp
227 226
 	TagList.cpp
227
+	XSFApp.cpp
228 228
 	XSFConfig.cpp
229 229
 	XSFConfig_Winamp.cpp
230 230
 	XSFConfigDialog.cpp
Browse code

Revert "Removed my clamp function to use the C++17 one."

This reverts commit 781afb69fea3ab7399fa53320e986f1ea09994e2.

Naram Qashat authored on 2021/04/06 09:55:51
Showing 1 changed files
... ...
@@ -243,7 +243,7 @@ target_compile_definitions(in_xsf_framework PUBLIC
243 243
 target_compile_options(in_xsf_framework PUBLIC
244 244
 	$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>:-Wall -Wctor-dtor-privacy -Wold-style-cast -Wextra -Wno-div-by-zero -Wfloat-equal -Wshadow -Winit-self -Wcast-qual -Wunreachable-code -Woverloaded-virtual -Wno-long-long -Wno-switch>
245 245
 	$<$<CXX_COMPILER_ID:GNU>:-Wlogical-op>
246
-	$<$<CXX_COMPILER_ID:MSVC>:/W4 /wd4244 /wd4834 /wd6258 /wd26451 /wd28159>)
246
+	$<$<CXX_COMPILER_ID:MSVC>:/W4 /wd4244 /wd6258 /wd26451 /wd28159>)
247 247
 target_include_directories(in_xsf_framework PUBLIC
248 248
 	${CMAKE_CURRENT_SOURCE_DIR}
249 249
 	${CMAKE_CURRENT_SOURCE_DIR}/winamp
Browse code

Removed my clamp function to use the C++17 one.

Naram Qashat authored on 2021/04/06 00:05:39
Showing 1 changed files
... ...
@@ -243,7 +243,7 @@ target_compile_definitions(in_xsf_framework PUBLIC
243 243
 target_compile_options(in_xsf_framework PUBLIC
244 244
 	$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>:-Wall -Wctor-dtor-privacy -Wold-style-cast -Wextra -Wno-div-by-zero -Wfloat-equal -Wshadow -Winit-self -Wcast-qual -Wunreachable-code -Woverloaded-virtual -Wno-long-long -Wno-switch>
245 245
 	$<$<CXX_COMPILER_ID:GNU>:-Wlogical-op>
246
-	$<$<CXX_COMPILER_ID:MSVC>:/W4 /wd4244 /wd6258 /wd26451 /wd28159>)
246
+	$<$<CXX_COMPILER_ID:MSVC>:/W4 /wd4244 /wd4834 /wd6258 /wd26451 /wd28159>)
247 247
 target_include_directories(in_xsf_framework PUBLIC
248 248
 	${CMAKE_CURRENT_SOURCE_DIR}
249 249
 	${CMAKE_CURRENT_SOURCE_DIR}/winamp
Browse code

Add warnings to building with GCC/Clang.

* These were mostly copied from the old Makefile.
* The files including wxWidgets need -Wno-old-style-cast done in the code via pragmas because I do not want to disable that warning for the rest of the files. (It might've been overkill for some places where wxWidgets was included, but whatever.)

Naram Qashat authored on 2021/04/04 23:35:09
Showing 1 changed files
... ...
@@ -236,10 +236,13 @@ source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEAD
236 236
 source_group("Source Files" ${SOURCES})
237 237
 target_compile_definitions(in_xsf_framework PUBLIC
238 238
 	_CRT_SECURE_NO_WARNINGS
239
+	_WINDOWS
239 240
 	WINAMP_PLUGIN
240 241
 	UNICODE_INPUT_PLUGIN
241 242
 	$<$<AND:$<CXX_COMPILER_ID:MSVC>,$<CONFIG:Debug>>:_ITERATOR_DEBUG_LEVEL=0>)
242 243
 target_compile_options(in_xsf_framework PUBLIC
244
+	$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>:-Wall -Wctor-dtor-privacy -Wold-style-cast -Wextra -Wno-div-by-zero -Wfloat-equal -Wshadow -Winit-self -Wcast-qual -Wunreachable-code -Woverloaded-virtual -Wno-long-long -Wno-switch>
245
+	$<$<CXX_COMPILER_ID:GNU>:-Wlogical-op>
243 246
 	$<$<CXX_COMPILER_ID:MSVC>:/W4 /wd4244 /wd6258 /wd26451 /wd28159>)
244 247
 target_include_directories(in_xsf_framework PUBLIC
245 248
 	${CMAKE_CURRENT_SOURCE_DIR}
Browse code

Add wxWidgets-based configuration dialog boxes.

* Removes the configuration dialog boxes that used my DialogBuilder.
* Move default configuration values to be inlined within the headers.
* Moved 2SF's and GSF's XSFConfig classes to their own headers to accommodate the new wxWidgets dialog boxes.
* Make it so NCSF's SoundView dialog can be toggled on or off from the configuration dialog box.

Naram Qashat authored on 2021/04/04 12:46:14
Showing 1 changed files
... ...
@@ -198,6 +198,7 @@ set(wxUSE_XRC OFF CACHE BOOL " " FORCE)
198 198
 set(wxUSE_ZIPSTREAM OFF CACHE BOOL " " FORCE)
199 199
 set(wxUSE_ZLIB OFF CACHE STRING " " FORCE)
200 200
 
201
+add_compile_definitions($<$<AND:$<CXX_COMPILER_ID:MSVC>,$<CONFIG:Debug>>:_ITERATOR_DEBUG_LEVEL=0>)
201 202
 add_subdirectory(wxWidgets)
202 203
 
203 204
 # in_xsf_framework
... ...
@@ -216,6 +217,7 @@ set(HEADERS
216 217
 	windowsh_wrapper.h
217 218
 	XSFCommon.h
218 219
 	XSFConfig.h
220
+	XSFConfigDialog.h
219 221
 	XSFFile.h
220 222
 	XSFPlayer.h)
221 223
 set(SOURCES
... ...
@@ -225,6 +227,7 @@ set(SOURCES
225 227
 	TagList.cpp
226 228
 	XSFConfig.cpp
227 229
 	XSFConfig_Winamp.cpp
230
+	XSFConfigDialog.cpp
228 231
 	XSFFile.cpp
229 232
 	XSFPlayer.cpp)
230 233
 
Browse code

Also add the RegEx validator to the CMake script.

Naram Qashat authored on 2021/03/29 22:59:16
Showing 1 changed files
... ...
@@ -211,6 +211,7 @@ set(HEADERS
211 211
 	DialogBuilder.h
212 212
 	eqstr.h
213 213
 	ltstr.h
214
+	RegExValidator.h
214 215
 	TagList.h
215 216
 	windowsh_wrapper.h
216 217
 	XSFCommon.h
... ...
@@ -220,6 +221,7 @@ set(HEADERS
220 221
 set(SOURCES
221 222
 	DialogBuilder.cpp
222 223
 	in_xsf.cpp
224
+	RegExValidator.cpp
223 225
 	TagList.cpp
224 226
 	XSFConfig.cpp
225 227
 	XSFConfig_Winamp.cpp
Browse code

Silence various Visual Studio warnings:

* Fix the ones in my code where I could use a proper type or valid casts.
* Ignore the designer-time and compiler-time warnings in vendor code or in my code where I am unable to suppress them via casting.
(Most of these were ignored already before introducing the CMake scripts, because they were in vendor code or were annoying to deal with.)

Naram Qashat authored on 2021/03/29 00:10:11
Showing 1 changed files
... ...
@@ -235,7 +235,7 @@ target_compile_definitions(in_xsf_framework PUBLIC
235 235
 	UNICODE_INPUT_PLUGIN
236 236
 	$<$<AND:$<CXX_COMPILER_ID:MSVC>,$<CONFIG:Debug>>:_ITERATOR_DEBUG_LEVEL=0>)
237 237
 target_compile_options(in_xsf_framework PUBLIC
238
-	$<$<CXX_COMPILER_ID:MSVC>:/W4>)
238
+	$<$<CXX_COMPILER_ID:MSVC>:/W4 /wd4244 /wd6258 /wd26451 /wd28159>)
239 239
 target_include_directories(in_xsf_framework PUBLIC
240 240
 	${CMAKE_CURRENT_SOURCE_DIR}
241 241
 	${CMAKE_CURRENT_SOURCE_DIR}/winamp
Browse code

Add CMake scripts in preparation for wxWidgets changes.

(One downside here, zlib's CMake script renames its zconf.h... which in turn means that the submodule now thinks there are uncommitted changes. :/)

Naram Qashat authored on 2021/03/28 19:43:33
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,247 @@
1
+# zlib
2
+add_subdirectory(zlib)
3
+
4
+# wxWidgets
5
+# Force settings
6
+set(wxBUILD_COMPATIBILITY 3.1 CACHE STRING " " FORCE)
7
+set(wxBUILD_INSTALL OFF CACHE BOOL " " FORCE)
8
+set(wxBUILD_OPTIMIZE ON CACHE BOOL " " FORCE)
9
+set(wxBUILD_PRECOMP OFF CACHE BOOL " " FORCE)
10
+set(wxBUILD_SHARED OFF CACHE BOOL " " FORCE)
11
+set(wxUSE_ABOUTDLG OFF CACHE BOOL " " FORCE)
12
+set(wxUSE_ACCEL OFF CACHE BOOL " " FORCE)
13
+set(wxUSE_ACCESSIBILITY OFF CACHE BOOL " " FORCE)
14
+set(wxUSE_ACTIVEX OFF CACHE BOOL " " FORCE)
15
+set(wxUSE_ACTIVITYINDICATOR OFF CACHE BOOL " " FORCE)
16
+set(wxUSE_ADDREMOVECTRL OFF CACHE BOOL " " FORCE)
17
+set(wxUSE_AFM_FOR_POSTSCRIPT OFF CACHE BOOL " " FORCE)
18
+set(wxUSE_ANIMATIONCTRL OFF CACHE BOOL " " FORCE)
19
+set(wxUSE_ANY OFF CACHE BOOL " " FORCE)
20
+set(wxUSE_APPLE_IEEE OFF CACHE BOOL " " FORCE)
21
+set(wxUSE_ARCHIVE_STREAMS OFF CACHE BOOL " " FORCE)
22
+set(wxUSE_ARTPROVIDER_STD OFF CACHE BOOL " " FORCE)
23
+set(wxUSE_ARTPROVIDER_TANGO OFF CACHE BOOL " " FORCE)
24
+set(wxUSE_AUI OFF CACHE BOOL " " FORCE)
25
+set(wxUSE_BANNERWINDOW OFF CACHE BOOL " " FORCE)
26
+set(wxUSE_BASE64 OFF CACHE BOOL " " FORCE)
27
+set(wxUSE_BITMAPCOMBOBOX OFF CACHE BOOL " " FORCE)
28
+set(wxUSE_BMPBUTTON OFF CACHE BOOL " " FORCE)
29
+set(wxUSE_BUSYINFO OFF CACHE BOOL " " FORCE)
30
+set(wxUSE_CALENDARCTRL OFF CACHE BOOL " " FORCE)
31
+set(wxUSE_CARET OFF CACHE BOOL " " FORCE)
32
+set(wxUSE_CHECKLISTBOX OFF CACHE BOOL " " FORCE)
33
+set(wxUSE_CHOICEBOOK OFF CACHE BOOL " " FORCE)
34
+set(wxUSE_CHOICEDLG OFF CACHE BOOL " " FORCE)
35
+set(wxUSE_CLIPBOARD OFF CACHE BOOL " " FORCE)
36
+set(wxUSE_CMDLINE_PARSER OFF CACHE BOOL " " FORCE)
37
+set(wxUSE_COLLPANE OFF CACHE BOOL " " FORCE)
38
+set(wxUSE_COLOURDLG OFF CACHE BOOL " " FORCE)
39
+set(wxUSE_COLOURPICKERCTRL OFF CACHE BOOL " " FORCE)
40
+set(wxUSE_COMBOBOX OFF CACHE BOOL " " FORCE)
41
+set(wxUSE_COMBOCTRL OFF CACHE BOOL " " FORCE)
42
+set(wxUSE_COMMANDLINKBUTTON OFF CACHE BOOL " " FORCE)
43
+set(wxUSE_CONFIG OFF CACHE BOOL " " FORCE)
44
+set(wxUSE_CONSOLE_EVENTLOOP OFF CACHE BOOL " " FORCE)
45
+set(wxUSE_CRASHREPORT OFF CACHE BOOL " " FORCE)
46
+set(wxUSE_DATAVIEWCTRL OFF CACHE BOOL " " FORCE)
47
+set(wxUSE_DATEPICKCTRL OFF CACHE BOOL " " FORCE)
48
+set(wxUSE_DATETIME OFF CACHE BOOL " " FORCE)
49
+set(wxUSE_DBGHELP OFF CACHE BOOL " " FORCE)
50
+set(wxUSE_DC_TRANSFORM_MATRIX OFF CACHE BOOL " " FORCE)
51
+set(wxUSE_DEBUGREPORT OFF CACHE BOOL " " FORCE)
52
+set(wxUSE_DIALUP_MANAGER OFF CACHE BOOL " " FORCE)
53
+set(wxUSE_DIRDLG OFF CACHE BOOL " " FORCE)
54
+set(wxUSE_DIRPICKERCTRL OFF CACHE BOOL " " FORCE)
55
+set(wxUSE_DISPLAY OFF CACHE BOOL " " FORCE)
56
+set(wxUSE_DOC_VIEW_ARCHITECTURE OFF CACHE BOOL " " FORCE)
57
+set(wxUSE_DRAG_AND_DROP OFF CACHE BOOL " " FORCE)
58
+set(wxUSE_DRAGIMAGE OFF CACHE BOOL " " FORCE)
59
+set(wxUSE_EDITABLELISTBOX OFF CACHE BOOL " " FORCE)
60
+set(wxUSE_EXPAT OFF CACHE STRING " " FORCE)
61
+set(wxUSE_FILE_HISTORY OFF CACHE BOOL " " FORCE)
62
+set(wxUSE_FILECTRL OFF CACHE BOOL " " FORCE)
63
+set(wxUSE_FILEDLG OFF CACHE BOOL " " FORCE)
64
+set(wxUSE_FILEPICKERCTRL OFF CACHE BOOL " " FORCE)
65
+set(wxUSE_FILESYSTEM OFF CACHE BOOL " " FORCE)
66
+set(wxUSE_FINDREPLDLG OFF CACHE BOOL " " FORCE)
67
+set(wxUSE_FONTDLG OFF CACHE BOOL " " FORCE)
68
+set(wxUSE_FONTENUM OFF CACHE BOOL " " FORCE)
69
+set(wxUSE_FONTMAP OFF CACHE BOOL " " FORCE)
70
+set(wxUSE_FONTPICKERCTRL OFF CACHE BOOL " " FORCE)
71
+set(wxUSE_FS_ARCHIVE OFF CACHE BOOL " " FORCE)
72
+set(wxUSE_FS_INET OFF CACHE BOOL " " FORCE)
73
+set(wxUSE_FS_ZIP OFF CACHE BOOL " " FORCE)
74
+set(wxUSE_FSVOLUME OFF CACHE BOOL " " FORCE)
75
+set(wxUSE_FSWATCHER OFF CACHE BOOL " " FORCE)
76
+set(wxUSE_GAUGE OFF CACHE BOOL " " FORCE)
77
+set(wxUSE_GEOMETRY OFF CACHE BOOL " " FORCE)
78
+set(wxUSE_GIF OFF CACHE BOOL " " FORCE)
79
+set(wxUSE_GRAPHICS_CONTEXT OFF CACHE BOOL " " FORCE)
80
+set(wxUSE_GRAPHICS_DIRECT2D OFF CACHE BOOL " " FORCE)
81
+set(wxUSE_HELP OFF CACHE BOOL " " FORCE)
82
+set(wxUSE_HOTKEY OFF CACHE BOOL " " FORCE)
83
+set(wxUSE_HTML OFF CACHE BOOL " " FORCE)
84
+set(wxUSE_HYPERLINKCTRL OFF CACHE BOOL " " FORCE)
85
+set(wxUSE_ICO_CUR OFF CACHE BOOL " " FORCE)
86
+set(wxUSE_IFF OFF CACHE BOOL " " FORCE)
87
+set(wxUSE_INFOBAR OFF CACHE BOOL " " FORCE)
88
+set(wxUSE_INICONF OFF CACHE BOOL " " FORCE)
89
+set(wxUSE_INTL OFF CACHE BOOL " " FORCE)
90
+set(wxUSE_IPC OFF CACHE BOOL " " FORCE)
91
+set(wxUSE_IPV6 OFF CACHE BOOL " " FORCE)
92
+set(wxUSE_JOYSTICK OFF CACHE BOOL " " FORCE)
93
+set(wxUSE_LIBJPEG OFF CACHE STRING " " FORCE)
94
+set(wxUSE_LIBPNG OFF CACHE STRING " " FORCE)
95
+set(wxUSE_LIBTIFF OFF CACHE STRING " " FORCE)
96
+set(wxUSE_LISTBOOK OFF CACHE BOOL " " FORCE)
97
+set(wxUSE_LISTCTRL OFF CACHE BOOL " " FORCE)
98
+set(wxUSE_LOG OFF CACHE BOOL " " FORCE)
99
+set(wxUSE_LOG_DIALOG OFF CACHE BOOL " " FORCE)
100
+set(wxUSE_LOGGUI OFF CACHE BOOL " " FORCE)
101
+set(wxUSE_LOGWINDOW OFF CACHE BOOL " " FORCE)
102
+set(wxUSE_LONGLONG OFF CACHE BOOL " " FORCE)
103
+set(wxUSE_MARKUP OFF CACHE BOOL " " FORCE)
104
+set(wxUSE_MDI OFF CACHE BOOL " " FORCE)
105
+set(wxUSE_MDI_ARCHITECTURE OFF CACHE BOOL " " FORCE)
106
+set(wxUSE_MEDIACTRL OFF CACHE BOOL " " FORCE)
107
+set(wxUSE_METAFILE OFF CACHE BOOL " " FORCE)
108
+set(wxUSE_MIMETYPE OFF CACHE BOOL " " FORCE)
109
+set(wxUSE_MINIFRAME OFF CACHE BOOL " " FORCE)
110
+set(wxUSE_MOUSEWHEEL OFF CACHE BOOL " " FORCE)
111
+set(wxUSE_MS_HTML_HELP OFF CACHE BOOL " " FORCE)
112
+set(wxUSE_NATIVE_DATAVIEWCTRL OFF CACHE BOOL " " FORCE)
113
+set(wxUSE_NATIVE_PROGRESSDLG OFF CACHE BOOL " " FORCE)
114
+set(wxUSE_NATIVE_STATUSBAR OFF CACHE BOOL " " FORCE)
115
+set(wxUSE_NOTIFICATION_MESSAGE OFF CACHE BOOL " " FORCE)
116
+set(wxUSE_NUMBERDLG OFF CACHE BOOL " " FORCE)
117
+set(wxUSE_ODCOMBOBOX OFF CACHE BOOL " " FORCE)
118
+set(wxUSE_PALETTE OFF CACHE BOOL " " FORCE)
119
+set(wxUSE_PCX OFF CACHE BOOL " " FORCE)
120
+set(wxUSE_PNM OFF CACHE BOOL " " FORCE)
121
+set(wxUSE_POPUPWIN OFF CACHE BOOL " " FORCE)
122
+set(wxUSE_POSTSCRIPT OFF CACHE BOOL " " FORCE)
123
+set(wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW OFF CACHE BOOL " " FORCE)
124
+set(wxUSE_PREFERENCES_EDITOR OFF CACHE BOOL " " FORCE)
125
+set(wxUSE_PRINTF_POS_PARAMS OFF CACHE BOOL " " FORCE)
126
+set(wxUSE_PRINTING_ARCHITECTURE OFF CACHE BOOL " " FORCE)
127
+set(wxUSE_PROGRESSDLG OFF CACHE BOOL " " FORCE)
128
+set(wxUSE_PROPGRID OFF CACHE BOOL " " FORCE)
129
+set(wxUSE_PROTOCOL OFF CACHE BOOL " " FORCE)
130
+set(wxUSE_PROTOCOL_FILE OFF CACHE BOOL " " FORCE)
131
+set(wxUSE_PROTOCOL_FTP OFF CACHE BOOL " " FORCE)
132
+set(wxUSE_PROTOCOL_HTTP OFF CACHE BOOL " " FORCE)
133
+set(wxUSE_RADIOBOX OFF CACHE BOOL " " FORCE)
134
+set(wxUSE_RADIOBTN OFF CACHE BOOL " " FORCE)
135
+set(wxUSE_REARRANGECTRL OFF CACHE BOOL " " FORCE)
136
+set(wxUSE_REGKEY OFF CACHE BOOL " " FORCE)
137
+set(wxUSE_RIBBON OFF CACHE BOOL " " FORCE)
138
+set(wxUSE_RICHMSGDLG OFF CACHE BOOL " " FORCE)
139
+set(wxUSE_RICHTEXT OFF CACHE BOOL " " FORCE)
140
+set(wxUSE_RICHTOOLTIP OFF CACHE BOOL " " FORCE)
141
+set(wxUSE_SASH OFF CACHE BOOL " " FORCE)
142
+set(wxUSE_SEARCHCTRL OFF CACHE BOOL " " FORCE)
143
+set(wxUSE_SECRETSTORE OFF CACHE BOOL " " FORCE)
144
+set(wxUSE_SLIDER OFF CACHE BOOL " " FORCE)
145
+set(wxUSE_SNGLINST_CHECKER OFF CACHE BOOL " " FORCE)
146
+set(wxUSE_SOCKETS OFF CACHE BOOL " " FORCE)
147
+set(wxUSE_SOUND OFF CACHE BOOL " " FORCE)
148
+set(wxUSE_SPINBTN OFF CACHE BOOL " " FORCE)
149
+set(wxUSE_SPINCTRL OFF CACHE BOOL " " FORCE)
150
+set(wxUSE_SPLASH OFF CACHE BOOL " " FORCE)
151
+set(wxUSE_SPLINES OFF CACHE BOOL " " FORCE)
152
+set(wxUSE_SPLITTER OFF CACHE BOOL " " FORCE)
153
+set(wxUSE_STACKWALKER OFF CACHE BOOL " " FORCE)
154
+set(wxUSE_STARTUP_TIPS OFF CACHE BOOL " " FORCE)
155
+set(wxUSE_STATBMP OFF CACHE BOOL " " FORCE)
156
+set(wxUSE_STATBOX OFF CACHE BOOL " " FORCE)
157
+set(wxUSE_STATLINE OFF CACHE BOOL " " FORCE)
158
+set(wxUSE_STATUSBAR OFF CACHE BOOL " " FORCE)
159
+set(wxUSE_STC OFF CACHE BOOL " " FORCE)
160
+set(wxUSE_STDPATHS OFF CACHE BOOL " " FORCE)
161
+set(wxUSE_STOPWATCH OFF CACHE BOOL " " FORCE)
162
+set(wxUSE_STL ON CACHE BOOL " " FORCE)
163
+set(wxUSE_SVG OFF CACHE BOOL " " FORCE)
164
+set(wxUSE_SYSTEM_OPTIONS OFF CACHE BOOL " " FORCE)
165
+set(wxUSE_TARSTREAM OFF CACHE BOOL " " FORCE)
166
+set(wxUSE_TASKBARBUTTON OFF CACHE BOOL " " FORCE)
167
+set(wxUSE_TASKBARICON OFF CACHE BOOL " " FORCE)
168
+set(wxUSE_TASKBARICON_BALLOONS OFF CACHE BOOL " " FORCE)
169
+set(wxUSE_TEXTBUFFER OFF CACHE BOOL " " FORCE)
170
+set(wxUSE_TEXTDLG OFF CACHE BOOL " " FORCE)
171
+set(wxUSE_TEXTFILE OFF CACHE BOOL " " FORCE)
172
+set(wxUSE_TGA OFF CACHE BOOL " " FORCE)
173
+set(wxUSE_THREADS OFF CACHE BOOL " " FORCE)
174
+set(wxUSE_TIMEPICKCTRL OFF CACHE BOOL " " FORCE)
175
+set(wxUSE_TIMER OFF CACHE BOOL " " FORCE)
176
+set(wxUSE_TIPWINDOW OFF CACHE BOOL " " FORCE)
177
+set(wxUSE_TOGGLEBTN OFF CACHE BOOL " " FORCE)
178
+set(wxUSE_TOOLBAR OFF CACHE BOOL " " FORCE)
179
+set(wxUSE_TOOLBAR_NATIVE OFF CACHE BOOL " " FORCE)
180
+set(wxUSE_TOOLBOOK OFF CACHE BOOL " " FORCE)
181
+set(wxUSE_TOOLTIPS OFF CACHE BOOL " " FORCE)
182
+set(wxUSE_TREEBOOK OFF CACHE BOOL " " FORCE)
183
+set(wxUSE_TREECTRL OFF CACHE BOOL " " FORCE)
184
+set(wxUSE_TREELISTCTRL OFF CACHE BOOL " " FORCE)
185
+set(wxUSE_UIACTIONSIMULATOR OFF CACHE BOOL " " FORCE)
186
+set(wxUSE_UNSAFE_WXSTRING_CONV OFF CACHE BOOL " " FORCE)
187
+set(wxUSE_URL OFF CACHE BOOL " " FORCE)
188
+set(wxUSE_WEBVIEW OFF CACHE BOOL " " FORCE)
189
+set(wxUSE_WEBVIEW_IE OFF CACHE BOOL " " FORCE)
190
+set(wxUSE_WEBVIEW_WEBKIT OFF CACHE BOOL " " FORCE)
191
+set(wxUSE_WINRT OFF CACHE BOOL " " FORCE)
192
+set(wxUSE_WIZARDDLG OFF CACHE BOOL " " FORCE)
193
+set(wxUSE_WXHTML_HELP OFF CACHE BOOL " " FORCE)
194
+set(wxUSE_XLOCALE OFF CACHE BOOL " " FORCE)
195
+set(wxUSE_XML OFF CACHE BOOL " " FORCE)
196
+set(wxUSE_XPM OFF CACHE BOOL " " FORCE)
197
+set(wxUSE_XRC OFF CACHE BOOL " " FORCE)
198
+set(wxUSE_ZIPSTREAM OFF CACHE BOOL " " FORCE)
199
+set(wxUSE_ZLIB OFF CACHE STRING " " FORCE)
200
+
201
+add_subdirectory(wxWidgets)
202
+
203
+# in_xsf_framework
204
+set(WINAMP_HEADERS
205
+	winamp/in2.h
206
+	winamp/out.h
207
+	winamp/wa_ipc.h)
208
+set(HEADERS
209
+	${WINAMP_HEADERS}
210
+	convert.h
211
+	DialogBuilder.h
212
+	eqstr.h
213
+	ltstr.h
214
+	TagList.h
215
+	windowsh_wrapper.h
216
+	XSFCommon.h
217
+	XSFConfig.h
218
+	XSFFile.h
219
+	XSFPlayer.h)
220
+set(SOURCES
221
+	DialogBuilder.cpp
222
+	in_xsf.cpp
223
+	TagList.cpp
224
+	XSFConfig.cpp
225
+	XSFConfig_Winamp.cpp
226
+	XSFFile.cpp
227
+	XSFPlayer.cpp)
228
+
229
+add_library(in_xsf_framework STATIC ${HEADERS} ${SOURCES})
230
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
231
+source_group("Source Files" ${SOURCES})
232
+target_compile_definitions(in_xsf_framework PUBLIC
233
+	_CRT_SECURE_NO_WARNINGS
234
+	WINAMP_PLUGIN
235
+	UNICODE_INPUT_PLUGIN
236
+	$<$<AND:$<CXX_COMPILER_ID:MSVC>,$<CONFIG:Debug>>:_ITERATOR_DEBUG_LEVEL=0>)
237
+target_compile_options(in_xsf_framework PUBLIC
238
+	$<$<CXX_COMPILER_ID:MSVC>:/W4>)
239
+target_include_directories(in_xsf_framework PUBLIC
240
+	${CMAKE_CURRENT_SOURCE_DIR}
241
+	${CMAKE_CURRENT_SOURCE_DIR}/winamp
242
+	${CMAKE_CURRENT_SOURCE_DIR}/zlib
243
+	${CMAKE_CURRENT_BINARY_DIR}/zlib)
244
+target_link_libraries(in_xsf_framework
245
+	wx::base
246
+	wx::core
247
+	zlibstatic)