@@ -5,7 +5,7 @@ set -e | |||
MINGW=i686-w64-mingw32 | |||
MINGW_PATH=/opt/mingw32 | |||
JOBS="-j 4" | |||
JOBS="-j 2" | |||
if [ ! -f Makefile ]; then | |||
cd ../.. | |||
@@ -28,80 +28,82 @@ export CXXFLAGS="-DPTW32_STATIC_LIB -DFLUIDSYNTH_NOT_A_DLL -I$MINGW_PATH/include | |||
export EXTRA_LIBS1="-lglib-2.0 -lgthread-2.0 -lgig -lsndfile -lFLAC -lvorbisenc -lvorbis -logg" | |||
export EXTRA_LIBS2="$MINGW_PATH/lib/qt4/plugins/imageformats/libqsvg.a" | |||
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" | |||
# Clean build | |||
# make clean | |||
make clean | |||
# Build PyQt4 resources | |||
# make $JOBS UI RES WIDGETS | |||
make $JOBS UI RES WIDGETS | |||
# Build discovery | |||
make $JOBS discovery EXTRA_LIBS="$EXTRA_LIBS1" | |||
cp source/discovery/carla-discovery-native.exe source/discovery/carla-discovery-win32.exe | |||
mv source/discovery/carla-discovery-native.exe source/discovery/carla-discovery-win32.exe | |||
# Build backend | |||
# make $JOBS -C source/backend/standalone ../libcarla_standalone.dll WIN32=true EXTRA_LIBS="$EXTRA_LIBS1 $EXTRA_LIBS2" | |||
# 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" | |||
# rm -rf ./data/windows/Carla | |||
# cp ./source/carla.py ./source/carla.pyw | |||
# $CXFREEZE --target-dir=".\\data\\windows\\Carla" ".\\source\\carla.pyw" | |||
# rm -f ./source/carla.pyw | |||
# | |||
# rm -rf ./data/windows/CarlaControl | |||
# cp ./source/carla_control.py ./source/carla_control.pyw | |||
# $CXFREEZE --target-dir=".\\data\\windows\\CarlaControl" ".\\source\\carla_control.pyw" | |||
# rm -f ./source/carla_control.pyw | |||
# cd data/windows | |||
# mkdir Carla/backend | |||
# mkdir Carla/bridges | |||
# mkdir Carla/discovery | |||
# cp ../../source/backend/*.dll Carla/backend/ | |||
# cp ../../source/discovery/*.exe Carla/discovery/ | |||
# mv CarlaControl/carla_control.exe CarlaControl/CarlaControl.exe | |||
# | |||
# 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/ | |||
# cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtXml4.dll Carla/ | |||
# cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/imageformats/ Carla/ | |||
# cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/iconengines/ Carla/ | |||
# | |||
# cp $WINEPREFIX/drive_c/windows/syswow64/python33.dll CarlaControl/ | |||
# cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtCore4.dll CarlaControl/ | |||
# cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtGui4.dll CarlaControl/ | |||
# cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/imageformats/ CarlaControl/ | |||
# cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/iconengines/ CarlaControl/ | |||
make $JOBS backend EXTRA_LIBS="$EXTRA_LIBS1 $EXTRA_LIBS2" | |||
# Build bridges | |||
# make $JOBS bridges EXTRA_LIBS="$EXTRA_LIBS1 $EXTRA_LIBS2" | |||
rm -rf ./data/windows/Carla | |||
cp ./source/carla.py ./source/carla.pyw | |||
$CXFREEZE --target-dir=".\\data\\windows\\Carla" ".\\source\\carla.pyw" | |||
rm -f ./source/carla.pyw | |||
rm -rf ./data/windows/CarlaControl | |||
cp ./source/carla_control.py ./source/carla_control.pyw | |||
$CXFREEZE --target-dir=".\\data\\windows\\CarlaControl" ".\\source\\carla_control.pyw" | |||
rm -f ./source/carla_control.pyw | |||
cd data/windows | |||
mkdir Carla/backend | |||
mkdir Carla/bridges | |||
mkdir Carla/discovery | |||
cp ../../source/backend/*.dll Carla/backend/ | |||
cp ../../source/discovery/*.exe Carla/discovery/ | |||
mv CarlaControl/carla_control.exe CarlaControl/CarlaControl.exe | |||
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/ | |||
cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtXml4.dll Carla/ | |||
cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/imageformats/ Carla/ | |||
cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/iconengines/ Carla/ | |||
cp $WINEPREFIX/drive_c/windows/syswow64/python33.dll CarlaControl/ | |||
cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtCore4.dll CarlaControl/ | |||
cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtGui4.dll CarlaControl/ | |||
cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/imageformats/ CarlaControl/ | |||
cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/iconengines/ CarlaControl/ | |||
# Build unzipfx | |||
# make -C unzipfx-carla -f Makefile.win32 | |||
# make -C unzipfx-carla-control -f Makefile.win32 | |||
make -C unzipfx-carla -f Makefile.win32 | |||
make -C unzipfx-carla-control -f Makefile.win32 | |||
# Create static build | |||
# rm -f Carla.zip CarlaControl.zip | |||
# zip -r -9 Carla.zip Carla | |||
# zip -r -9 CarlaControl.zip CarlaControl | |||
# | |||
# rm -f Carla.exe CarlaControl.exe | |||
# cat unzipfx-carla/unzipfx2cat.exe Carla.zip > Carla.exe | |||
# cat unzipfx-carla-control/unzipfx2cat.exe CarlaControl.zip > CarlaControl.exe | |||
# chmod +x Carla.exe | |||
# chmod +x CarlaControl.exe | |||
rm -f Carla.zip CarlaControl.zip | |||
zip -r -9 Carla.zip Carla | |||
zip -r -9 CarlaControl.zip CarlaControl | |||
rm -f Carla.exe CarlaControl.exe | |||
cat unzipfx-carla/unzipfx2cat.exe Carla.zip > Carla.exe | |||
cat unzipfx-carla-control/unzipfx2cat.exe CarlaControl.zip > CarlaControl.exe | |||
chmod +x Carla.exe | |||
chmod +x CarlaControl.exe | |||
# Cleanup | |||
# make -C unzipfx-carla -f Makefile.win32 clean | |||
# make -C unzipfx-carla-control -f Makefile.win32 clean | |||
# rm -f Carla.zip CarlaControl.zip | |||
# rm -f unzipfx-*/*.exe | |||
make -C unzipfx-carla -f Makefile.win32 clean | |||
make -C unzipfx-carla-control -f Makefile.win32 clean | |||
rm -f Carla.zip CarlaControl.zip | |||
rm -f unzipfx-*/*.exe | |||
# Testing: | |||
echo "export WINEPREFIX=~/.winepy3" | |||
@@ -5,15 +5,15 @@ set -e | |||
MINGW=x86_64-w64-mingw32 | |||
MINGW_PATH=/opt/mingw64 | |||
JOBS="-j 4" | |||
JOBS="-j 2" | |||
if [ ! -f Makefile ]; then | |||
cd ../.. | |||
fi | |||
ln -s -f $MINGW_PATH/bin/$MINGW-pkg-config ./data/windows/pkg-config | |||
export WIN32=true | |||
export PATH=`pwd`/data/windows:$MINGW_PATH/bin:$MINGW_PATH/$MINGW/bin:$PATH | |||
export PATH=$MINGW_PATH/bin:$MINGW_PATH/$MINGW/bin:$PATH | |||
export AR=$MINGW-ar | |||
export CC=$MINGW-gcc | |||
export CXX=$MINGW-g++ | |||
@@ -23,21 +23,18 @@ export UIC=$MINGW-uic | |||
export STRIP=$MINGW-strip | |||
export WINDRES=$MINGW-windres | |||
export PKG_CONFIG_PATH=$MINGW_PATH/lib/pkgconfig | |||
export CFLAGS="-DPTW32_STATIC_LIB -I$MINGW_PATH/include" | |||
export CXXFLAGS="-DPTW32_STATIC_LIB -DFLUIDSYNTH_NOT_A_DLL -I$MINGW_PATH/include" | |||
export EXTRA_LIBS1="-lglib-2.0 -lgthread-2.0 -lgig -lsndfile -lFLAC -lvorbisenc -lvorbis -logg" | |||
export EXTRA_LIBS2="$MINGW_PATH/lib/qt4/plugins/imageformats/libqsvg.a" | |||
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 -DFLUIDSYNTH_NOT_A_DLL -I$MINGW_PATH/include" | |||
export EXTRA_LIBS1="-lglib-2.0 -lgthread-2.0 -lgig -lsndfile -lFLAC -lvorbisenc -lvorbis -logg" | |||
export EXTRA_LIBS2="$MINGW_PATH/lib/qt4/plugins/imageformats/libqsvg.a $MINGW_PATH/lib/qt4/plugins/iconengines/libqsvgicon.a" | |||
# Clean build | |||
make clean | |||
@@ -45,23 +42,32 @@ make clean | |||
make $JOBS UI RES WIDGETS | |||
# Build discovery | |||
make $JOBS -C source/discovery WIN32=true EXTRA_LIBS="$EXTRA_LIBS1" | |||
mv source/discovery/carla-discovery-native source/discovery/carla-discovery-win32.exe | |||
make $JOBS discovery EXTRA_LIBS="$EXTRA_LIBS1" | |||
mv source/discovery/carla-discovery-native.exe source/discovery/carla-discovery-win32.exe | |||
# Build backend | |||
make $JOBS -C source/backend/standalone ../libcarla_standalone.dll WIN32=true EXTRA_LIBS="$EXTRA_LIBS1 $EXTRA_LIBS2" | |||
make $JOBS backend EXTRA_LIBS="$EXTRA_LIBS1 $EXTRA_LIBS2" | |||
# Build bridges | |||
# make $JOBS bridges EXTRA_LIBS="$EXTRA_LIBS1 $EXTRA_LIBS2" | |||
rm -rf ./data/windows/Carla | |||
cp ./source/carla.py ./source/carla.pyw | |||
$CXFREEZE --target-dir=".\\data\\windows\\Carla" ".\\source\\carla.pyw" | |||
rm -f ./source/carla.pyw | |||
rm -rf ./data/windows/CarlaControl | |||
cp ./source/carla_control.py ./source/carla_control.pyw | |||
$CXFREEZE --target-dir=".\\data\\windows\\CarlaControl" ".\\source\\carla_control.pyw" | |||
rm -f ./source/carla_control.pyw | |||
cd data/windows | |||
mkdir Carla/backend | |||
mkdir Carla/bridges | |||
mkdir Carla/discovery | |||
cp ../../source/backend/*.dll Carla/backend/ | |||
cp ../../source/discovery/*.exe Carla/discovery/ | |||
mv CarlaControl/carla_control.exe CarlaControl/CarlaControl.exe | |||
cp $WINEPREFIX/drive_c/windows/syswow64/python33.dll Carla/ | |||
cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtCore4.dll Carla/ | |||
@@ -72,22 +78,31 @@ cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtXml4.dll Carla/ | |||
cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/imageformats/ Carla/ | |||
cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/iconengines/ Carla/ | |||
rm -f pkg-config | |||
cp $WINEPREFIX/drive_c/windows/syswow64/python33.dll CarlaControl/ | |||
cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtCore4.dll CarlaControl/ | |||
cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtGui4.dll CarlaControl/ | |||
cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/imageformats/ CarlaControl/ | |||
cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/iconengines/ CarlaControl/ | |||
# Build unzipfx | |||
make -C unzipfx-carla -f Makefile.win32 | |||
make -C unzipfx-carla-control -f Makefile.win32 | |||
# Create static build | |||
rm -f Carla.zip | |||
rm -f Carla.zip CarlaControl.zip | |||
zip -r -9 Carla.zip Carla | |||
zip -r -9 CarlaControl.zip CarlaControl | |||
rm -f Carla.exe | |||
rm -f Carla.exe CarlaControl.exe | |||
cat unzipfx-carla/unzipfx2cat.exe Carla.zip > Carla.exe | |||
cat unzipfx-carla-control/unzipfx2cat.exe CarlaControl.zip > CarlaControl.exe | |||
chmod +x Carla.exe | |||
chmod +x CarlaControl.exe | |||
# Cleanup | |||
make -C unzipfx-carla -f Makefile.win32 clean | |||
rm -f Carla.zip | |||
make -C unzipfx-carla-control -f Makefile.win32 clean | |||
rm -f Carla.zip CarlaControl.zip | |||
rm -f unzipfx-*/*.exe | |||
# Testing: | |||
@@ -32,7 +32,9 @@ VST: | |||
FluidSynth: | |||
- per-channel volume control | |||
- proper buffer-size/sample-rate change | |||
LinuxSampler: | |||
- multi-program | |||
- 16outs (depends on multi-program) | |||
- proper buffer-size/sample-rate change |
@@ -39,6 +39,8 @@ CarlaPluginGui::CarlaPluginGui(CarlaEngine* const engine, Callback* const callba | |||
CARLA_ASSERT(callback != nullptr); | |||
carla_debug("CarlaPluginGui::CarlaPluginGui(%p, %p)", engine, callback); | |||
setWindowIcon(QIcon::fromTheme("carla", QIcon(":/scalable/carla.svg"))); | |||
if (options.parented) | |||
{ | |||
#ifdef Q_WS_X11 | |||
@@ -160,6 +160,7 @@ public: | |||
#endif | |||
} | |||
fWindow->setWindowIcon(QIcon::fromTheme("carla", QIcon(":/scalable/carla.svg"))); | |||
fWindow->setWindowTitle(kUiTitle); | |||
{ | |||
@@ -153,8 +153,8 @@ LINK_UI_LV2_QT5_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs Qt5Gui Qt5 | |||
BUILD_UI_LV2_COCOA_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_COCOA -DBRIDGE_LV2_COCOA $(QT_UI_FLAGS) | |||
LINK_UI_LV2_COCOA_FLAGS = $(LINK_UI_FLAGS) $(QT_UI_LIBS) | |||
BUILD_UI_LV2_HWND_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_HWND -DBRIDGE_LV2_HWND $(QT_UI_FLAGS) | |||
LINK_UI_LV2_HWND_FLAGS = $(LINK_FLAGS) $(QT_UI_LIBS) -mwindows -static | |||
BUILD_UI_LV2_WIN32_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_HWND -DBRIDGE_LV2_WIN32 $(QT_UI_FLAGS) | |||
LINK_UI_LV2_WIN32_FLAGS = $(LINK_FLAGS) $(QT_UI_LIBS) -mwindows -static | |||
BUILD_UI_LV2_X11_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_X11 -DBRIDGE_LV2_X11 $(QT_UI_FLAGS) | |||
LINK_UI_LV2_X11_FLAGS = $(LINK_UI_FLAGS) $(QT_UI_LIBS) | |||
@@ -190,6 +190,13 @@ TARGETS += ui_lv2-x11 | |||
TARGETS += ui_vst-x11 | |||
endif | |||
ifeq ($(WIN32),true) | |||
TARGETS = carla-bridge-win32.exe | |||
TARGETS += carla-bridge-win64.exe | |||
TARGETS += carla-bridge-lv2-windows.exe | |||
TARGETS += carla-bridge-vst-hwnd.exe | |||
endif | |||
# -------------------------------------------------------------- | |||
all: $(TARGETS) | |||
@@ -200,7 +207,7 @@ ui_lv2-qt4: carla-bridge-lv2-qt4 | |||
ui_lv2-qt5: carla-bridge-lv2-qt5 | |||
ui_lv2-cocoa: carla-bridge-lv2-cocoa | |||
ui_lv2-hwnd: carla-bridge-lv2-hwnd.exe | |||
ui_lv2-win32: carla-bridge-lv2-windows.exe | |||
ui_lv2-x11: carla-bridge-lv2-x11 | |||
ui_vst-cocoa: carla-bridge-vst-cocoa | |||
@@ -296,17 +303,17 @@ carla-bridge-lv2-cocoa: $(OBJS_UI_LV2_COCOA) $(OBJS_UI_LV2_LIBS) ../libs/theme.a | |||
$(CXX) $< $(BUILD_UI_LV2_COCOA_FLAGS) -c -o $@ | |||
# -------------------------------------------------------------- | |||
# ui_lv2-hwnd | |||
# ui_lv2-windows | |||
OBJS_UI_LV2_HWND = CarlaBridgeUI-LV2__lv2-hwnd.o \ | |||
OBJS_UI_LV2_WIN32 = CarlaBridgeUI-LV2__lv2-windows.o \ | |||
CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \ | |||
CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-hwnd.o | |||
CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-windows.o | |||
carla-bridge-lv2-hwnd.exe: $(OBJS_UI_LV2_HWND) $(OBJS_UI_LV2_LIBS) ../libs/theme.a | |||
$(CXX) $^ $(LINK_UI_LV2_HWND_FLAGS) -o $@ $(CMD_STRIP) $@ | |||
carla-bridge-lv2-windows.exe: $(OBJS_UI_LV2_WINDOWS) $(OBJS_UI_LV2_LIBS) ../libs/theme.a | |||
$(CXX) $^ $(LINK_UI_LV2_WIN32_FLAGS) -o $@ $(CMD_STRIP) $@ | |||
%__lv2-hwnd.o: %.cpp CarlaBridgeToolkitQt.moc | |||
$(CXX) $< $(BUILD_UI_LV2_HWND_FLAGS) -c -o $@ | |||
%__lv2-windows.o: %.cpp CarlaBridgeToolkitQt.moc | |||
$(CXX) $< $(BUILD_UI_LV2_WIN32_FLAGS) -c -o $@ | |||
# -------------------------------------------------------------- | |||
# ui_lv2-x11 | |||