Browse Source

Use wasapi on windows standalones

Signed-off-by: falkTX <falktx@falktx.com>
pull/421/head
falkTX 2 years ago
parent
commit
4d783d76cb
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
4 changed files with 10 additions and 10 deletions
  1. +4
    -2
      Makefile.plugins.mk
  2. +2
    -1
      cmake/DPF-plugin.cmake
  3. +2
    -2
      distrho/src/jackbridge/RtAudioBridge.hpp
  4. +2
    -5
      distrho/src/jackbridge/rtaudio/RtAudio.cpp

+ 4
- 2
Makefile.plugins.mk View File

@@ -98,14 +98,16 @@ endif

else ifneq ($(SKIP_RTAUDIO_FALLBACK),true)

JACK_FLAGS += -DHAVE_GETTIMEOFDAY

ifeq ($(MACOS),true)
JACK_LIBS += -framework CoreAudio -framework CoreFoundation -framework CoreMIDI
else ifeq ($(WINDOWS),true)
JACK_LIBS += -lole32 -lwinmm
# DirectSound
JACK_LIBS += -ldsound
# JACK_LIBS += -ldsound
# WASAPI
# JACK_LIBS += -lksuser -lmfplat -lmfuuid -lwmcodecdspuuid
JACK_LIBS += -lksuser -lmfplat -lmfuuid -lwmcodecdspuuid
else
ifeq ($(HAVE_PULSEAUDIO),true)
JACK_FLAGS += $(PULSEAUDIO_FLAGS)


+ 2
- 1
cmake/DPF-plugin.cmake View File

@@ -223,6 +223,7 @@ function(dpf__build_jack NAME HAS_UI)
OUTPUT_NAME "${NAME}")

target_compile_definitions("${NAME}" PUBLIC "HAVE_JACK")
target_compile_definitions("${NAME}-jack" PRIVATE "HAVE_GETTIMEOFDAY")

find_package(PkgConfig)
pkg_check_modules(SDL2 "sdl2")
@@ -266,7 +267,7 @@ function(dpf__build_jack NAME HAS_UI)
"${APPLE_COREFOUNDATION_FRAMEWORK}"
"${APPLE_COREMIDI_FRAMEWORK}")
elseif(WIN32)
target_link_libraries("${NAME}-jack" PRIVATE "dsound" "ole32" "winmm")
target_link_libraries("${NAME}-jack" PRIVATE "ksuser" "mfplat" "mfuuid" "ole32" "winmm" "wmcodecdspuuid")
if(HAS_UI AND MINGW)
set_target_properties("${NAME}-jack" PROPERTIES WIN32_EXECUTABLE TRUE)
endif()


+ 2
- 2
distrho/src/jackbridge/RtAudioBridge.hpp View File

@@ -28,9 +28,9 @@
# define RTAUDIO_API_TYPE MACOSX_CORE
# define RTMIDI_API_TYPE MACOSX_CORE
#elif defined(DISTRHO_OS_WINDOWS) && !defined(_MSC_VER)
# define __WINDOWS_DS__
# define __WINDOWS_WASAPI__
# define __WINDOWS_MM__
# define RTAUDIO_API_TYPE WINDOWS_DS
# define RTAUDIO_API_TYPE WINDOWS_WASAPI
# define RTMIDI_API_TYPE WINDOWS_MM
#else
# if defined(HAVE_PULSEAUDIO)


+ 2
- 5
distrho/src/jackbridge/rtaudio/RtAudio.cpp View File

@@ -4640,13 +4640,10 @@ void RtApiWasapi::stopStream( void )
stream_.state = STREAM_STOPPING;

// wait until stream thread is stopped
while( stream_.state != STREAM_STOPPED ) {
Sleep( 1 );
for (int i=0; i < 2 && stream_.state != STREAM_STOPPED; ++i ) {
Sleep( 1000 * stream_.bufferSize / stream_.sampleRate );
}

// Wait for the last buffer to play before stopping.
Sleep( 1000 * stream_.bufferSize / stream_.sampleRate );

// close thread handle
if ( stream_.callbackInfo.thread && !CloseHandle( ( void* ) stream_.callbackInfo.thread ) ) {
errorText_ = "RtApiWasapi::stopStream: Unable to close callback thread.";


Loading…
Cancel
Save