diff --git a/apps/projectGenerator b/apps/projectGenerator index fd5f21c2c01..74afcd48555 160000 --- a/apps/projectGenerator +++ b/apps/projectGenerator @@ -1 +1 @@ -Subproject commit fd5f21c2c01679c87d240b813ace04c9c1c43c0a +Subproject commit 74afcd48555ba9b3d0c430b2853ddad306a89b63 diff --git a/libs/openFrameworks/app/ofAppRunner.cpp b/libs/openFrameworks/app/ofAppRunner.cpp index df84e27ffbb..26b606de6dc 100644 --- a/libs/openFrameworks/app/ofAppRunner.cpp +++ b/libs/openFrameworks/app/ofAppRunner.cpp @@ -33,11 +33,6 @@ using std::shared_ptr; #include "ofGstUtils.h" #endif -// adding this for vc2010 compile: error C3861: 'closeQuicktime': identifier not found -#if defined(OF_VIDEO_CAPTURE_QUICKTIME) || defined(OF_VIDEO_PLAYER_QUICKTIME) - #include "ofQtUtils.h" -#endif - #if defined (TARGET_WIN32) #include #endif @@ -248,12 +243,6 @@ void ofExitCallback(){ //------------------------ #endif - // try to close quicktime, for non-linux systems: - #if defined(OF_VIDEO_CAPTURE_QUICKTIME) || defined(OF_VIDEO_PLAYER_QUICKTIME) - closeQuicktime(); - #endif - - //------------------------ // try to close freeImage: ofCloseFreeImage(); diff --git a/libs/openFrameworks/utils/ofConstants.h b/libs/openFrameworks/utils/ofConstants.h index 28e03fdc64d..e647d178204 100644 --- a/libs/openFrameworks/utils/ofConstants.h +++ b/libs/openFrameworks/utils/ofConstants.h @@ -209,12 +209,8 @@ enum ofTargetPlatform{ #define TARGET_GLFW_WINDOW #define OF_CAIRO #define OF_RTAUDIO - #ifndef __MACOSX_CORE__ - #define __MACOSX_CORE__ // rtAudio - #endif - #ifndef OF_NO_FMOD - #define OF_NO_FMOD - #endif + + #include "GL/glew.h" #include "OpenGL/OpenGL.h" @@ -324,39 +320,31 @@ typedef TESSindex ofIndexType; #if (defined(_M_ARM64) || defined(_M_ARM64EC)) && defined(TARGET_WIN32) - #undef USE_FMOD // No FMOD lib for ARM64 yet - #ifndef OF_NO_FMOD - #define OF_NO_FMOD - #endif + // #undef USE_FMOD // No FMOD lib for ARM64 yet #include // intrinsics SIMD on https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=msvc-170 #endif -//------------------------------------------------ soundplayer -//MAC_OS and IOS uncomment to enable AVEnginePlayer -#ifdef OF_NO_FMOD - #undef USE_FMOD - #if defined(TARGET_OF_IOS) || defined(TARGET_OSX) - #define OF_SOUND_PLAYER_AV_ENGINE - #elif defined(TARGET_WIN32) - #define OF_SOUND_PLAYER_MEDIA_FOUNDATION - #endif -#endif + // check if any soundplayer api is defined from the compiler +//------------------------------------------------ soundplayer #if !defined(TARGET_NO_SOUND) -#if !defined(OF_SOUND_PLAYER_QUICKTIME) && !defined(OF_SOUND_PLAYER_FMOD) && !defined(OF_SOUND_PLAYER_OPENAL) && !defined(OF_SOUND_PLAYER_EMSCRIPTEN) && !defined(OF_SOUND_PLAYER_AV_ENGINE) && !defined(OF_SOUND_PLAYER_MEDIA_FOUNDATION) - #ifdef TARGET_OF_IOS - #define OF_SOUND_PLAYER_IPHONE - #elif defined(TARGET_LINUX) || defined(TARGET_MINGW) - #define OF_SOUND_PLAYER_OPENAL - #elif defined(TARGET_EMSCRIPTEN) - #define OF_SOUND_PLAYER_EMSCRIPTEN - #elif !defined(TARGET_ANDROID) && (!defined(USE_FMOD) || USE_FMOD) - #define OF_SOUND_PLAYER_FMOD - #endif -#endif - + #if defined(USE_FMOD) + #define OF_SOUND_PLAYER_FMOD + #else + #if defined(TARGET_OF_IOS) || defined(TARGET_OSX) + #define OF_SOUND_PLAYER_AV_ENGINE +// #elif defined(TARGET_OF_IOS) +// #define OF_SOUND_PLAYER_IPHONE + #elif defined(TARGET_LINUX) || defined(TARGET_MINGW) + #define OF_SOUND_PLAYER_OPENAL + #elif defined(TARGET_EMSCRIPTEN) + #define OF_SOUND_PLAYER_EMSCRIPTEN + #elif defined(TARGET_WIN32) + #define OF_SOUND_PLAYER_MEDIA_FOUNDATION + #endif + #endif #endif //------------------------------------------------ thread local storage diff --git a/libs/openFrameworks/video/ofDirectShowGrabber.h b/libs/openFrameworks/video/ofDirectShowGrabber.h index 96545e48dcb..0b755eca6e2 100644 --- a/libs/openFrameworks/video/ofDirectShowGrabber.h +++ b/libs/openFrameworks/video/ofDirectShowGrabber.h @@ -6,17 +6,11 @@ #include "ofVideoBaseTypes.h" #include "ofPixels.h" // MARK: ofPixels pixels -// comment out this following line, if you'd like to use the -// quicktime capture interface on windows -// if not, we default to videoInput library for -// direct show capture... #define OF_SWITCH_TO_DSHOW_FOR_WIN_VIDCAP #ifdef OF_SWITCH_TO_DSHOW_FOR_WIN_VIDCAP #define OF_VIDEO_CAPTURE_DIRECTSHOW -#else - #define OF_VIDEO_CAPTURE_QUICKTIME #endif diff --git a/libs/openFrameworks/video/ofDirectShowPlayer.h b/libs/openFrameworks/video/ofDirectShowPlayer.h index 85e3e3536f5..0bde3e8505c 100644 --- a/libs/openFrameworks/video/ofDirectShowPlayer.h +++ b/libs/openFrameworks/video/ofDirectShowPlayer.h @@ -1,6 +1,5 @@ //DirectShowVideo and ofDirectShowPlayer written by Theodore Watson, Jan 2014 //See the cpp file for the DirectShow implementation -//To allow for QuickTime video playback install the K-Lite Mega Codec Pack 10.2 #pragma once #include "ofVideoBaseTypes.h" diff --git a/libs/openFrameworks/video/ofVideoGrabber.cpp b/libs/openFrameworks/video/ofVideoGrabber.cpp index 2872fd4cdc8..1d593c80fec 100644 --- a/libs/openFrameworks/video/ofVideoGrabber.cpp +++ b/libs/openFrameworks/video/ofVideoGrabber.cpp @@ -7,7 +7,10 @@ // ------------------------------------------------ capture // check if any video capture system is already defined from the compiler -#if !defined(OF_VIDEO_CAPTURE_GSTREAMER) && !defined(OF_VIDEO_CAPTURE_QUICKTIME) && !defined(OF_VIDEO_CAPTURE_DIRECTSHOW) && !defined(OF_VIDEO_CAPTURE_ANDROID) && !defined(OF_VIDEO_CAPTURE_IOS) +#if !defined(OF_VIDEO_CAPTURE_GSTREAMER) && \ + !defined(OF_VIDEO_CAPTURE_DIRECTSHOW) && \ + !defined(OF_VIDEO_CAPTURE_ANDROID) && \ + !defined(OF_VIDEO_CAPTURE_IOS) #ifdef TARGET_LINUX #define OF_VIDEO_CAPTURE_GSTREAMER @@ -15,36 +18,21 @@ #define OF_VIDEO_CAPTURE_AVF #elif defined (TARGET_WIN32) - // comment out this following line, if you'd like to use the - // quicktime capture interface on windows - // if not, we default to videoInput library for - // direct show capture... - #define OF_SWITCH_TO_DSHOW_FOR_WIN_VIDCAP - - #ifdef OF_SWITCH_TO_DSHOW_FOR_WIN_VIDCAP - #define OF_VIDEO_CAPTURE_DIRECTSHOW - #else - #define OF_VIDEO_CAPTURE_QUICKTIME - #endif + #define OF_VIDEO_CAPTURE_DIRECTSHOW #elif defined(TARGET_ANDROID) - #define OF_VIDEO_CAPTURE_ANDROID #elif defined(TARGET_EMSCRIPTEN) - #define OF_VIDEO_CAPTURE_EMSCRIPTEN #elif defined(TARGET_OF_IOS) - #define OF_VIDEO_CAPTURE_IOS #endif #endif - - #ifdef TARGET_OF_OSX #include #endif @@ -54,16 +42,6 @@ #define OF_VID_GRABBER_TYPE ofxiOSVideoGrabber #endif -// #ifdef OF_VIDEO_CAPTURE_QUICKTIME -// #include "ofQuickTimeGrabber.h" -// #define OF_VID_GRABBER_TYPE ofQuickTimeGrabber -// #endif - -// #ifdef OF_VIDEO_CAPTURE_QTKIT -// #include "ofQTKitGrabber.h" -// #define OF_VID_GRABBER_TYPE ofQTKitGrabber -// #endif - #ifdef OF_VIDEO_CAPTURE_AVF #include "ofAVFoundationGrabber.h" #define OF_VID_GRABBER_TYPE ofAVFoundationGrabber diff --git a/libs/openFrameworks/video/ofVideoPlayer.cpp b/libs/openFrameworks/video/ofVideoPlayer.cpp index bc84360afe6..d46f3495b1b 100644 --- a/libs/openFrameworks/video/ofVideoPlayer.cpp +++ b/libs/openFrameworks/video/ofVideoPlayer.cpp @@ -6,7 +6,12 @@ //------------------------------------------------ video player // check if any video player system is already defined from the compiler -#if !defined(OF_VIDEO_PLAYER_GSTREAMER) && !defined(OF_VIDEO_PLAYER_IOS) && !defined(OF_VIDEO_PLAYER_DIRECTSHOW) && !defined(OF_VIDEO_PLAYER_MEDIA_FOUNDATION) && !defined(OF_VIDEO_PLAYER_QUICKTIME) && !defined(OF_VIDEO_PLAYER_AVFOUNDATION) && !defined(OF_VIDEO_PLAYER_EMSCRIPTEN) +#if !defined(OF_VIDEO_PLAYER_GSTREAMER) && \ + !defined(OF_VIDEO_PLAYER_IOS) && \ + !defined(OF_VIDEO_PLAYER_DIRECTSHOW) && \ + !defined(OF_VIDEO_PLAYER_MEDIA_FOUNDATION) && \ + !defined(OF_VIDEO_PLAYER_AVFOUNDATION) && \ + !defined(OF_VIDEO_PLAYER_EMSCRIPTEN) #ifdef TARGET_LINUX #define OF_VIDEO_PLAYER_GSTREAMER #elif defined(TARGET_ANDROID) @@ -14,43 +19,23 @@ #elif defined(TARGET_OF_IOS) #define OF_VIDEO_PLAYER_IOS #elif defined(TARGET_WIN32) - #ifdef _MSC_VER //use MF Foundation player for VS as mingw doesn't have needed symbols + #ifdef _MSC_VER //use MF Foundation player for VS as mingw doesn't have needed symbols #define OF_VIDEO_PLAYER_MEDIA_FOUNDATION - #else - #define OF_VIDEO_PLAYER_DIRECTSHOW - #endif - #elif defined(TARGET_OSX) - //for 10.8 and 10.9 users we use AVFoundation, for 10.7 we use QTKit, for 10.6 users we use QuickTime - #ifndef MAC_OS_X_VERSION_10_7 - #define OF_VIDEO_PLAYER_QUICKTIME - #elif !defined(MAC_OS_X_VERSION_10_8) - #define OF_VIDEO_PLAYER_QTKIT #else - #define OF_VIDEO_PLAYER_AVFOUNDATION + #define OF_VIDEO_PLAYER_DIRECTSHOW #endif + #elif defined(TARGET_OSX) + #define OF_VIDEO_PLAYER_AVFOUNDATION #elif defined(TARGET_EMSCRIPTEN) #define OF_VIDEO_PLAYER_EMSCRIPTEN - #else - #define OF_VIDEO_PLAYER_QUICKTIME #endif #endif - #ifdef OF_VIDEO_PLAYER_GSTREAMER #include "ofGstVideoPlayer.h" #define OF_VID_PLAYER_TYPE ofGstVideoPlayer #endif -//#ifdef OF_VIDEO_PLAYER_QUICKTIME -// #include "ofQuickTimePlayer.h" -// #define OF_VID_PLAYER_TYPE ofQuickTimePlayer -//#endif -// -//#ifdef OF_VIDEO_PLAYER_QTKIT -// #include "ofQTKitPlayer.h" -// #define OF_VID_PLAYER_TYPE ofQTKitPlayer -//#endif - #ifdef OF_VIDEO_PLAYER_AVFOUNDATION #include "ofAVFoundationPlayer.h" #define OF_VID_PLAYER_TYPE ofAVFoundationPlayer diff --git a/libs/openFrameworksCompiled/project/macos/CoreOF.xcconfig b/libs/openFrameworksCompiled/project/macos/CoreOF.xcconfig index 6ab76cc4a43..696627bb94a 100644 --- a/libs/openFrameworksCompiled/project/macos/CoreOF.xcconfig +++ b/libs/openFrameworksCompiled/project/macos/CoreOF.xcconfig @@ -51,10 +51,12 @@ OF_CORE_LIBS = $(MISC_FLAGS) OF_CORE_HEADERS = $(HEADER_OF) $(HEADER_FREEIMAGE) $(HEADER_UTF8) $(HEADER_JSON) $(HEADER_GLM) $(HEADER_TESS2) $(HEADER_CAIRO) $(HEADER_RTAUDIO) $(HEADER_GLFW) $(HEADER_FREETYPE) $(HEADER_FREETYPE2) $(HEADER_CURL) $(HEADER_URIPARSER) $(HEADER_PUGIXML) $(HEADER_GLEW) $(HEADER_CURL) $(HEADER_OPENSSL) $(HEADER_BROTLI) OF_CORE_FRAMEWORKS = -framework Accelerate -framework AGL -framework AppKit -framework ApplicationServices -framework AudioToolbox -framework AVFoundation -framework Cocoa -framework CoreAudio -framework CoreFoundation -framework CoreMedia -framework CoreServices -framework CoreVideo -framework IOKit -framework OpenGL -framework QuartzCore -framework Security -//-framework AudioToolbox -framework Accelerate -framework AVFoundation -framework CoreAudio -framework CoreGraphics -framework CoreLocation -framework CoreMotion -framework CoreMedia -framework CoreVideo -framework Foundation -framework GameController -framework GLKit -framework MapKit -framework OpenAL -framework OpenGLES -framework UIKit -framework Security -framework QuartzCore -framework CoreHaptics -// - +//FMOD can be enabled in OF Core by uncommenting this block +//USE_FMOD=1 +//USER_PREPROCESSOR_DEFINITIONS=USE_FMOD=1 $(inherited) +//OF_CORE_HEADERS = $(OF_PATH)/libs/fmod/include $(inherited) +//OF_CORE_LIBS=$(OF_PATH)/libs/fmod/lib/macos/libfmod.dylib $(inherited) ALWAYS_SEARCH_USER_PATHS = NO DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING = YES diff --git a/libs/openFrameworksCompiled/project/macos/config.macos.default.mk b/libs/openFrameworksCompiled/project/macos/config.macos.default.mk index d4a6df24f9f..c9d0ae3caf6 100644 --- a/libs/openFrameworksCompiled/project/macos/config.macos.default.mk +++ b/libs/openFrameworksCompiled/project/macos/config.macos.default.mk @@ -268,11 +268,10 @@ PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/app/ofAppEGLWindow.cp # third party -# ifeq ($(USE_FMOD),0) +ifeq ($(USE_FMOD),0) PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/fmod/% PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/sound/ofFmodSoundPlayer.cpp -PLATFORM_CFLAGS += -DUSE_FMOD=0 -# endif +endif ########################################################################################## # PLATFORM HEADER SEARCH PATHS @@ -429,10 +428,10 @@ afterplatform: $(TARGET_NAME) @echo TARGET=$(TARGET) @mv $(TARGET) bin/$(BIN_NAME).app/Contents/MacOS -# ifneq ($(USE_FMOD),0) -# @mkdir -p bin/$(BIN_NAME).app/Contents/Frameworks -# @cp $(OF_LIBS_PATH)/*/lib/$(PLATFORM_LIB_SUBPATH)/*.$(SHARED_LIB_EXTENSION) bin/$(BIN_NAME).app/Contents/Frameworks/; -# endif +ifneq ($(USE_FMOD),0) + @mkdir -p bin/$(BIN_NAME).app/Contents/Frameworks + @cp $(OF_LIBS_PATH)/*/lib/$(PLATFORM_LIB_SUBPATH)/*.$(SHARED_LIB_EXTENSION) bin/$(BIN_NAME).app/Contents/Frameworks/; +endif @echo diff --git a/libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig b/libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig index 3323df5a861..dfda8e1c9c5 100644 --- a/libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig +++ b/libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig @@ -6,49 +6,56 @@ CLANG_C_LANGUAGE_STANDARD = c17 MACOSX_DEPLOYMENT_TARGET = 10.15 -HEADER_OF = "$(OF_PATH)/libs/openFrameworks/**" -HEADER_FREETYPE = "$(OF_PATH)/libs/freetype/include" -HEADER_FREETYPE2 = "$(OF_PATH)/libs/freetype/include/freetype2" -//HEADER_FMOD = "$(OF_PATH)/libs/fmod/include" -HEADER_GLEW = "$(OF_PATH)/libs/glew/include" -HEADER_FREEIMAGE = "$(OF_PATH)/libs/FreeImage/include" -HEADER_TESS2 = "$(OF_PATH)/libs/tess2/include" -HEADER_CAIRO = "$(OF_PATH)/libs/cairo/include" -HEADER_RTAUDIO = "$(OF_PATH)/libs/rtAudio/include" -HEADER_GLFW = "$(OF_PATH)/libs/glfw/include" -HEADER_UTF8 = "$(OF_PATH)/libs/utf8/include" -HEADER_JSON = "$(OF_PATH)/libs/json/include" -HEADER_GLM = "$(OF_PATH)/libs/glm/include" -HEADER_BROTLI = "$(OF_PATH)/libs/brotli/include" -HEADER_CURL = "$(OF_PATH)/libs/curl/include" -HEADER_SSL = "$(OF_PATH)/libs/openssl/include" -HEADER_URIPARSER = "$(OF_PATH)/libs/uriparser/include" -HEADER_PUGIXML = "$(OF_PATH)/libs/pugixml/include" +HEADER_OF = $(OF_PATH)/libs/openFrameworks/** +HEADER_FREETYPE = $(OF_PATH)/libs/freetype/include +HEADER_FREETYPE2 = $(OF_PATH)/libs/freetype/include/freetype2 +//HEADER_FMOD = $(OF_PATH)/libs/fmod/include +HEADER_GLEW = $(OF_PATH)/libs/glew/include +HEADER_FREEIMAGE = $(OF_PATH)/libs/FreeImage/include +HEADER_TESS2 = $(OF_PATH)/libs/tess2/include +HEADER_CAIRO = $(OF_PATH)/libs/cairo/include +HEADER_RTAUDIO = $(OF_PATH)/libs/rtAudio/include +HEADER_GLFW = $(OF_PATH)/libs/glfw/include +HEADER_UTF8 = $(OF_PATH)/libs/utf8/include +HEADER_JSON = $(OF_PATH)/libs/json/include +HEADER_GLM = $(OF_PATH)/libs/glm/include +HEADER_BROTLI = $(OF_PATH)/libs/brotli/include +HEADER_CURL = $(OF_PATH)/libs/curl/include +HEADER_SSL = $(OF_PATH)/libs/openssl/include +HEADER_URIPARSER = $(OF_PATH)/libs/uriparser/include +HEADER_PUGIXML = $(OF_PATH)/libs/pugixml/include //------- Libraries LIB_OF_RELEASE = "$(OF_PATH)/libs/openFrameworksCompiled/lib/osx/openFrameworks.a" LIB_OF_DEBUG = "$(OF_PATH)/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a" -//LIB_FMOD = "$(OF_PATH)/libs/fmod/lib/macos/libfmod.dylib" - -//LIB_GLFW = "$(OF_PATH)/libs/glfw/lib/osx/glfw3.a" -//LIB_FREEIMAGE = "$(OF_PATH)/libs/FreeImage/lib/osx/freeimage.a" -//LIB_FREETYPE = "$(OF_PATH)/libs/freetype/lib/osx/freetype.a" -//LIB_GLEW = "$(OF_PATH)/libs/glew/lib/osx/glew.a" -//LIB_RTAUDIO = "$(OF_PATH)/libs/rtAudio/lib/osx/rtaudio.a" -//LIB_TESS = "$(OF_PATH)/libs/tess2/lib/osx/tess2.a" -//LIB_CAIRO1 = "$(OF_PATH)/libs/cairo/lib/osx/cairo-script-interpreter.a" -//LIB_CAIRO2 = "$(OF_PATH)/libs/cairo/lib/osx/cairo.a" -//LIB_CAIRO3 = "$(OF_PATH)/libs/cairo/lib/osx/pixman-1.a" +//LIB_FMOD = $(OF_PATH)/libs/fmod/lib/macos/libfmod.dylib + +//LIB_GLFW = $(OF_PATH)/libs/glfw/lib/osx/glfw3.a +//LIB_FREEIMAGE = $(OF_PATH)/libs/FreeImage/lib/osx/freeimage.a +//LIB_FREETYPE = $(OF_PATH)/libs/freetype/lib/osx/freetype.a +//LIB_GLEW = $(OF_PATH)/libs/glew/lib/osx/glew.a +//LIB_RTAUDIO = $(OF_PATH)/libs/rtAudio/lib/osx/rtaudio.a +//LIB_TESS = $(OF_PATH)/libs/tess2/lib/osx/tess2.a +//LIB_CAIRO1 = $(OF_PATH)/libs/cairo/lib/osx/cairo-script-interpreter.a +//LIB_CAIRO2 = $(OF_PATH)/libs/cairo/lib/osx/cairo.a +//LIB_CAIRO3 = $(OF_PATH)/libs/cairo/lib/osx/pixman-1.a //LIB_CURL = "-lcurl" -//LIB_URIPARSER = "$(OF_PATH)/libs/uriparser/lib/osx/uriparser.a" -//LIB_PUGIXML = "$(OF_PATH)/libs/pugixml/lib/osx/pugixml.a" +//LIB_URIPARSER = $(OF_PATH)/libs/uriparser/lib/osx/uriparser.a +//LIB_PUGIXML = $(OF_PATH)/libs/pugixml/lib/osx/pugixml.a + + OF_CORE_HEADERS = $(HEADER_OF) $(HEADER_FREETYPE) $(HEADER_FREETYPE2) $(HEADER_GLEW) $(HEADER_FREEIMAGE) $(HEADER_TESS2) $(HEADER_CAIRO) $(HEADER_RTAUDIO) $(HEADER_GLFW) $(HEADER_UTF8) $(HEADER_JSON) $(HEADER_GLM) $(HEADER_CURL) ${HEADER_SSL} $(HEADER_URIPARSER) $(HEADER_PUGIXML) ${HEADER_BROTLI} OF_CORE_FRAMEWORKS = -framework Accelerate -framework AGL -framework AppKit -framework ApplicationServices -framework AudioToolbox -framework AVFoundation -framework Cocoa -framework CoreAudio -framework CoreFoundation -framework CoreMedia -framework CoreServices -framework CoreVideo -framework Foundation -framework IOKit -framework OpenGL -framework QuartzCore -framework Security -framework SystemConfiguration -framework Metal +// FMOD can be enabled in OF Core by uncommenting this block +//USE_FMOD=1 +//USER_PREPROCESSOR_DEFINITIONS=USE_FMOD=1 $(inherited) +//OF_CORE_HEADERS = $(OF_PATH)/libs/fmod/include $(inherited) +//OF_CORE_LIBS=$(OF_PATH)/libs/fmod/lib/macos/libfmod.dylib $(inherited) ALWAYS_SEARCH_USER_PATHS = NO diff --git a/libs/openFrameworksCompiled/project/osx/config.osx.default.mk b/libs/openFrameworksCompiled/project/osx/config.osx.default.mk index a72ec5566a8..6cc17035b33 100644 --- a/libs/openFrameworksCompiled/project/osx/config.osx.default.mk +++ b/libs/openFrameworksCompiled/project/osx/config.osx.default.mk @@ -253,26 +253,20 @@ endif # core sources PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/app/ofAppGlutWindow.cpp +PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/app/ofAppEGLWindow.cpp PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/video/ofDirectShowGrabber.cpp PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/video/ofDirectShowPlayer.cpp PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/video/ofMediaFoundationPlayer.cpp PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/sound/ofMediaFoundationSoundPlayer.cpp +PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/sound/ofOpenALSoundPlayer.cpp +PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/sound/ofFmodSoundPlayer.cpp ifneq ($(USE_GST),1) PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/video/ofGstUtils.cpp PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/video/ofGstVideoGrabber.cpp PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/video/ofGstVideoPlayer.cpp endif -PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/app/ofAppEGLWindow.cpp - -# third party - -# ifeq ($(USE_FMOD),0) -PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/fmod/% -PLATFORM_CORE_EXCLUSIONS += $(OF_LIBS_PATH)/openFrameworks/sound/ofFmodSoundPlayer.cpp -PLATFORM_CFLAGS += -DUSE_FMOD=0 -# endif ########################################################################################## # PLATFORM HEADER SEARCH PATHS diff --git a/libs/openFrameworksCompiled/project/qtcreator/openFrameworks.qbs b/libs/openFrameworksCompiled/project/qtcreator/openFrameworks.qbs index 5e3f751c001..93b5ccd23f2 100644 --- a/libs/openFrameworksCompiled/project/qtcreator/openFrameworks.qbs +++ b/libs/openFrameworksCompiled/project/qtcreator/openFrameworks.qbs @@ -61,10 +61,6 @@ Product{ "video/ofDirectShowGrabber\\..*", "video/ofAVFoundationVideoPlayer\\..*", "video/ofAVFoundationVideoGrabber\\..*", - "video/ofQuickTimePlayer\\..*", - "video/ofQuickTimeGrabber\\..*", - "video/ofQtUtils\\..*", - "video/ofQTKit\\..*", "app/ofAppEGLWindow\\..*", ]; }else if(qbs.targetOS.indexOf("windows")>-1){ @@ -75,10 +71,6 @@ Product{ "video/ofGstUtils\\..*", "video/ofAVFoundationVideoPlayer\\..*", "video/ofAVFoundationVideoGrabber\\..*", - "video/ofQuickTimePlayer\\..*", - "video/ofQuickTimeGrabber\\..*", - "video/ofQtUtils\\..*", - "video/ofQTKit\\..*", "app/ofAppEGLWindow\\..*", ]; }else if(qbs.targetOS.indexOf("osx")>-1){ @@ -89,10 +81,6 @@ Product{ "video/ofGstUtils\\..*", "video/ofDirectShowPlayer\\..*", "video/ofDirectShowGrabber\\..*", - "video/ofQuickTimePlayer\\..*", - "video/ofQuickTimeGrabber\\..*", - "video/ofQtUtils\\..*", - "video/ofQTKit\\..*", "app/ofAppEGLWindow\\..*", ]; } diff --git a/scripts/apothecary b/scripts/apothecary index 809eb84f0e1..fae96e61587 160000 --- a/scripts/apothecary +++ b/scripts/apothecary @@ -1 +1 @@ -Subproject commit 809eb84f0e1807c81dfb6c771707899ce7101765 +Subproject commit fae96e615875a701d48dc29cf4a3be24bc472a07 diff --git a/scripts/osx/xcode_project.sh b/scripts/osx/xcode_project.sh index fd0b12c81ab..d3e3cb73489 100755 --- a/scripts/osx/xcode_project.sh +++ b/scripts/osx/xcode_project.sh @@ -23,7 +23,7 @@ copy_resources() { rsync -aved --delete --exclude='.DS_Store' "$ICON_FILE" "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/" fi # Copy libfmod and change install directory for fmod to run - if [ -z "$OF_NO_FMOD" ] ; then + if [ -n "$USE_FMOD" ] ; then msg "Copying Resources - Fmod" echo rsync -aved --delete --ignore-existing "$OF_PATH/libs/fmod/lib/macos/libfmod.dylib" "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/"; rsync -aved --delete --ignore-existing "$OF_PATH/libs/fmod/lib/macos/libfmod.dylib" "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/"; diff --git a/scripts/templates/ios/Project.xcconfig b/scripts/templates/ios/Project.xcconfig index 23877e2d5e1..3666e0f839d 100644 --- a/scripts/templates/ios/Project.xcconfig +++ b/scripts/templates/ios/Project.xcconfig @@ -12,9 +12,6 @@ OF_PATH = ../../.. MARKETING_VERSION = 0.1.0 -OF_NO_FMOD=1 -USER_PREPROCESSOR_DEFINITIONS="OF_NO_FMOD=1" - // this is "Build" in the Xcode target Identity UI, an incremental build number // important for the App Store as new build submissions need a diff number even // if MARKETING_VERSION is the same diff --git a/scripts/templates/macos/Project.xcconfig b/scripts/templates/macos/Project.xcconfig index 4dc5ec5b058..2dde510f8d6 100644 --- a/scripts/templates/macos/Project.xcconfig +++ b/scripts/templates/macos/Project.xcconfig @@ -1,19 +1,19 @@ -//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. -//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED +// OpenFrameworks root path, relative to this project path. +// This needs to be defined before CoreOF.xcconfig is included OF_PATH = ../../.. -//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE -#include "../../../libs/openFrameworksCompiled/project/macos/CoreOF.xcconfig" +// OpenFrameworks Core headers and libs +#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" -//UNCOMMENT BELOW TO ENABLE C++ 17 and std::filesystem -CLANG_CXX_LANGUAGE_STANDARD = c++17 +// Project settings. Changes here will recompile OF Core +CLANG_CXX_LANGUAGE_STANDARD = c++23 +CLANG_C_LANGUAGE_STANDARD = c17 MACOSX_DEPLOYMENT_TARGET = 10.15 -// App Settings +// App Settings - overridden if changed in Xcode UI PRODUCT_NAME = $(TARGET_NAME) PRODUCT_NAME[config=Debug] = $(TARGET_NAME)Debug PRODUCT_BUNDLE_IDENTIFIER = cc.openFrameworks.${TARGET_NAME:rfc1034identifier} -//PRODUCT_BUNDLE_IDENTIFIER[config=Debug] = cc.openFrameworks.$(TARGET_NAME)Debug DEVELOPMENT_LANGUAGE = English CODE_SIGN_IDENTITY = - INFOPLIST_FILE = openFrameworks-Info.plist @@ -23,28 +23,25 @@ GENERATE_INFOPLIST_FILE = YES // note: this sets the initial value in the Xcode UI INFOPLIST_KEY_LSApplicationCategoryType = public.app-category.games -// VERSIONING - overridden if changed in Xcode UI - +// Versioning // this is "Version" in the Xcode target Identity UI // suggested to use semantic versioning format ala #.#.# MARKETING_VERSION = 0.1.0 -// If users upgrade project to recommended settings it enables script sandboxing which breaks our post build script -ENABLE_USER_SCRIPT_SANDBOXING=NO - // this is "Build" in the Xcode target Identity UI, an incremental build number // important for the App Store as new build submissions need a diff number even // if MARKETING_VERSION is the same CURRENT_PROJECT_VERSION = 1 -// ICONS +// If users upgrade project to recommended settings it enables script sandboxing which breaks our post build script +ENABLE_USER_SCRIPT_SANDBOXING=NO -// default oF app icon +// Icons - default oF app icon ICON_NAME = of.icns ICON_NAME[config=Debug] = of_debug.icns -ICON_FILE = $(OF_PATH)/libs/openFrameworksCompiled/project/macos/$(ICON_NAME) +ICON_FILE = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/$(ICON_NAME) -// custom app icon, placed in main project folder +// Icons - custom app icon, placed in main project folder //ICON_NAME = MyApp.icns //ICON_FILE = $(ICON_NAME) @@ -53,16 +50,7 @@ ICON_FILE = $(OF_PATH)/libs/openFrameworksCompiled/project/macos/$(ICON_NAME) //ICON_NAME[config=Debug] = icon-debug.icns //ICON_FILE = bin/data/$(ICON_NAME) -// note: oF 0.7.2 - 0.11 used ICON_FILE_PATH which is no longer used in oF 0.12+ -// ex. change ICON_FILE_PATH = bin/data/ -> ICON_FILE = bin/data/$(ICON_NAME) & -// in a custom openFrameworks-Info.plist, set CFBundleIconFile to ICON_NAME - -//FOR AV ENGINE SOUND PLAYER UNCOMMENT TWO LINES BELOW -OF_NO_FMOD=1 -USER_PREPROCESSOR_DEFINITIONS="OF_NO_FMOD=1" -GCC_PREPROCESSOR_DEFINITIONS=$(inherited)$(USER_PREPROCESSOR_DEFINITIONS) - -//APPSTORE, uncomment next lines to bundle data folder and code sign +// App Store, uncomment next lines to bundle data folder and code sign //OF_CODESIGN = 1 //OF_BUNDLE_DATA_FOLDER = 1 //OF_BUNDLE_DYLIBS = 1 @@ -70,6 +58,10 @@ GCC_PREPROCESSOR_DEFINITIONS=$(inherited)$(USER_PREPROCESSOR_DEFINITIONS) // Optional include to keep any permanent settings as CODE_SIGN_IDENTITY. #include? "App.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS=$(inherited) $(USER_PREPROCESSOR_DEFINITIONS) + OTHER_CFLAGS = $(OF_CORE_CFLAGS) OTHER_LDFLAGS = $(OF_CORE_LIBS) $(OF_CORE_FRAMEWORKS) HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) + +OF_CORE_BUILD_COMMAND = xcodebuild -project $OF_PATH/libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj -target openFrameworks -configuration ${CONFIGURATION} CLANG_CXX_LANGUAGE_STANDARD=$CLANG_CXX_LANGUAGE_STANDARD MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET GCC_PREPROCESSOR_DEFINITIONS=$USER_PREPROCESSOR_DEFINITIONS diff --git a/scripts/templates/osx/Project.xcconfig b/scripts/templates/osx/Project.xcconfig index 3b5e6c79b9e..f60c28a0bfe 100644 --- a/scripts/templates/osx/Project.xcconfig +++ b/scripts/templates/osx/Project.xcconfig @@ -1,20 +1,19 @@ -//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. -//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED +// OpenFrameworks root path, relative to this project path. +// This needs to be defined before CoreOF.xcconfig is included OF_PATH = ../../.. -//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE +// OpenFrameworks Core headers and libs #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" -//UNCOMMENT BELOW TO ENABLE C++ 17 and std::filesystem +// Project settings. Changes here will recompile OF Core CLANG_CXX_LANGUAGE_STANDARD = c++23 CLANG_C_LANGUAGE_STANDARD = c17 MACOSX_DEPLOYMENT_TARGET = 10.15 -// App Settings +// App Settings - overridden if changed in Xcode UI PRODUCT_NAME = $(TARGET_NAME) PRODUCT_NAME[config=Debug] = $(TARGET_NAME)Debug PRODUCT_BUNDLE_IDENTIFIER = cc.openFrameworks.${TARGET_NAME:rfc1034identifier} -//PRODUCT_BUNDLE_IDENTIFIER[config=Debug] = cc.openFrameworks.$(TARGET_NAME)Debug DEVELOPMENT_LANGUAGE = English CODE_SIGN_IDENTITY = - INFOPLIST_FILE = openFrameworks-Info.plist @@ -24,28 +23,25 @@ GENERATE_INFOPLIST_FILE = YES // note: this sets the initial value in the Xcode UI INFOPLIST_KEY_LSApplicationCategoryType = public.app-category.games -// VERSIONING - overridden if changed in Xcode UI - +// Versioning // this is "Version" in the Xcode target Identity UI // suggested to use semantic versioning format ala #.#.# MARKETING_VERSION = 0.1.0 -// If users upgrade project to recommended settings it enables script sandboxing which breaks our post build script -ENABLE_USER_SCRIPT_SANDBOXING=NO - // this is "Build" in the Xcode target Identity UI, an incremental build number // important for the App Store as new build submissions need a diff number even // if MARKETING_VERSION is the same CURRENT_PROJECT_VERSION = 1 -// ICONS +// If users upgrade project to recommended settings it enables script sandboxing which breaks our post build script +ENABLE_USER_SCRIPT_SANDBOXING=NO -// default oF app icon +// Icons - default oF app icon ICON_NAME = of.icns ICON_NAME[config=Debug] = of_debug.icns ICON_FILE = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/$(ICON_NAME) -// custom app icon, placed in main project folder +// Icons - custom app icon, placed in main project folder //ICON_NAME = MyApp.icns //ICON_FILE = $(ICON_NAME) @@ -54,11 +50,7 @@ ICON_FILE = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/$(ICON_NAME) //ICON_NAME[config=Debug] = icon-debug.icns //ICON_FILE = bin/data/$(ICON_NAME) -// note: oF 0.7.2 - 0.11 used ICON_FILE_PATH which is no longer used in oF 0.12+ -// ex. change ICON_FILE_PATH = bin/data/ -> ICON_FILE = bin/data/$(ICON_NAME) & -// in a custom openFrameworks-Info.plist, set CFBundleIconFile to ICON_NAME - -//APPSTORE, uncomment next lines to bundle data folder and code sign +// App Store, uncomment next lines to bundle data folder and code sign //OF_CODESIGN = 1 //OF_BUNDLE_DATA_FOLDER = 1 //OF_BUNDLE_DYLIBS = 1 @@ -68,10 +60,6 @@ HIGH_RESOLUTION_CAPABLE = NO // Optional include to keep any permanent settings as CODE_SIGN_IDENTITY. #include? "App.xcconfig" -//FOR AV ENGINE SOUND PLAYER UNCOMMENT THREE LINES BELOW -OF_NO_FMOD=1 -USER_PREPROCESSOR_DEFINITIONS="OF_NO_FMOD=1" -LIB_FMOD="" GCC_PREPROCESSOR_DEFINITIONS=$(inherited) $(USER_PREPROCESSOR_DEFINITIONS) OTHER_CFLAGS = $(OF_CORE_CFLAGS) diff --git a/scripts/templates/tvOS/Project.xcconfig b/scripts/templates/tvOS/Project.xcconfig index b403fbbf7ce..16baec63377 100644 --- a/scripts/templates/tvOS/Project.xcconfig +++ b/scripts/templates/tvOS/Project.xcconfig @@ -5,9 +5,6 @@ OF_PATH = ../../.. //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE #include "../../../libs/openFrameworksCompiled/project/tvOS/CoreOF.xcconfig" -OF_NO_FMOD=1 -USER_PREPROCESSOR_DEFINITIONS="OF_NO_FMOD=1" - OTHER_LDFLAGS = $(OF_CORE_LIBS) $(OF_CORE_FRAMEWORKS) HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS)