Commit Graph
43 Commits
Author SHA1 Message Date
kichikuou 065b34dd08 CI: Package MSYS2 build 2025-01-20 10:10:48 +09:00
kichikuou 1fd72a28eb ci: install nlohmann-json 2024-12-28 14:09:57 +09:00
kichikuou 41e69d7610 Real-time MIDI playback using RtMidi
Before this, MIDI playback was done by generating an SMF data stream,
which was then played using platform-specific methods (MCI on Windows,
MediaPlayer on Android, SDL_Mixer on other platforms). However, this
approach had an issue where the Y18 command (which reads loop counts and
markers) did not work correctly.

With this change, the MAKOMidi class now uses the RtMidi library to
control MIDI devices in real-time. This approach was used in the
original "System3 for win32", but has now been made cross-platform.

The dependency on RtMidi is optional. If RtMidi is not available at
build time or a MIDI device is unavailable at runtime, FM synthesis will
be used.
2024-08-16 10:11:41 +09:00
kichikuou d489c0b8c1 CI: Build with latest emscripten 2024-06-11 07:43:05 +09:00
kichikuou 60d4c7de2c CI: Enable COMPILE_WARNING_AS_ERROR on Windows and Emscripten 2024-02-16 13:43:50 +09:00
kichikuou 618631c642 CI: Update GitHub actions 2024-02-16 13:26:49 +09:00
kichikuou 6996482362 Move CMakeLists.txt to project root 2024-01-11 13:28:18 +09:00
kichikuou 2e4d452aa8 Android/Windows: Upgrade SDL to 2.28.5 2023-11-17 13:36:38 +09:00
kichikuou 73a7380a69 Switch Windows 64-bit MSYS2 build from mingw64 to ucrt64
This only affects CI, because our release binaries are MSVC builds.
2023-11-17 09:24:08 +09:00
kichikuou 3e11ba1b44 Update emscripten to 3.1.44 2023-08-06 21:54:42 +09:00
kichikuou 0171433618 Update emscripten to 3.1.34 2023-04-09 18:32:33 +09:00
kichikuou 50120d32ce Update emscripten to 3.1.32 2023-02-25 15:06:26 +09:00
kichikuou 52a0e5e139 Android CI: Generate signed apk 2023-01-08 12:03:04 +09:00
kichikuou 82e5bde5e2 CI: Update GH actions 2022-11-27 11:21:47 +09:00
Adrian Graber 05ff59cff2 Add Nintendo Switch support
- Bundle resources folder through romfs
- Added Switch-exclusive romfs init/exit code
- Add icon for NRO
- Add Switch-exclusive CMake code for NACP/NRO generation
- Add GitHub Actions Switch workflow
2022-10-29 08:25:07 +09:00
kichikuou 0860c2f471 Update emscripten to 3.1.18 2022-08-07 18:14:04 +09:00
kichikuou b1a2221f9f emscripten: Change build type from MinSizeRel to Release
It generates 2.5x faster code for ymfm.
2022-08-07 15:58:10 +09:00
kichikuou 8a6a81b334 Windows CI: Use windows-latest image 2022-03-06 15:13:21 +09:00
kichikuou 208b0a1dc8 MSYS2 CI: Use msys2/setup-msys2 2022-03-06 14:39:31 +09:00
kichikuou ea6eff1cdf Update emscripten to 3.1.2 2022-01-30 12:07:42 +09:00
kichikuou 6015f53b76 Android: Upgrade gradle plugins
Now it works with CMake 3.20+.
2021-12-22 13:21:59 +09:00
kichikuou 8ee2e952f9 Update emscripten to 2.0.31 2021-10-14 20:58:54 +09:00
kichikuou 643eb02448 Add COPYING.txt file in MSVC build artifact 2021-09-20 09:22:58 +09:00
kichikuou b64e8ed129 emscripten CI: Use standard setup-emsdk way to cache 2021-07-14 18:34:05 +09:00
kichikuou 8f48093409 Update emscripten to 2.0.25 2021-07-14 18:29:50 +09:00
kichikuou 4a04eaff9e Android CI: downgrade CMake to 3.19
To workaround build error with NullPointerException
(actions/virtual-environments#3078).
2021-06-06 14:57:59 +09:00
kichikuou 59b7dd85cd Update emscripten to 2.0.15 2021-03-18 15:27:39 +09:00
kichikuou c9413c451d Add GitHub workflow for MSVS build 2021-01-02 09:10:56 +09:00
kichikuou 2de55f9f4d Windows: FM sound support 2020-12-11 16:49:48 +09:00
kichikuou 04206abb77 Android: FM sound support 2020-11-29 18:27:46 +09:00
kichikuou 89d5fdcbc6 CI: Fix emscripten build 2020-11-23 16:38:05 +09:00
kichikuou 893f716ef3 Add FM synthesizer support
This adds support for "real" FM sound that can be used instead of MIDI
sound. (Currently only available on platforms where SDL_mixer is used.)

The MakoFM class interprets AMUS.DAT to create a write sequence to the
OPNA registers, from which fmgen generates an audio stream.
2020-11-21 13:40:21 +09:00
kichikuou f426bf87e1 Update emscripten to 2.0.7 2020-10-24 18:56:02 +09:00
kichikuou b618d61ca5 CI: Address deprecation of add-path and set-env 2020-10-10 16:19:12 +09:00
kichikuou e3ca7d0ecd Android CI: Use the system's default JDK 2020-08-23 14:07:20 +09:00
kichikuou 91a117c355 Android: Upgrade build environment
- targetSdkVersion 28
- Android Gradle plugin 4.0.1
- Kotlin 1.3.72
- Gradle 6.1.1
2020-08-23 11:09:24 +09:00
kichikuou 4526ffa517 Linux CI: Run 'apt update' 2020-08-08 12:09:50 +09:00
kichikuou 94723e501e Update CI for emscripten
- emscripten SDK 1.40.1
- mymindstorm/setup-emsdk@v6
- actions/cache@v2
- actions/upload-artifact@v2
2020-08-08 11:40:29 +09:00
kichikuou a0396679a6 CI updates
- Add Windows build
- Run Debug and Release builds on Linux
- Run CI against pull requests
2020-06-04 09:55:15 +09:00
kichikuou ac1bf0bac1 Update emscripten to 1.39.16
And add a fix for emscripten-core/emscripten#10746.
2020-05-28 19:27:51 +09:00
kichikuou e574b826d9 Add GitHub workflow for Android build 2020-02-23 21:58:09 +09:00
kichikuou ca16b99846 Add GitHub workflow for Linux build 2020-02-23 18:41:01 +09:00
kichikuou 28e1adfcfb Add GitHub workflow for emscripten build 2020-02-23 18:16:09 +09:00