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
... ...
@@ -14,12 +14,11 @@ set(HEADERS
14 14
 	SSEQPlayer/SWAV.h
15 15
 	SSEQPlayer/SYMBSection.h
16 16
 	SSEQPlayer/Track.h
17
-	resource.h
17
+	SoundView.h
18
+	XSFApp_NCSF.h
18 19
 	XSFConfig_NCSF.h
19 20
 	XSFConfigDialog_NCSF.h
20 21
 	XSFPlayer_NCSF.h)
21
-set(RESOURCES
22
-	in_ncsf.rc)
23 22
 set(SOURCES
24 23
 	SSEQPlayer/Channel.cpp
25 24
 	SSEQPlayer/FATSection.cpp
... ...
@@ -34,14 +33,15 @@ set(SOURCES
34 33
 	SSEQPlayer/SWAV.cpp
35 34
 	SSEQPlayer/SYMBSection.cpp
36 35
 	SSEQPlayer/Track.cpp
36
+	SoundView.cpp
37
+	XSFApp_NCSF.cpp
37 38
 	XSFConfig_NCSF.cpp
38 39
 	XSFConfigDialog_NCSF.cpp
39 40
 	XSFPlayer_NCSF.cpp)
40 41
 
41
-add_library(in_ncsf SHARED ${HEADERS} ${RESOURCES} ${SOURCES})
42
+add_library(in_ncsf SHARED ${HEADERS} ${SOURCES})
42 43
 set_target_properties(in_ncsf PROPERTIES PREFIX "")
43 44
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
44
-source_group("Resource Files" FILES ${RESOURCES})
45 45
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
46 46
 target_compile_options(in_ncsf PUBLIC
47 47
 	$<$<CXX_COMPILER_ID:MSVC>:/wd6011 /wd6385 /wd26819>)
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
... ...
@@ -39,6 +39,7 @@ set(SOURCES
39 39
 	XSFPlayer_NCSF.cpp)
40 40
 
41 41
 add_library(in_ncsf SHARED ${HEADERS} ${RESOURCES} ${SOURCES})
42
+set_target_properties(in_ncsf PROPERTIES PREFIX "")
42 43
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
43 44
 source_group("Resource Files" FILES ${RESOURCES})
44 45
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
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
... ...
@@ -16,6 +16,7 @@ set(HEADERS
16 16
 	SSEQPlayer/Track.h
17 17
 	resource.h
18 18
 	XSFConfig_NCSF.h
19
+	XSFConfigDialog_NCSF.h
19 20
 	XSFPlayer_NCSF.h)
20 21
 set(RESOURCES
21 22
 	in_ncsf.rc)
... ...
@@ -34,6 +35,7 @@ set(SOURCES
34 35
 	SSEQPlayer/SYMBSection.cpp
35 36
 	SSEQPlayer/Track.cpp
36 37
 	XSFConfig_NCSF.cpp
38
+	XSFConfigDialog_NCSF.cpp
37 39
 	XSFPlayer_NCSF.cpp)
38 40
 
39 41
 add_library(in_ncsf SHARED ${HEADERS} ${RESOURCES} ${SOURCES})
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
... ...
@@ -40,5 +40,7 @@ add_library(in_ncsf SHARED ${HEADERS} ${RESOURCES} ${SOURCES})
40 40
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
41 41
 source_group("Resource Files" FILES ${RESOURCES})
42 42
 source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
43
+target_compile_options(in_ncsf PUBLIC
44
+	$<$<CXX_COMPILER_ID:MSVC>:/wd6011 /wd6385 /wd26819>)
43 45
 target_link_libraries(in_ncsf
44 46
 	in_xsf_framework)
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,44 @@
1
+set(HEADERS
2
+	SSEQPlayer/Channel.h
3
+	SSEQPlayer/common.h
4
+	SSEQPlayer/consts.h
5
+	SSEQPlayer/FATSection.h
6
+	SSEQPlayer/INFOEntry.h
7
+	SSEQPlayer/INFOSection.h
8
+	SSEQPlayer/NDSStdHeader.h
9
+	SSEQPlayer/Player.h
10
+	SSEQPlayer/SBNK.h
11
+	SSEQPlayer/SDAT.h
12
+	SSEQPlayer/SSEQ.h
13
+	SSEQPlayer/SWAR.h
14
+	SSEQPlayer/SWAV.h
15
+	SSEQPlayer/SYMBSection.h
16
+	SSEQPlayer/Track.h
17
+	resource.h
18
+	XSFConfig_NCSF.h
19
+	XSFPlayer_NCSF.h)
20
+set(RESOURCES
21
+	in_ncsf.rc)
22
+set(SOURCES
23
+	SSEQPlayer/Channel.cpp
24
+	SSEQPlayer/FATSection.cpp
25
+	SSEQPlayer/INFOEntry.cpp
26
+	SSEQPlayer/INFOSection.cpp
27
+	SSEQPlayer/NDSStdHeader.cpp
28
+	SSEQPlayer/Player.cpp
29
+	SSEQPlayer/SBNK.cpp
30
+	SSEQPlayer/SDAT.cpp
31
+	SSEQPlayer/SSEQ.cpp
32
+	SSEQPlayer/SWAR.cpp
33
+	SSEQPlayer/SWAV.cpp
34
+	SSEQPlayer/SYMBSection.cpp
35
+	SSEQPlayer/Track.cpp
36
+	XSFConfig_NCSF.cpp
37
+	XSFPlayer_NCSF.cpp)
38
+
39
+add_library(in_ncsf SHARED ${HEADERS} ${RESOURCES} ${SOURCES})
40
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Header Files" FILES ${HEADERS})
41
+source_group("Resource Files" FILES ${RESOURCES})
42
+source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "Source Files" FILES ${SOURCES})
43
+target_link_libraries(in_ncsf
44
+	in_xsf_framework)