| @@ -27,13 +27,13 @@ export WINEPREFIX=~/.winepy3 | |||
| export PYTHON_EXE="C:\\\\Python33\\\\python.exe" | |||
| export CXFREEZE="wine $PYTHON_EXE C:\\\\Python33\\\\Scripts\\\\cxfreeze" | |||
| export PYUIC="wine $PYTHON_EXE C:\\\\Python33\\\\Lib\\\\site-packages\\\\PyQt4\\\\uic\\\\pyuic.py" | |||
| export PYRCC="wine C:\\\\Python33\\\\Lib\\\\site-packages\\\\PyQt4\\\\pyrcc4.exe -py3" | |||
| export CFLAGS="-DPTW32_STATIC_LIB -I$MINGW_PATH/include" | |||
| export CXXFLAGS="-DPTW32_STATIC_LIB -D__WINDOWS_ASIO__ -I$MINGW_PATH/include" | |||
| # TODO: DirectSound DLLs for -D__WINDOWS_DS__ | |||
| export CXXFLAGS="-DPTW32_STATIC_LIB -DFLUIDSYNTH_NOT_A_DLL -D__WINDOWS_ASIO__ -D__WINDOWS_DS__ -D__WINDOWS_MM__ -I$MINGW_PATH/include" | |||
| export EXTRA_LIBS="-lglib-2.0 -lgthread-2.0 -lgig -lsndfile -lFLAC -lvorbisenc -lvorbis -logg -ldsound -lrpcrt4 -lwinmm" | |||
| # Clean build | |||
| make clean | |||
| @@ -42,16 +42,30 @@ make clean | |||
| make $JOBS UI RES WIDGETS | |||
| # Build discovery | |||
| make $JOBS -C source/discovery win32 | |||
| make $JOBS -C source/discovery WIN32=true EXTRA_LIBS="$EXTRA_LIBS -lole32 -lws2_32" | |||
| mv source/discovery/carla-discovery-native source/discovery/carla-discovery-win32.exe | |||
| # Build backend | |||
| make $JOBS -C source/backend/standalone ../libcarla_standalone.dll CARLA_RTAUDIO_SUPPORT=true CARLA_SAMPLERS_SUPPORT=false DGL_LIBS="" OBJSN="" | |||
| if [ ! -f Makefile ]; then | |||
| cd data/windows | |||
| fi | |||
| em -f pkg-config | |||
| make $JOBS -C source/backend/standalone ../libcarla_standalone.dll CARLA_RTAUDIO_SUPPORT=true WIN32=true \ | |||
| DGL_LIBS="" EXTRA_LIBS="$EXTRA_LIBS" OBJSN="" | |||
| rm -rf ./data/windows/Carla | |||
| $CXFREEZE --target-dir=".\\data\\windows\\Carla" ".\\source\\carla.py" | |||
| cd data/windows | |||
| mkdir Carla/backend | |||
| mkdir Carla/bridges | |||
| mkdir Carla/discovery | |||
| cp ../../source/backend/*.dll Carla/backend/ | |||
| cp ../../source/discovery/*.exe Carla/discovery/ | |||
| cp $WINEPREFIX/drive_c/windows/syswow64/python33.dll Carla/ | |||
| cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtCore4.dll Carla/ | |||
| cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtGui4.dll Carla/ | |||
| cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtOpenGL4.dll Carla/ | |||
| cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtSvg4.dll Carla/ | |||
| rm -f pkg-config | |||
| # Testing: | |||
| echo "export WINEPREFIX=~/.winepy3" | |||
| @@ -27,13 +27,13 @@ export WINEPREFIX=~/.winepy3_x64 | |||
| export PYTHON_EXE="C:\\\\Python33\\\\python.exe" | |||
| export CXFREEZE="wine $PYTHON_EXE C:\\\\Python33\\\\Scripts\\\\cxfreeze" | |||
| export PYUIC="wine $PYTHON_EXE C:\\\\Python33\\\\Lib\\\\site-packages\\\\PyQt4\\\\uic\\\\pyuic.py" | |||
| export PYRCC="wine C:\\\\Python33\\\\Lib\\\\site-packages\\\\PyQt4\\\\pyrcc4.exe -py3" | |||
| export CFLAGS="-DPTW32_STATIC_LIB -I$MINGW_PATH/include" | |||
| export CXXFLAGS="-DPTW32_STATIC_LIB -D__WINDOWS_ASIO__ -I$MINGW_PATH/include" | |||
| # TODO: DirectSound DLLs for -D__WINDOWS_DS__ | |||
| export CXXFLAGS="-DPTW32_STATIC_LIB -DFLUIDSYNTH_NOT_A_DLL -D__WINDOWS_ASIO__ -D__WINDOWS_DS__ -D__WINDOWS_MM__ -I$MINGW_PATH/include" | |||
| export EXTRA_LIBS="-lglib-2.0 -lgthread-2.0 -lgig -lsndfile -lFLAC -lvorbisenc -lvorbis -logg -ldsound -lrpcrt4 -lwinmm" | |||
| # Clean build | |||
| make clean | |||
| @@ -42,16 +42,30 @@ make clean | |||
| make $JOBS UI RES WIDGETS | |||
| # Build discovery | |||
| make $JOBS -C source/discovery win64 | |||
| make $JOBS -C source/discovery WIN32=true EXTRA_LIBS="$EXTRA_LIBS -lole32 -lws2_32" | |||
| mv source/discovery/carla-discovery-native source/discovery/carla-discovery-win64.exe | |||
| # Build backend | |||
| make $JOBS -C source/backend/standalone ../libcarla_standalone.dll CARLA_RTAUDIO_SUPPORT=true CARLA_SAMPLERS_SUPPORT=false DGL_LIBS="" OBJSN="" | |||
| if [ ! -f Makefile ]; then | |||
| cd data/windows | |||
| fi | |||
| em -f pkg-config | |||
| make $JOBS -C source/backend/standalone ../libcarla_standalone.dll CARLA_RTAUDIO_SUPPORT=true WIN32=true \ | |||
| DGL_LIBS="" EXTRA_LIBS="$EXTRA_LIBS" OBJSN="" | |||
| rm -rf ./data/windows/Carla | |||
| $CXFREEZE --target-dir=".\\data\\windows\\Carla" ".\\source\\carla.py" | |||
| cd data/windows | |||
| mkdir Carla/backend | |||
| mkdir Carla/bridges | |||
| mkdir Carla/discovery | |||
| cp ../../source/backend/*.dll Carla/backend/ | |||
| cp ../../source/discovery/*.exe Carla/discovery/ | |||
| cp $WINEPREFIX/drive_c/windows/syswow64/python33.dll Carla/ | |||
| cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtCore4.dll Carla/ | |||
| cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtGui4.dll Carla/ | |||
| cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtOpenGL4.dll Carla/ | |||
| cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtSvg4.dll Carla/ | |||
| rm -f pkg-config | |||
| # Testing: | |||
| echo "export WINEPREFIX=~/.winepy3_x64" | |||
| @@ -53,11 +53,13 @@ OBJS += \ | |||
| rtaudio-4.0.11/RtAudio.cpp.o \ | |||
| rtmidi-2.0.1/RtMidi.cpp.o | |||
| # OBJS += \ | |||
| # rtaudio-4.0.11/include/asio.cpp.o \ | |||
| # rtaudio-4.0.11/include/asiodrivers.cpp.o \ | |||
| # rtaudio-4.0.11/include/asiolist.cpp.o \ | |||
| # rtaudio-4.0.11/include/iasiothiscallresolver.cpp.o | |||
| ifeq ($(WIN32),true) | |||
| OBJS += \ | |||
| rtaudio-4.0.11/include/asio.cpp.o \ | |||
| rtaudio-4.0.11/include/asiodrivers.cpp.o \ | |||
| rtaudio-4.0.11/include/asiolist.cpp.o \ | |||
| rtaudio-4.0.11/include/iasiothiscallresolver.cpp.o | |||
| endif | |||
| endif | |||
| SHARED = ../libcarla_engine.so | |||
| @@ -47,20 +47,23 @@ struct CarlaBackendStandalone { | |||
| CarlaString lastError; | |||
| CarlaString procName; | |||
| EngineOptions options; | |||
| QApplication* app; | |||
| bool needsIdle; | |||
| CarlaBackendStandalone() | |||
| : callback(nullptr), | |||
| callbackPtr(nullptr), | |||
| engine(nullptr) | |||
| engine(nullptr), | |||
| app(qApp), | |||
| needsIdle(app == nullptr) | |||
| { | |||
| QApplication* app = qApp; | |||
| if (app != nullptr) | |||
| return; | |||
| if (app == nullptr) | |||
| { | |||
| static int argc = 0; | |||
| static char** argv = nullptr; | |||
| app = new QApplication(argc, argv, true); | |||
| } | |||
| static int argc = 0; | |||
| static char** argv = nullptr; | |||
| app = new QApplication(argc, argv, true); | |||
| } | |||
| } standalone; | |||
| @@ -317,6 +320,9 @@ void carla_engine_idle() | |||
| { | |||
| CARLA_ASSERT(standalone.engine != nullptr); | |||
| if (standalone.needsIdle) | |||
| standalone.app->processEvents(); | |||
| if (standalone.engine != nullptr) | |||
| standalone.engine->idle(); | |||
| } | |||
| @@ -61,6 +61,8 @@ LINK_FLAGS += $(shell pkg-config --libs ntk ntk_images) | |||
| endif | |||
| endif | |||
| LINK_FLAGS += $(EXTRA_LIBS) | |||
| # -------------------------------------------------------------- | |||
| LIBS = ../libcarla_engine.a | |||
| @@ -674,6 +674,8 @@ CWD = sys.path[0] | |||
| # make it work with cxfreeze | |||
| if CWD.endswith("%scarla" % os.sep): | |||
| CWD = CWD.rsplit("%scarla" % os.sep, 1)[0] | |||
| elif CWD.endswith("carla.exe"): | |||
| CWD = CWD.rsplit("carla.exe", 1)[0] | |||
| # find carla_library_path | |||
| if os.path.exists(os.path.join(CWD, "backend", carla_libname)): | |||
| @@ -38,6 +38,15 @@ WIN_32BIT_FLAGS = $(32BIT_FLAGS) | |||
| WIN_64BIT_FLAGS = $(64BIT_FLAGS) | |||
| WIN_LINK_FLAGS = $(LINK_FLAGS) -static -mwindows -lole32 -luuid -lws2_32 | |||
| ifeq ($(WIN32),true) | |||
| NATIVE_BUILD_FLAGS = $(WIN_BUILD_FLAGS) | |||
| NATIVE_LINK_FLAGS = $(WIN_LINK_FLAGS) | |||
| NATIVE_LINK_FLAGS += $(EXTRA_LIBS) | |||
| else | |||
| NATIVE_BUILD_FLAGS = $(POSIX_BUILD_FLAGS) | |||
| NATIVE_LINK_FLAGS = $(POSIX_LINK_FLAGS) | |||
| endif | |||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||
| LIBS = ../libs/lilv.a | |||
| LIBS_posix32 = ../libs/lilv.posix32.a | |||
| @@ -60,7 +69,7 @@ win64: carla-discovery-win64.exe | |||
| # -------------------------------------------------------------- | |||
| carla-discovery-native: $(OBJS) $(LIBS) | |||
| $(CXX) $^ $(POSIX_BUILD_FLAGS) $(POSIX_LINK_FLAGS) $(NATIVE_FLAGS) -o $@ && $(STRIP) $@ | |||
| $(CXX) $^ $(NATIVE_BUILD_FLAGS) $(NATIVE_FLAGS) $(NATIVE_LINK_FLAGS) -o $@ && $(STRIP) $@ | |||
| carla-discovery-posix32: $(OBJS) $(LIBS_posix32) | |||
| $(CXX) $^ $(POSIX_BUILD_FLAGS) $(POSIX_32BIT_FLAGS) $(POSIX_LINK_FLAGS) -o $@ && $(STRIP) $@ | |||