Skip to content

Commit

Permalink
Merge pull request #248 from steinbergmedia/develop
Browse files Browse the repository at this point in the history
Merge develop into master
  • Loading branch information
scheffle committed May 16, 2022
2 parents 6431f63 + 81c6906 commit addf12b
Show file tree
Hide file tree
Showing 414 changed files with 23,050 additions and 23,399 deletions.
2 changes: 1 addition & 1 deletion .editorconfig
Expand Up @@ -2,7 +2,7 @@ root = true

[*]
charset = utf-8
end_of_line = lf
end_of_line =
insert_final_newline = true
vc_generate_documentation_comments = doxygen_slash_star

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/cmake_linux.yml
Expand Up @@ -13,6 +13,7 @@ jobs:
steps:
- uses: actions/checkout@v2

- run: sudo apt-get update
- run: sudo apt-get install libx11-dev libx11-xcb-dev libxcb-util-dev libxcb-cursor-dev libxcb-keysyms1-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libfontconfig1-dev libcairo2-dev libfreetype6-dev libpango1.0-dev

- uses: ./.github/actions/cmake
Expand Down
4 changes: 3 additions & 1 deletion CMakeLists.txt
Expand Up @@ -4,7 +4,9 @@ cmake_minimum_required(VERSION 3.5)
if(NOT PROJECT_NAME)
project(vstgui)
set(VSTGUI_MAIN_PROJECT_BUILD 1)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9)
if(NOT CMAKE_OSX_DEPLOYMENT_TARGET)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9)
endif()
if(CMAKE_CONFIGURATION_TYPES)
set(CMAKE_CONFIGURATION_TYPES Debug Release ReleaseLTO)
endif()
Expand Down
10 changes: 5 additions & 5 deletions README.md
Expand Up @@ -15,14 +15,14 @@ VSTGUI is a user interface toolkit mainly for audio plug-ins (VST, AAX, AudioUni
## System requirements
Supported OS:

- Microsoft Windows 7-10
- Apple macOS 10.9-11.0
- Apple iOS 8-14
- Microsoft Windows 10/11
- Apple macOS 10.9-12
- Apple iOS 9-15
- Linux (Preview)

Supported IDE:
- Visual Studio 2015/2017/2019
- minimum Xcode 7.3
- Visual Studio 2015/2017/2019/2022
- minimum Xcode 10.1
- Qt Creator
- Visual Studio Code

Expand Down
5 changes: 3 additions & 2 deletions vstgui/.clang-format
Expand Up @@ -9,8 +9,9 @@ AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
AllowShortFunctionsOnASingleLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLambdasOnASingleLine: Inline
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
Expand Down Expand Up @@ -41,7 +42,7 @@ BreakBeforeInheritanceComma: true
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeComma
BreakAfterJavaFieldAnnotations: false
BreakInheritanceList: BeforeComma
BreakInheritanceList: AfterComma
BreakStringLiterals: true
ColumnLimit: 100
# CommentPragmas: '^ IWYU pragma:'
Expand Down
1 change: 0 additions & 1 deletion vstgui/.vscode/settings.json
Expand Up @@ -51,6 +51,5 @@
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true,
"editor.formatOnSave": true,
"editor.insertSpaces": false
}
16 changes: 4 additions & 12 deletions vstgui/CMakeLists.txt
Expand Up @@ -6,7 +6,9 @@ if(NOT PROJECT_NAME)
set(VSTGUI_MAIN_PROJECT_BUILD 1)
endif()

set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9)
if(NOT CMAKE_OSX_DEPLOYMENT_TARGET)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9)
endif()

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/modules/")

Expand Down Expand Up @@ -95,7 +97,7 @@ if(NOT CMAKE_CONFIGURATION_TYPES)
endif()

if(VSTGUI_MAIN_PROJECT_BUILD)
message("Building only vstgui")
message(STATUS "Building only vstgui")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
$<$<CONFIG:Debug>:${CMAKE_BINARY_DIR}/Debug/>$<$<CONFIG:Release>:${CMAKE_BINARY_DIR}/Release/>$<$<CONFIG:ReleaseLTO>:${CMAKE_BINARY_DIR}/ReleaseLTO/>
)
Expand Down Expand Up @@ -126,10 +128,6 @@ if(NOT VSTGUI_STANDALONE AND VSTGUI_STANDALONE_EXAMPLES)
set(VSTGUI_STANDALONE_EXAMPLES OFF)
endif()

if(NOT DEFINED VSTGUI_ENABLE_DEPRECATED_METHODS)
option(VSTGUI_ENABLE_DEPRECATED_METHODS "Enable VSTGUI deprecated methods" ON)
endif()

