From ea4f034fa8cf818a2744e7efc4487377a0d0f7ba Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sun, 25 Jul 2010 16:55:15 +0200 Subject: [PATCH] ZynAddSubFX: added window icon (win32 version only) Added a window icon to ZynAddSubFX windows for better appearance. This is currently only possible for the win32 version a lot more hacks are required to achieve this for X as well :-( (cherry picked from commit 30060e41b7f4a192ae32d73f962b54d061b554c7) --- CMakeLists.txt | 1 + plugins/zynaddsubfx/CMakeLists.txt | 11 +++++++++- plugins/zynaddsubfx/src/UI/MasterUI.cc | 3 +++ plugins/zynaddsubfx/src/UI/MasterUI.fl | 3 +++ plugins/zynaddsubfx/zynaddsubfx.rc.in | 26 +++++++++++++++++++++++ plugins/zynaddsubfx/zynaddsubfx_icon.ico | Bin 0 -> 9662 bytes 6 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 plugins/zynaddsubfx/zynaddsubfx.rc.in create mode 100644 plugins/zynaddsubfx/zynaddsubfx_icon.ico diff --git a/CMakeLists.txt b/CMakeLists.txt index 80fcfd668..9357bf4ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -356,6 +356,7 @@ ENDIF(NOT LMMS_HAVE_SAMPLERATE) CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/lmmsconfig.h.in ${CMAKE_BINARY_DIR}/lmmsconfig.h) CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/lmms.rc.in ${CMAKE_BINARY_DIR}/lmms.rc) +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/plugins/zynaddsubfx/zynaddsubfx.rc.in ${CMAKE_BINARY_DIR}/plugins/zynaddsubfx/zynaddsubfx.rc) # set compiler flags #SET(CMAKE_BUILD_TYPE relwithdebug) diff --git a/plugins/zynaddsubfx/CMakeLists.txt b/plugins/zynaddsubfx/CMakeLists.txt index 5598c8151..995d6df5e 100644 --- a/plugins/zynaddsubfx/CMakeLists.txt +++ b/plugins/zynaddsubfx/CMakeLists.txt @@ -101,10 +101,19 @@ ENDIF(LMMS_BUILD_WIN32) BUILD_PLUGIN(zynaddsubfx ZynAddSubFx.cpp ZynAddSubFx.h MOCFILES ZynAddSubFx.h EMBEDDED_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.png) TARGET_LINK_LIBRARIES(zynaddsubfx ZynAddSubFxCore) +IF(WIN32) + SET(WINRC "${CMAKE_CURRENT_BINARY_DIR}/zynaddsubfxrc.obj") + ADD_CUSTOM_COMMAND(OUTPUT ${WINRC} + COMMAND ${WINDRES} + -I${CMAKE_CURRENT_SOURCE_DIR} + -o${CMAKE_CURRENT_BINARY_DIR}/zynaddsubfxrc.obj + -i${CMAKE_CURRENT_BINARY_DIR}/zynaddsubfx.rc + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/zynaddsubfx.rc) +ENDIF(WIN32) SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${PLUGIN_DIR}") SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) -ADD_EXECUTABLE(RemoteZynAddSubFx RemoteZynAddSubFx.cpp ${ZYN_SRC_GUI}) +ADD_EXECUTABLE(RemoteZynAddSubFx RemoteZynAddSubFx.cpp ${ZYN_SRC_GUI} ${WINRC}) INSTALL(TARGETS RemoteZynAddSubFx RUNTIME DESTINATION ${PLUGIN_DIR}) IF(LMMS_BUILD_LINUX) SET(FONTCONFIG_LIBS -lfontconfig) diff --git a/plugins/zynaddsubfx/src/UI/MasterUI.cc b/plugins/zynaddsubfx/src/UI/MasterUI.cc index 75a212a45..bc1b836a9 100644 --- a/plugins/zynaddsubfx/src/UI/MasterUI.cc +++ b/plugins/zynaddsubfx/src/UI/MasterUI.cc @@ -2331,6 +2331,9 @@ configui=new ConfigUI(); sequi=new SeqUI(master); make_window(); +#ifdef OS_WINDOWS +masterwindow->icon((char *)LoadIcon(GetModuleHandle(NULL), "zynaddsubfx_icon")); +#endif presetsui=new PresetsUI(); setfilelabel(NULL); swapefftype=0; diff --git a/plugins/zynaddsubfx/src/UI/MasterUI.fl b/plugins/zynaddsubfx/src/UI/MasterUI.fl index af8440e1e..451c9f422 100644 --- a/plugins/zynaddsubfx/src/UI/MasterUI.fl +++ b/plugins/zynaddsubfx/src/UI/MasterUI.fl @@ -1636,6 +1636,9 @@ configui=new ConfigUI(); sequi=new SeqUI(master); make_window(); +\#ifdef OS_WINDOWS +masterwindow->icon((char *)LoadIcon(GetModuleHandle(NULL), "zynaddsubfx_icon")); +\#endif presetsui=new PresetsUI(); setfilelabel(NULL); swapefftype=0; diff --git a/plugins/zynaddsubfx/zynaddsubfx.rc.in b/plugins/zynaddsubfx/zynaddsubfx.rc.in new file mode 100644 index 000000000..ebc0c32ad --- /dev/null +++ b/plugins/zynaddsubfx/zynaddsubfx.rc.in @@ -0,0 +1,26 @@ +zynaddsubfx_icon ICON zynaddsubfx_icon.ico +#include + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 0,2,3,0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + //language ID = U.S. English, charset = Windows, Multilingual + BEGIN + VALUE "Comments", "ZynAddSubFX Plugin - Linux MultiMedia Studio (http://lmms.sf.net)\0" + VALUE "CompanyName", "LMMS Developers\0" + VALUE "FileDescription", "ZynAddSubFX LMMS Plugin\0" + VALUE "FileVersion", "2.3.0/@VERSION@\0" + VALUE "LegalCopyright", "Copyright (c) Nasca Octavian Paul, Mark McCurry, Harald Hvaal, Tobias Doerffel\0" + VALUE "OriginalFilename", "RemoteZynAddSubFx.exe\0" + VALUE "ProductName", "ZynAddSubFX/LMMS\0" + VALUE "ProductVersion", "2.3.0/@VERSION@\0" + END + END +END diff --git a/plugins/zynaddsubfx/zynaddsubfx_icon.ico b/plugins/zynaddsubfx/zynaddsubfx_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..80f0519d3e48071cd514952a62d9b04561d6c4db GIT binary patch literal 9662 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