From 08b5b88b9d9103c1e86349564c6049557a11bc40 Mon Sep 17 00:00:00 2001 From: Robert Pancoast Date: Thu, 27 Feb 2020 13:04:58 -0500 Subject: [PATCH 1/9] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7215b1e784..e89d49445e 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,4 @@ m4/lt~obsolete.m4 _sync.bat _sync.sh to_sync/ +.DS_Store From 439c8ed2db6ea1888259859e2c725c1575b7cc50 Mon Sep 17 00:00:00 2001 From: Robert Pancoast Date: Thu, 27 Feb 2020 15:43:49 -0500 Subject: [PATCH 2/9] Create config.h --- src/projectM-sdl/projectM-SDL/config.h | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/projectM-sdl/projectM-SDL/config.h diff --git a/src/projectM-sdl/projectM-SDL/config.h b/src/projectM-sdl/projectM-SDL/config.h new file mode 100644 index 0000000000..71c15c0c71 --- /dev/null +++ b/src/projectM-sdl/projectM-SDL/config.h @@ -0,0 +1,3 @@ +#define projectm_mac 1 + + From 85f5f3d29a5fa11a273acf153507f64189842d80 Mon Sep 17 00:00:00 2001 From: Robert Pancoast Date: Thu, 27 Feb 2020 15:44:42 -0500 Subject: [PATCH 3/9] Update project.pbxproj brew install sdl2 glm --- .../SDLprojectM.xcodeproj/project.pbxproj | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj index f2125d92f7..c47a9b4a07 100644 --- a/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj +++ b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj @@ -16,7 +16,6 @@ 168F7156211248E4001806E7 /* SDLprojectM in Executable */ = {isa = PBXBuildFile; fileRef = C34521441BF02294001707D2 /* SDLprojectM */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; 168F715921124C0E001806E7 /* config.inp in Support files */ = {isa = PBXBuildFile; fileRef = 16B52AAA21105A6900830F34 /* config.inp */; }; 168F715A21124C14001806E7 /* fonts in Support files */ = {isa = PBXBuildFile; fileRef = C3D30B8F1BF02BE5009AAACD /* fonts */; }; - 168F715C21124CDF001806E7 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 166853F02105E2850042793A /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 168F718021126256001806E7 /* AppIcon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 168F717F21126256001806E7 /* AppIcon.icns */; }; C345215C1BF025A9001707D2 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C345215B1BF025A9001707D2 /* OpenGL.framework */; }; C345215E1BF025CF001707D2 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C345215D1BF025CF001707D2 /* CoreFoundation.framework */; }; @@ -121,7 +120,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 168F715C21124CDF001806E7 /* SDL2.framework in Frameworks */, ); name = Frameworks; runOnlyForDeploymentPostprocessing = 0; @@ -140,8 +138,6 @@ /* Begin PBXFileReference section */ 1612C98C207A807000862A3A /* libprojectM.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libprojectM.xcodeproj; path = ../libprojectM/libprojectM.xcodeproj; sourceTree = ""; }; - 166853F02105E2850042793A /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = ../../../../../../Library/Frameworks/SDL2.framework; sourceTree = ""; }; - 166853F22105E2CF0042793A /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SDL2.framework; sourceTree = ""; }; 168F714921120210001806E7 /* projectM SDL.app */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "projectM SDL.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 168F714B21120211001806E7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 168F717F21126256001806E7 /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = AppIcon.icns; sourceTree = ""; }; @@ -190,7 +186,6 @@ 161070CE1F7041B0001905AB /* Frameworks */ = { isa = PBXGroup; children = ( - 166853F22105E2CF0042793A /* SDL2.framework */, C345215D1BF025CF001707D2 /* CoreFoundation.framework */, C345215B1BF025A9001707D2 /* OpenGL.framework */, ); @@ -242,7 +237,6 @@ C345214E1BF022A5001707D2 /* projectM_SDL_main.cpp */, 16B52AAA21105A6900830F34 /* config.inp */, 16B52AA8211054E900830F34 /* projectMSDL-pkg.plist */, - 166853F02105E2850042793A /* SDL2.framework */, 1612C98C207A807000862A3A /* libprojectM.xcodeproj */, C307DFD31D565B57002F6B9E /* presets */, 16A42128207802AF006F30CE /* Dependencies */, @@ -646,12 +640,18 @@ CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = ""; GCC_LINK_WITH_DYNAMIC_LIBRARIES = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../libprojectM", + /usr/local/include, + "$(SRCROOT)/projectM-SDL", + ); INFOPLIST_FILE = "$(SRCROOT)/projectM-SDL/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/ @loader_path/../Frameworks/ @loader_path/Frameworks/"; - OTHER_LDFLAGS = ( - "-framework", - SDL2, + LIBRARY_SEARCH_PATHS = ( + "$(SRCROOT)/../projectM-iTunes/macos/contrib", + /usr/local/lib, ); + OTHER_LDFLAGS = "-lSDL2"; PRODUCT_BUNDLE_IDENTIFIER = net.projectm.sdl; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -665,12 +665,18 @@ CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = ""; GCC_LINK_WITH_DYNAMIC_LIBRARIES = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../libprojectM", + /usr/local/include, + "$(SRCROOT)/projectM-SDL", + ); INFOPLIST_FILE = "$(SRCROOT)/projectM-SDL/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/ @loader_path/../Frameworks/ @loader_path/Frameworks/"; - OTHER_LDFLAGS = ( - "-framework", - SDL2, + LIBRARY_SEARCH_PATHS = ( + "$(SRCROOT)/../projectM-iTunes/macos/contrib", + /usr/local/lib, ); + OTHER_LDFLAGS = "-lSDL2"; PRODUCT_BUNDLE_IDENTIFIER = net.projectm.sdl; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; From a92dba3e93333c2ea576986d50fe12324322450f Mon Sep 17 00:00:00 2001 From: Robert Pancoast Date: Thu, 27 Feb 2020 16:23:37 -0500 Subject: [PATCH 4/9] Update project.pbxproj --- src/libprojectM/libprojectM.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libprojectM/libprojectM.xcodeproj/project.pbxproj b/src/libprojectM/libprojectM.xcodeproj/project.pbxproj index 6eb45afbb0..c7fb26cdae 100644 --- a/src/libprojectM/libprojectM.xcodeproj/project.pbxproj +++ b/src/libprojectM/libprojectM.xcodeproj/project.pbxproj @@ -921,6 +921,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../projectM-sdl/projectM-SDL", "$(SRCROOT)/../..", "$(SRCROOT)/Renderer", "$(SRCROOT)/", @@ -982,6 +983,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../projectM-sdl/projectM-SDL", "$(SRCROOT)/../..", "$(SRCROOT)/Renderer", "$(SRCROOT)/", From 3d437b6b9440b6a586d8622267ae0f1f41636b3b Mon Sep 17 00:00:00 2001 From: Robert Pancoast Date: Thu, 27 Feb 2020 17:22:44 -0500 Subject: [PATCH 5/9] cycle through mic captures --- src/projectM-sdl/pmSDL.cpp | 76 ++++++++++++++++++++++++++------------ src/projectM-sdl/pmSDL.hpp | 6 ++- 2 files changed, 58 insertions(+), 24 deletions(-) diff --git a/src/projectM-sdl/pmSDL.cpp b/src/projectM-sdl/pmSDL.cpp index e46b685f4e..e5e4163a98 100644 --- a/src/projectM-sdl/pmSDL.cpp +++ b/src/projectM-sdl/pmSDL.cpp @@ -75,30 +75,18 @@ SDL_AudioDeviceID projectMSDL::selectAudioInput(int _count) { return 0; } -int projectMSDL::openAudioInput() { - // get audio driver name (static) - const char* driver_name = SDL_GetCurrentAudioDriver(); - SDL_Log("Using audio driver: %s\n", driver_name); - - // get audio input device - unsigned int i, count2 = SDL_GetNumAudioDevices(true); // capture, please - if (count2 == 0) { - SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, "No audio capture devices found"); - SDL_Quit(); - } - for (i = 0; i < count2; i++) { - SDL_Log("Found audio capture device %d: %s", i, SDL_GetAudioDeviceName(i, true)); - } +int projectMSDL::toggleAudioInput() { + + CurAudioDevice++; + if (CurAudioDevice >= NumAudioDevices) + CurAudioDevice = 0; + selectedAudioDevice = CurAudioDevice; + InitAudioInput(); + return 1; +} - SDL_AudioDeviceID selectedAudioDevice = 0; // device to open - if (count2 > 1) { - // need to choose which input device to use - selectedAudioDevice = selectAudioInput(count2); - if (selectedAudioDevice > count2) { - SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, "No audio input device specified."); - SDL_Quit(); - } - } +int projectMSDL::InitAudioInput() { + // params for audio input SDL_AudioSpec want, have; @@ -128,6 +116,41 @@ int projectMSDL::openAudioInput() { audioSampleCount = have.samples; audioFormat = have.format; audioInputDevice = audioDeviceID; + + return 1; +} + +int projectMSDL::openAudioInput() { + // get audio driver name (static) + const char* driver_name = SDL_GetCurrentAudioDriver(); + SDL_Log("Using audio driver: %s\n", driver_name); + + // get audio input device + unsigned int i; + NumAudioDevices = SDL_GetNumAudioDevices(true); // capture, please + + CurAudioDevice = 0; + if (NumAudioDevices == 0) { + SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, "No audio capture devices found"); + SDL_Quit(); + } + for (i = 0; i < NumAudioDevices; i++) { + SDL_Log("Found audio capture device %d: %s", i, SDL_GetAudioDeviceName(i, true)); + } + + // device to open + selectedAudioDevice = 0; + if (NumAudioDevices > 1) { + // need to choose which input device to use + selectedAudioDevice = selectAudioInput(CurAudioDevice); + if (selectedAudioDevice > NumAudioDevices) { + SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, "No audio input device specified."); + SDL_Quit(); + } + } + + InitAudioInput(); + return 1; } @@ -267,6 +290,13 @@ void projectMSDL::keyHandler(SDL_Event *sdl_evt) { return; } break; + case SDLK_i: + if (sdl_mod & KMOD_LGUI || sdl_mod & KMOD_RGUI || sdl_mod & KMOD_LCTRL) + { + toggleAudioInput(); + return; // handled + } + break; case SDLK_s: if (sdl_mod & KMOD_LGUI || sdl_mod & KMOD_RGUI || sdl_mod & KMOD_LCTRL) { diff --git a/src/projectM-sdl/pmSDL.hpp b/src/projectM-sdl/pmSDL.hpp index 7c19a1f497..55fa59d1ef 100644 --- a/src/projectM-sdl/pmSDL.hpp +++ b/src/projectM-sdl/pmSDL.hpp @@ -88,11 +88,12 @@ class projectMSDL : public projectM { bool done; - projectMSDL(Settings settings, int flags); projectMSDL(std::string config_file, int flags); void init(SDL_Window *window, SDL_GLContext *glCtx, const bool renderToTexture = false); int openAudioInput(); + int toggleAudioInput(); + int InitAudioInput(); void beginAudioCapture(); void endAudioCapture(); void stretchMonitors(); @@ -120,11 +121,14 @@ class projectMSDL : public projectM { GLuint textureID = 0; // audio input device characteristics + unsigned int NumAudioDevices; + unsigned int CurAudioDevice; unsigned short audioChannelsCount; unsigned short audioSampleRate; unsigned short audioSampleCount; SDL_AudioFormat audioFormat; SDL_AudioDeviceID audioDeviceID; + SDL_AudioDeviceID selectedAudioDevice; static void audioInputCallbackF32(void *userdata, unsigned char *stream, int len); static void audioInputCallbackS16(void *userdata, unsigned char *stream, int len); From 11a9c7b0413ce2ceea17cd830de90dece40869c1 Mon Sep 17 00:00:00 2001 From: Robert Pancoast Date: Fri, 28 Feb 2020 09:24:28 -0500 Subject: [PATCH 6/9] revise --- {src/projectM-sdl/projectM-SDL => mac}/config.h | 0 src/libprojectM/libprojectM.xcodeproj/project.pbxproj | 4 ++-- src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj | 4 ++-- src/projectM-sdl/pmSDL.cpp | 6 +++--- src/projectM-sdl/pmSDL.hpp | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) rename {src/projectM-sdl/projectM-SDL => mac}/config.h (100%) diff --git a/src/projectM-sdl/projectM-SDL/config.h b/mac/config.h similarity index 100% rename from src/projectM-sdl/projectM-SDL/config.h rename to mac/config.h diff --git a/src/libprojectM/libprojectM.xcodeproj/project.pbxproj b/src/libprojectM/libprojectM.xcodeproj/project.pbxproj index c7fb26cdae..25b8f3e9d8 100644 --- a/src/libprojectM/libprojectM.xcodeproj/project.pbxproj +++ b/src/libprojectM/libprojectM.xcodeproj/project.pbxproj @@ -921,7 +921,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/../projectM-sdl/projectM-SDL", + "$(SRCROOT)/../../mac", "$(SRCROOT)/../..", "$(SRCROOT)/Renderer", "$(SRCROOT)/", @@ -983,7 +983,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/../projectM-sdl/projectM-SDL", + "$(SRCROOT)/../../mac", "$(SRCROOT)/../..", "$(SRCROOT)/Renderer", "$(SRCROOT)/", diff --git a/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj index c47a9b4a07..54432b922b 100644 --- a/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj +++ b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj @@ -643,7 +643,7 @@ HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../libprojectM", /usr/local/include, - "$(SRCROOT)/projectM-SDL", + "$(SRCROOT)/../../mac", ); INFOPLIST_FILE = "$(SRCROOT)/projectM-SDL/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/ @loader_path/../Frameworks/ @loader_path/Frameworks/"; @@ -668,7 +668,7 @@ HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../libprojectM", /usr/local/include, - "$(SRCROOT)/projectM-SDL", + "$(SRCROOT)/../../mac", ); INFOPLIST_FILE = "$(SRCROOT)/projectM-SDL/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/ @loader_path/../Frameworks/ @loader_path/Frameworks/"; diff --git a/src/projectM-sdl/pmSDL.cpp b/src/projectM-sdl/pmSDL.cpp index e5e4163a98..70324645eb 100644 --- a/src/projectM-sdl/pmSDL.cpp +++ b/src/projectM-sdl/pmSDL.cpp @@ -81,11 +81,11 @@ int projectMSDL::toggleAudioInput() { if (CurAudioDevice >= NumAudioDevices) CurAudioDevice = 0; selectedAudioDevice = CurAudioDevice; - InitAudioInput(); + initAudioInput(); return 1; } -int projectMSDL::InitAudioInput() { +int projectMSDL::initAudioInput() { // params for audio input @@ -149,7 +149,7 @@ int projectMSDL::openAudioInput() { } } - InitAudioInput(); + initAudioInput(); return 1; } diff --git a/src/projectM-sdl/pmSDL.hpp b/src/projectM-sdl/pmSDL.hpp index 55fa59d1ef..bd55ac0a2c 100644 --- a/src/projectM-sdl/pmSDL.hpp +++ b/src/projectM-sdl/pmSDL.hpp @@ -93,7 +93,7 @@ class projectMSDL : public projectM { void init(SDL_Window *window, SDL_GLContext *glCtx, const bool renderToTexture = false); int openAudioInput(); int toggleAudioInput(); - int InitAudioInput(); + int initAudioInput(); void beginAudioCapture(); void endAudioCapture(); void stretchMonitors(); From b0fd0aea1e07bc9f5fbfb8d553328dd12e1523f9 Mon Sep 17 00:00:00 2001 From: Robert Pancoast Date: Fri, 28 Feb 2020 10:13:37 -0500 Subject: [PATCH 7/9] Update .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index e89d49445e..bc2a26572c 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,5 @@ _sync.bat _sync.sh to_sync/ .DS_Store +src/projectM-sdl/build/ +src/libprojectM/build/ From 334161d4f7a77d7cd709991917560dbc34075250 Mon Sep 17 00:00:00 2001 From: Robert Pancoast Date: Fri, 28 Feb 2020 10:13:41 -0500 Subject: [PATCH 8/9] Update project.pbxproj --- src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj index 54432b922b..b11b38037e 100644 --- a/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj +++ b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj @@ -655,6 +655,7 @@ PRODUCT_BUNDLE_IDENTIFIER = net.projectm.sdl; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; + SYMROOT = "$(SRCROOT)/build"; }; name = Debug; }; @@ -680,6 +681,7 @@ PRODUCT_BUNDLE_IDENTIFIER = net.projectm.sdl; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; + SYMROOT = "$(SRCROOT)/build"; }; name = Release; }; From a98ba2c716b1f7bc19ba8ee4ab03f09d95c288c6 Mon Sep 17 00:00:00 2001 From: Robert Pancoast Date: Fri, 28 Feb 2020 12:11:35 -0500 Subject: [PATCH 9/9] support highDPI displays retina --- .../libprojectM.xcodeproj/project.pbxproj | 7 ++++++- .../SDLprojectM.xcodeproj/project.pbxproj | 12 +++++++++--- src/projectM-sdl/pmSDL.cpp | 10 ++++++---- src/projectM-sdl/projectM_SDL_main.cpp | 6 +++--- 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/src/libprojectM/libprojectM.xcodeproj/project.pbxproj b/src/libprojectM/libprojectM.xcodeproj/project.pbxproj index 25b8f3e9d8..19d44ad932 100644 --- a/src/libprojectM/libprojectM.xcodeproj/project.pbxproj +++ b/src/libprojectM/libprojectM.xcodeproj/project.pbxproj @@ -671,7 +671,7 @@ 161789B8207A675B00D3B0C8 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0920; + LastUpgradeCheck = 1130; ORGANIZATIONNAME = MVSTG; TargetAttributes = { 1612C9A3207A855D00862A3A = { @@ -698,6 +698,7 @@ hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); mainGroup = 161789B7207A675B00D3B0C8; productRefGroup = 161789C1207A675B00D3B0C8 /* Products */; @@ -884,6 +885,7 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; @@ -891,6 +893,7 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -949,6 +952,7 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; @@ -956,6 +960,7 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; diff --git a/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj index b11b38037e..19cc0d7e72 100644 --- a/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj +++ b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj @@ -310,7 +310,7 @@ C345213C1BF02293001707D2 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0920; + LastUpgradeCheck = 1130; ORGANIZATIONNAME = int80; TargetAttributes = { 168F714821120210001806E7 = { @@ -325,11 +325,11 @@ }; buildConfigurationList = C345213F1BF02293001707D2 /* Build configuration list for PBXProject "SDLprojectM" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, + Base, ); mainGroup = C345213B1BF02293001707D2; productRefGroup = C34521451BF02294001707D2 /* Products */; @@ -529,6 +529,7 @@ C34521491BF02294001707D2 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -537,12 +538,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -586,6 +589,7 @@ C345214A1BF02294001707D2 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -594,12 +598,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; diff --git a/src/projectM-sdl/pmSDL.cpp b/src/projectM-sdl/pmSDL.cpp index 70324645eb..944c18e9ea 100644 --- a/src/projectM-sdl/pmSDL.cpp +++ b/src/projectM-sdl/pmSDL.cpp @@ -432,12 +432,14 @@ void projectMSDL::pollEvent() { { switch (evt.type) { case SDL_WINDOWEVENT: + int h, w; + SDL_GL_GetDrawableSize(win,&w,&h); switch (evt.window.event) { - case SDL_WINDOWEVENT_RESIZED: - resize(evt.window.data1, evt.window.data2); + case SDL_WINDOWEVENT_RESIZED: + resize(w, h); break; - case SDL_WINDOWEVENT_SIZE_CHANGED: - resize(evt.window.data1, evt.window.data2); + case SDL_WINDOWEVENT_SIZE_CHANGED: + resize(w, h); break; } break; diff --git a/src/projectM-sdl/projectM_SDL_main.cpp b/src/projectM-sdl/projectM_SDL_main.cpp index b02ed3fa63..7251909b2a 100644 --- a/src/projectM-sdl/projectM_SDL_main.cpp +++ b/src/projectM-sdl/projectM_SDL_main.cpp @@ -244,7 +244,6 @@ srand((int)(time(NULL))); #if UNLOCK_FPS setenv("vblank_mode", "0", 1); #endif - SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO); if (! SDL_VERSION_ATLEAST(2, 0, 5)) { @@ -278,9 +277,10 @@ srand((int)(time(NULL))); #endif - SDL_Window *win = SDL_CreateWindow("projectM", 0, 0, width, height, SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE); + SDL_Window *win = SDL_CreateWindow("projectM", 0, 0, width, height, SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI); + + SDL_GL_GetDrawableSize(win,&width,&height); - #if STEREOSCOPIC_SBS // enable stereo