if(NOT DEFINED VSTGUI_TOOLS)
option(VSTGUI_TOOLS "Build VSTGUI Tools" ON)
endif()
Expand All @@ -153,9 +151,3 @@ if(hasParent)
set(VSTGUI_COMPILE_DEFINITIONS ${VSTGUI_COMPILE_DEFINITIONS} PARENT_SCOPE)
set(VSTGUI_LTO_COMPILER_FLAGS ${VSTGUI_LTO_COMPILER_FLAGS} PARENT_SCOPE)
endif()

if(VSTGUI_ENABLE_DEPRECATED_METHODS)
target_compile_definitions(vstgui PUBLIC VSTGUI_ENABLE_DEPRECATED_METHODS=1)
else()
target_compile_definitions(vstgui PUBLIC VSTGUI_ENABLE_DEPRECATED_METHODS=0)
endif()
37 changes: 37 additions & 0 deletions vstgui/cmake/modules/vstgui_init.cmake
@@ -1,5 +1,17 @@
cmake_minimum_required(VERSION 3.5)

if(NOT DEFINED VSTGUI_ENABLE_DEPRECATED_METHODS)
option(VSTGUI_ENABLE_DEPRECATED_METHODS "Enable VSTGUI deprecated methods" ON)
endif()

if(NOT DEFINED VSTGUI_ENABLE_XMLPARSER)
option(VSTGUI_ENABLE_XMLPARSER "Enable building deprecated Expat based XML Parser" ON)
endif()

if(NOT DEFINED VSTGUI_ENABLE_OPENGL_SUPPORT)
option(VSTGUI_ENABLE_OPENGL_SUPPORT "Enable OpenGL support" ON)
endif()

##########################################################################################
if(UNIX AND NOT CMAKE_HOST_APPLE)
set(LINUX TRUE CACHE INTERNAL "VSTGUI linux platform")
Expand Down Expand Up @@ -36,13 +48,38 @@ if(MSVC)
set(VSTGUI_LTO_LINKER_FLAGS "/LTCG")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zi")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8")
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /IGNORE:4221")
endif()

##########################################################################################
set(VSTGUI_COMPILE_DEFINITIONS_DEBUG "${VSTGUI_COMPILE_DEFINITIONS_DEBUG};VSTGUI_LIVE_EDITING;DEBUG")
set(VSTGUI_COMPILE_DEFINITIONS_RELEASE "${VSTGUI_COMPILE_DEFINITIONS_RELEASE};NDEBUG;RELEASE")

if(VSTGUI_ENABLE_DEPRECATED_METHODS)
set(VSTGUI_COMPILE_DEFINITIONS_DEBUG "${VSTGUI_COMPILE_DEFINITIONS_DEBUG};VSTGUI_ENABLE_DEPRECATED_METHODS=1")
set(VSTGUI_COMPILE_DEFINITIONS_RELEASE "${VSTGUI_COMPILE_DEFINITIONS_RELEASE};VSTGUI_ENABLE_DEPRECATED_METHODS=1")
else()
set(VSTGUI_COMPILE_DEFINITIONS_DEBUG "${VSTGUI_COMPILE_DEFINITIONS_DEBUG};VSTGUI_ENABLE_DEPRECATED_METHODS=0")
set(VSTGUI_COMPILE_DEFINITIONS_RELEASE "${VSTGUI_COMPILE_DEFINITIONS_RELEASE};VSTGUI_ENABLE_DEPRECATED_METHODS=0")
endif()

if(VSTGUI_ENABLE_XMLPARSER)
set(VSTGUI_COMPILE_DEFINITIONS_DEBUG "${VSTGUI_COMPILE_DEFINITIONS_DEBUG};VSTGUI_ENABLE_XML_PARSER=1")
set(VSTGUI_COMPILE_DEFINITIONS_RELEASE "${VSTGUI_COMPILE_DEFINITIONS_RELEASE};VSTGUI_ENABLE_XML_PARSER=1")
else()
set(VSTGUI_COMPILE_DEFINITIONS_DEBUG "${VSTGUI_COMPILE_DEFINITIONS_DEBUG};VSTGUI_ENABLE_XML_PARSER=0")
set(VSTGUI_COMPILE_DEFINITIONS_RELEASE "${VSTGUI_COMPILE_DEFINITIONS_RELEASE};VSTGUI_ENABLE_XML_PARSER=0")
endif()

if(VSTGUI_ENABLE_OPENGL_SUPPORT)
set(VSTGUI_COMPILE_DEFINITIONS_DEBUG "${VSTGUI_COMPILE_DEFINITIONS_DEBUG};VSTGUI_OPENGL_SUPPORT=1")
set(VSTGUI_COMPILE_DEFINITIONS_RELEASE "${VSTGUI_COMPILE_DEFINITIONS_RELEASE};VSTGUI_OPENGL_SUPPORT=1")
else()
set(VSTGUI_COMPILE_DEFINITIONS_DEBUG "${VSTGUI_COMPILE_DEFINITIONS_DEBUG};VSTGUI_OPENGL_SUPPORT=0")
set(VSTGUI_COMPILE_DEFINITIONS_RELEASE "${VSTGUI_COMPILE_DEFINITIONS_RELEASE};VSTGUI_OPENGL_SUPPORT=0")
endif()

