From 55f9b70a8de528282697267eeec2a91a63983423 Mon Sep 17 00:00:00 2001 From: Ygor <74627282+Ultraprogramer@users.noreply.github.com> Date: Mon, 21 Feb 2022 15:22:17 -0300 Subject: [PATCH 1/4] Another demo song (#201) * Could this song become an furnace demo? * Add files via upload --- demos/super fantasy zone mango.fur | Bin 0 -> 3692 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 demos/super fantasy zone mango.fur diff --git a/demos/super fantasy zone mango.fur b/demos/super fantasy zone mango.fur new file mode 100644 index 0000000000000000000000000000000000000000..6cf30812d3285d0a44c55ab0138dac33d5fa668a GIT binary patch literal 3692 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 literal 0 HcmV?d00001 From fea49c343748dea29b694f4100e62d54a95600d9 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 21 Feb 2022 13:27:39 -0500 Subject: [PATCH 2/4] spaces --- ... zone mango.fur => super_fantasy_zone_mango.fur} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename demos/{super fantasy zone mango.fur => super_fantasy_zone_mango.fur} (100%) diff --git a/demos/super fantasy zone mango.fur b/demos/super_fantasy_zone_mango.fur similarity index 100% rename from demos/super fantasy zone mango.fur rename to demos/super_fantasy_zone_mango.fur From db553ba91cee754c44a359c284057bc3533a950a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 21 Feb 2022 13:31:32 -0500 Subject: [PATCH 3/4] GUI: possibly fix clipboard pasting --- src/gui/gui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index e18d3a79..4903deb2 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -2728,7 +2728,7 @@ void FurnaceGUI::doPaste() { invalidData=true; break; } - if (iFine<(3+e->song.pat[cursor.xCoarse].effectRows*2)) pat->data[j][iFine+1]=val; + if (iFine<(3+e->song.pat[iCoarse].effectRows*2)) pat->data[j][iFine+1]=val; } } iFine++; From fd28d1aef096907eaf9859b0b806c14a6cae61d5 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 21 Feb 2022 13:47:49 -0500 Subject: [PATCH 4/4] add support for building without RtMidi --- CMakeLists.txt | 40 ++++++++++++++++++++++++++-------------- src/audio/rtmidi.cpp | 1 + 2 files changed, 27 insertions(+), 14 deletions(-) create mode 100644 src/audio/rtmidi.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index f2b7cb70..c794c525 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,9 +18,11 @@ set(CMAKE_PROJECT_VERSION_PATCH 7) if (ANDROID) set(BUILD_GUI_DEFAULT OFF) + set(USE_RTMIDI_DEFAULT OFF) set(SYSTEM_SDL2_DEFAULT ON) else() set(BUILD_GUI_DEFAULT ON) + set(USE_RTMIDI_DEFAULT ON) set(SYSTEM_SDL2_DEFAULT OFF) endif() @@ -33,6 +35,7 @@ else() endif() option(BUILD_GUI "Build the tracker (disable to build only a headless player)" ${BUILD_GUI_DEFAULT}) +option(USE_RTMIDI "Build with MIDI support using RtMidi. Currently unfinished." ${USE_RTMIDI_DEFAULT}) option(WITH_JACK "Whether to build with JACK support. Auto-detects if JACK is available" ${WITH_JACK_DEFAULT}) option(SYSTEM_FMT "Use a system-installed version of fmt instead of the vendored one" OFF) option(SYSTEM_LIBSNDFILE "Use a system-installed version of libsndfile instead of the vendored one" OFF) @@ -105,20 +108,22 @@ else() message(STATUS "Using vendored libsndfile") endif() -if (SYSTEM_RTMIDI) - find_package(PkgConfig REQUIRED) - pkg_check_modules(RTMIDI REQUIRED rtmidi) - list(APPEND DEPENDENCIES_INCLUDE_DIRS ${RTMIDI_INCLUDE_DIRS}) - list(APPEND DEPENDENCIES_COMPILE_OPTIONS ${RTMIDI_CFLAGS_OTHER}) - list(APPEND DEPENDENCIES_LIBRARIES ${RTMIDI_LIBRARIES}) - list(APPEND DEPENDENCIES_LIBRARY_DIRS ${RTMIDI_LIBRARY_DIRS}) - list(APPEND DEPENDENCIES_LINK_OPTIONS ${RTMIDI_LDFLAGS_OTHER}) - list(APPEND DEPENDENCIES_LEGACY_LDFLAGS ${RTMIDI_LDFLAGS}) - message(STATUS "Using system-installed RtMidi") -else() - add_subdirectory(extern/rtmidi EXCLUDE_FROM_ALL) - list(APPEND DEPENDENCIES_LIBRARIES rtmidi) - message(STATUS "Using vendored RtMidi") +if (USE_RTMIDI) + if (SYSTEM_RTMIDI) + find_package(PkgConfig REQUIRED) + pkg_check_modules(RTMIDI REQUIRED rtmidi) + list(APPEND DEPENDENCIES_INCLUDE_DIRS ${RTMIDI_INCLUDE_DIRS}) + list(APPEND DEPENDENCIES_COMPILE_OPTIONS ${RTMIDI_CFLAGS_OTHER}) + list(APPEND DEPENDENCIES_LIBRARIES ${RTMIDI_LIBRARIES}) + list(APPEND DEPENDENCIES_LIBRARY_DIRS ${RTMIDI_LIBRARY_DIRS}) + list(APPEND DEPENDENCIES_LINK_OPTIONS ${RTMIDI_LDFLAGS_OTHER}) + list(APPEND DEPENDENCIES_LEGACY_LDFLAGS ${RTMIDI_LDFLAGS}) + message(STATUS "Using system-installed RtMidi") + else() + add_subdirectory(extern/rtmidi EXCLUDE_FROM_ALL) + list(APPEND DEPENDENCIES_LIBRARIES rtmidi) + message(STATUS "Using vendored RtMidi") + endif() endif() if (SYSTEM_ZLIB) @@ -210,6 +215,13 @@ else() message(STATUS "Building without JACK support") endif() +if (USE_RTMIDI) + list(APPEND AUDIO_SOURCES src/audio/rtmidi.cpp) + message(STATUS "Building with RtMidi") +else() + message(STATUS "Building without RtMidi") +endif() + set(ENGINE_SOURCES src/log.cpp src/fileutils.cpp diff --git a/src/audio/rtmidi.cpp b/src/audio/rtmidi.cpp new file mode 100644 index 00000000..e8f0c60d --- /dev/null +++ b/src/audio/rtmidi.cpp @@ -0,0 +1 @@ +#include "rtmidi.h"