From 414d697f5ccd14ef8304296ccb89ef41cd94c6f5 Mon Sep 17 00:00:00 2001 From: Mischa Spiegelmock Date: Tue, 1 Jan 2019 13:27:48 +0200 Subject: [PATCH] xcode cleanup --- README.md | 9 +++++++++ src/libprojectM/libprojectM.xcodeproj/project.pbxproj | 2 +- src/projectM-iTunes/iprojectM.mm | 8 ++++---- src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj | 10 +++------- src/projectM-sdl/pmSDL.cpp | 4 ++++ src/projectM-sdl/pmSDL.hpp | 2 ++ 6 files changed, 23 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index f572acbfb..75c53272f 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,10 @@ Its purpose in life is to read in audio input and produce mesmerizing visuals, d ### Download Get it from the [Releases](https://github.com/projectM-visualizer/projectm/releases) tab +### Demo Video +[![](http://img.youtube.com/vi/2dSam8zwSFw/0.jpg)](http://www.youtube.com/watch?v=2dSam8zwSFw "Demo") + + ### Project Status You can read more about how it works and the current state of development [here](https://lwn.net/Articles/750152/). @@ -82,6 +86,11 @@ Silverjuke (FOSS Jukebox) projectM supports OpenGL ES 2 and 3 for embedded systems. Be sure to configure with the `--enable--gles` flag. +### Raspberry Pi (and other embedded systems) +* projectM is arch-independent, although there are some SSE2 enhancements for x86 +* [Notes on running on raspberry pi](https://github.com/projectM-visualizer/projectm/issues/115) + + # Using the library At its core projectM is a library, [libprojectM](src/libprojectM). This library is responsible for parsing presets, analyzing audio PCM data with beat detection and FFT, applying the preset to the audio feature data and rendering the resulting output with openGL. It can render to an openGL context or a texture. diff --git a/src/libprojectM/libprojectM.xcodeproj/project.pbxproj b/src/libprojectM/libprojectM.xcodeproj/project.pbxproj index 399178b9e..3bae57c42 100644 --- a/src/libprojectM/libprojectM.xcodeproj/project.pbxproj +++ b/src/libprojectM/libprojectM.xcodeproj/project.pbxproj @@ -908,7 +908,7 @@ GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; + GCC_OPTIMIZATION_LEVEL = 1; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "USE_THREADS=1", diff --git a/src/projectM-iTunes/iprojectM.mm b/src/projectM-iTunes/iprojectM.mm index ee2aa676a..789f3122c 100644 --- a/src/projectM-iTunes/iprojectM.mm +++ b/src/projectM-iTunes/iprojectM.mm @@ -13,14 +13,14 @@ void initProjectM( VisualPluginData * visualPluginData, std::string presetPath ) // hardcoded settings - disabled projectM::Settings settings; - settings.meshX = 100; - settings.meshY = 100; + settings.meshX = 140; + settings.meshY = 110; settings.fps = 60; settings.textureSize = 2048; // idk? settings.windowWidth = 1920; settings.windowHeight = 1280; - settings.smoothPresetDuration = 1; // seconds - settings.presetDuration = 9; // seconds + settings.smoothPresetDuration = 0.5; // seconds + settings.presetDuration = 15; // seconds settings.beatSensitivity = 3; settings.aspectCorrection = 1; settings.easterEgg = 0; // ??? diff --git a/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj index 7570b775c..1fb37c5a9 100644 --- a/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj +++ b/src/projectM-sdl/SDLprojectM.xcodeproj/project.pbxproj @@ -21,9 +21,6 @@ C345215C1BF025A9001707D2 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C345215B1BF025A9001707D2 /* OpenGL.framework */; }; C345215E1BF025CF001707D2 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C345215D1BF025CF001707D2 /* CoreFoundation.framework */; }; C34521651BF025E5001707D2 /* libbz2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C345215F1BF025E5001707D2 /* libbz2.a */; }; - C34521661BF025E5001707D2 /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34521601BF025E5001707D2 /* libfreetype.a */; }; - C34521671BF025E5001707D2 /* libftgl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34521611BF025E5001707D2 /* libftgl.a */; }; - C34521681BF025E5001707D2 /* libGLEW.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34521621BF025E5001707D2 /* libGLEW.a */; }; C34521691BF025E5001707D2 /* libpng15.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34521631BF025E5001707D2 /* libpng15.a */; }; C345216A1BF025E5001707D2 /* libz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C34521641BF025E5001707D2 /* libz.a */; }; /* End PBXBuildFile section */ @@ -185,9 +182,6 @@ C345215E1BF025CF001707D2 /* CoreFoundation.framework in Frameworks */, C345215C1BF025A9001707D2 /* OpenGL.framework in Frameworks */, C34521651BF025E5001707D2 /* libbz2.a in Frameworks */, - C34521661BF025E5001707D2 /* libfreetype.a in Frameworks */, - C34521671BF025E5001707D2 /* libftgl.a in Frameworks */, - C34521681BF025E5001707D2 /* libGLEW.a in Frameworks */, C34521691BF025E5001707D2 /* libpng15.a in Frameworks */, C345216A1BF025E5001707D2 /* libz.a in Frameworks */, 1612C997207A80A200862A3A /* libprojectM.a in Frameworks */, @@ -425,7 +419,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/bash; - shellScript = "POUT=\"$BUILT_PRODUCTS_DIR\"/\"$CONTENTS_FOLDER_PATH/Resources/presets\"\nPIN=\"$SRCROOT\"/../../presets\n\nmkdir -p \"$POUT\"\nfor preset_dir in \"$PIN/\"*; do\n cp \"$preset_dir/\"* \"$POUT/\"\ndone\necho \"Copied presets to $POUT\""; + shellScript = "POUT=\"$BUILT_PRODUCTS_DIR\"/\"$CONTENTS_FOLDER_PATH/Resources/presets\"\nPIN=\"$SRCROOT\"/../../presets\n\nmkdir -p \"$POUT\"\nfor preset_dir in \"$PIN/\"*; do\n cp \"$preset_dir/\"* \"$POUT/\"\ndone\necho \"Copied presets to $POUT\"\n"; }; 168F715D21124CF8001806E7 /* Generate Installer Package */ = { isa = PBXShellScriptBuildPhase; @@ -595,6 +589,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "-DDATADIR_PATH='\"/usr/local/share/projectM\"'"; }; name = Debug; }; @@ -644,6 +639,7 @@ LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../projectM-iTunes/macos/contrib"; MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = "-DDATADIR_PATH='\"/usr/local/share/projectM\"'"; }; name = Release; }; diff --git a/src/projectM-sdl/pmSDL.cpp b/src/projectM-sdl/pmSDL.cpp index 26a81bde9..dd00a9173 100644 --- a/src/projectM-sdl/pmSDL.cpp +++ b/src/projectM-sdl/pmSDL.cpp @@ -336,3 +336,7 @@ void projectMSDL::renderTexture() { glDisable(GL_DEPTH_TEST); } +void projectMSDL::presetSwitchedEvent(bool isHardCut, size_t index) const { + std::string presetName = getPresetName(index); + SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "Displaying preset: %s\n", presetName.c_str()); +} diff --git a/src/projectM-sdl/pmSDL.hpp b/src/projectM-sdl/pmSDL.hpp index b2d8e748a..f20e55e26 100644 --- a/src/projectM-sdl/pmSDL.hpp +++ b/src/projectM-sdl/pmSDL.hpp @@ -44,6 +44,8 @@ public: void maximize(); std::string getActivePresetName(); void addFakePCM(); + + virtual void presetSwitchedEvent(bool isHardCut, size_t index) const; private: SDL_Window *win;