set(VSTGUI_COMPILE_DEFINITIONS PRIVATE
$<$<CONFIG:Debug>:${VSTGUI_COMPILE_DEFINITIONS_DEBUG}>
$<$<CONFIG:Release>:${VSTGUI_COMPILE_DEFINITIONS_RELEASE}>
Expand Down
3 changes: 1 addition & 2 deletions vstgui/doxygen/doc.h
Expand Up @@ -50,10 +50,9 @@ to your IDE project and add a search path to the parent of the root folder of vs
\par On macOS, you need to link to the following Frameworks:
- Accelerate
- Carbon
- Cocoa
- OpenGL
- QuartzCore
- OpenGL (Optional)
\par On iOS, you need to link to the following Frameworks:
Expand Down
45 changes: 37 additions & 8 deletions vstgui/doxygen/page_changes.h
Expand Up @@ -11,7 +11,6 @@
- @ref new_stuff @n
- @ref code_changes @n
- @ref hidpi_support @n
- @ref cocoa_support @n
- @ref ios_support @n
- @subpage page_previous_new_stuff
Expand All @@ -23,6 +22,13 @@ It's recommended to start new projects with version 4 while old projects should
@section new_stuff New Stuff
@subsection version4_11 Version 4.11
- Using DirectComposition on Windows now with support for CLayeredViewContainer
- Removed 32-bit Carbon support
- Reworked event handling, please see @ref code_changes_4_10_to_4_11
- Reworked unit test framework to be able to debug the tests
@subsection version4_10 Version 4.10
- VSTGUI now needs to be initialized and terminated explicitly. See VSTGUI::init() and VSTGUI::exit().
Expand Down Expand Up @@ -110,6 +116,36 @@ Note: All current deprecated methods will be removed in the next version. So mak
@section code_changes Changes for existing VSTGUI code
@subsection code_changes_4_10_to_4_11 VSTGUI 4.10 -> VSTGUI 4.11
Changes due to event handling rework:
- IKeyboardHook changed its methods. If you inherit from it, you need to adopt to the new methods or use OldKeyboardHookAdapter
- IMouseObserver changed a few of its methods. If you inherit from it, you need to adopt to the new methods or use OldMouseObserverAdapter
- CViewContainer::onWheel is now marked final, you cannot inherit this method, please override the new CView::onMouseWheelEvent instead if you need to handle mouse wheel events in a custom view container
- DragEventData has changed it's modifiers type from CButtonState to Modifiers
- CView::hitTest uses an Event now instead of a CButtonState (the method with a CButtonState still works but is deprecated)
- CControl::checkDefaultValue(CButtonState) was removed and replaced by a generic method which uses
the static function CControl::CheckDefaultValueEventFunc to reset a control to its default value
CView has the following new methods:
- dispatchEvent
- onMouseDownEvent
- onMouseMoveEvent
- onMouseUpEvent
- onMouseCancelEvent
- onMouseEnterEvent
- onMouseExitEvent
- onMouseWheelEvent
- onZoomGestureEvent
- onKeyboardEvent
Which replaces the following old methods:
- onKeyDown
- onKeyUp
- onWheel
The old mouse methods (onMouseDown, onMouseUp, onMouseMoved, etc) are still supported but should be replaced with the new methods in the long run.
@subsection code_changes_4_9_to_4_10 VSTGUI 4.9 -> VSTGUI 4.10
- one has to use VSTGUI::init() before using VSTGUI and VSTGUI::exit() after use
Expand Down Expand Up @@ -199,13 +235,6 @@ Note: All current deprecated methods will be removed in the next version. So mak
- HiDPI is supported on OSX, iOS and Windows (with Direct2D backend)
- Due to platform differences one need to call frame->setZoom (scaleFactor) on Windows, while on OSX and iOS this is not needed.
@section cocoa_support Cocoa notes
- To get cocoa support your minimum required Mac OS X version is 10.6.
- In 32 bit Cocoa and Carbon are available. You can switch between them with CFrame::setCocoaMode(bool state). You must do this before creating the CFrame.
- In 64 bit only Cocoa is available.
- The pSystemWindow pointer in the CFrame constructor must be a NSView not a NSWindow.
@section ios_support iOS support notes
- VSTGUI supports iOS 7 and later
Expand Down

0 comments on commit addf12b

Please sign in to comment.