Commit Graph

513 Commits

Author SHA1 Message Date
324a5c19f3 getPCMScale() too large? 2020-02-02 12:26:34 -08:00
5fd9bc13ec some feedback improvements 2020-02-01 12:47:18 -08:00
0eec9ed694 comments on frequency ranges 2020-01-26 17:31:06 -08:00
197b2f2736 fix getPCMScale() to match getBeatVals() 2020-01-26 10:20:16 -08:00
b779be76ee attempt to improve freq responsiveness 2020-01-25 17:26:40 -08:00
f5dd470fb0 #296 - Turning on -fno-stack-check for High Sierra compat 2020-01-19 13:01:59 +02:00
260a0285b0 Milkdrop keys (#279) 2020-01-19 12:54:58 +02:00
b4a3fd6d0f Menu and FPS changes (#303)
* Set build target to 10 (generic) instead the specific build the original author used.

* Move help menu down a line and indent to align with preset title and FPS.

* More accurate FPS:
 - by resetting timers whenever F5 is pushed.
 - by performing math based on percise seconds that passed, rather than assuming it will trigger exactly 250 milliseconds.

* Set idle preset name so it's displayed with F3.
2020-01-18 12:57:57 +02:00
8c4763e79a Display FPS (#297)
* Display FPS

* Updates based on feedback from Mischa.

* Quick typo fix.
2020-01-09 15:26:44 +02:00
72cff7c94e Updated the keybindings similar to MilkDrop (#124)
1. Updated keybinding for previous preset to BACKSPACE
2. Updated keybinding for hard cut next preset to H
2019-11-16 08:22:39 +02:00
0ffad4dc4e Fix git (#278)
* presets: remove problematic community presets

* Breaks a lot of things including test apps and kodi addon.
  Link is provided in README.md for those who want it

Signed-off-by: Matt Filetto <matt.filetto@gmail.com>

* fix for freeze (issue 243) (#276)
2019-11-16 07:13:03 +02:00
ec0a52a51f Update Renderer.cpp 2019-11-03 20:02:13 -05:00
cac6b3454d Update Renderer.cpp 2019-11-03 18:52:52 -05:00
07a2bacb6f USE_TEXT_MENU PreprocessorDefinitions 2019-11-03 18:50:20 -05:00
435fee23e8 Update gltext.h 2019-11-03 18:42:28 -05:00
6728416e9d Update gltext.h
define GLSL_VERSION "330" not 410
2019-11-03 17:52:31 -05:00
994a186038 update gltext library to operate with both opengl and opengles fragment and vertex shaders
confirmed functional on iphone, pc, xbox
2019-11-03 17:44:31 -05:00
96417708c3 Update gltext.h 2019-11-03 16:10:13 -05:00
38ca4626ce confirm build w/o fonts 2019-11-03 16:05:36 -05:00
0dc84cbee5 test gltext 2019-11-03 15:53:05 -05:00
251ceca5ab Update projectM-opengl.h
#define GLM_FORCE_CXX03 msvc2019 compilation error
2019-10-31 22:26:11 -04:00
21ad4c3795 rework windows store build for msvc 2019 toolchain 2019-10-31 12:00:31 -04:00
15a3f44db9 rework for windows build 2019-10-25 18:05:54 -04:00
0ccb8bde65 typo fix 2019-10-05 21:23:42 +03:00
a03f2d0d80 There was a bug that existed in open GL ES 2.0 implementations and random textures (#239)
* There was a bug that existed in open GL ES 2.0 implementations
where glTexImage2D could not convert GL_RGB formed textures into GL_RGBA
while generating the noise textures.   The GL error
was GL_INVALID_OPERATION(0x502)
This probably made the noise textures blank.
So a new class was added that has the alpha channel for the values.

* Added a fudge for render farming milkdrop where we control the time and the ticks.

* User defined time: Got rid of testing code

* Attempt to fix WIN32 compile - it doesnt use or need the ability to control the time

* Got rid of debug - got rid of minor warning

* projectM.hpp - type in ifdef
projectM_SDL_main.cpp - there is code added to make the initial random number dependent on the time of day, making
the sequence of visualizers more unexpected.  But the posix command time does not exist in Win32 land, so we disable it.
2019-10-01 10:01:45 +03:00
ecf6e0d131 build all platforms for windows store 2019-05-23 16:57:15 -04:00
fdc5bf709c Add NSMicrophoneUsageDescription for macOS - required to capture audio input 2019-05-11 22:41:46 +03:00
d9fb429abd GLSL and emscripten - JavaScript and WebGL support (#92)
* add glm lib in vendor folder

* fix makefile

* add more help and context to emscripten readme

* add correct output parameter to emcc

* add how to restart the process to the readme

* simplify emscripten compilation

* apply patch

* fix blur shaders to work with WebGL
2019-05-11 19:07:49 +03:00
219a250dcd Added VR/Multiple screen support (#201)
* Supports Multiple pass2 renderings.

My application (Silent Radiance) added projectM visualizers, but I needed support for VR.
So I added Renderer::RenderFrameOnlyPass1 and Renderer::RenderFrameOnlyPass2
This allows an offset in the screen output so the same image can be rendered twice very quickly.
I could have rendered to a buffer externally.

This is  fed into the Raylib VR in my application to add the fisheye effect.

* Added an example of the VR

* Added multiple screen renderings for VR

Added a new way of rendering that allows multiple pass2's to be done: one per screen.
This allows for a second screen output, and VR. In fact I am using this for VR where I need a left and right eye on the same screen.
In order to do this, I sometimes have to set the viewport not starting at the upper left of the screen.

Added renderFrameOnlyPass2 - and an optional pipeline can be passed - this would be a pipeline when there is a transition from one visual to another.  This can be called once per eye.

Finally, renderFrameEndOnSeparatePasses cleans up, does the fps control, statistics, etc.



This alternate rendering is as possible:
Pipeline pipeline;
Pipeline *comboPipeline;
comboPipeline = renderFrameOnlyPass1(&pipeline);

for each eye:
  renderFrameOnlyPass2(comboPipeline,xoffset,yoffset,eye);
  
Then
renderFrameEndOnSeparatePasses(comboPipeline); 
for the accounting and releasing the mutex

* Removed the duplication of code for VR.

* Removed the duplication of code for VR.
2019-04-29 01:11:18 +03:00
33cb7026bd modify for WINRT support 2019-04-26 14:57:58 -04:00
ce60556dae Windows build with MSVC (#181)
credit: @mancoast 

* msvc

* include glew for windows

* fix usage of std namespace with win32

* Update pmSDL.hpp

fix warning with win32

* update dirent for win32

* libs required for win32 linkage

* Update pmSDL.hpp

SDL_MAIN_HANDLED

* Update ShaderEngine.cpp

init glew to create shaders

* fake SDL audio with win32

* Update Renderer.vcxproj

use wildcards for source filenames

* Create config.h

* Update Expr.cpp

fix win32 breaks

* cleanup broken max function

* Update Makefile.am

remove ref to win32-dirent
2019-03-22 08:55:35 +01:00
6d936985a0 https://github.com/projectM-visualizer/projectm/issues/161 (#175)
fix for https://github.com/projectM-visualizer/projectm/issues/161
2019-03-10 20:05:41 -07:00
7b33e76b13 LLVM - add native code generation for expression evaluation (#162) 2019-03-05 14:24:59 -08:00
406e4b85a2 Allocate PerlinNoise dynamically / Fix thread detach after join (#170) 2019-03-03 22:58:57 +02:00
482a6f041f automating dist for macOS 2019-03-03 12:40:09 +02:00
6844dd600a rendercontext is gone 2019-03-03 11:58:24 +02:00
893e03508c Merge pull request #125 from luigino/libprojectM
Increase soversion to 3.1.1
2019-02-22 09:39:20 +01:00
fe4b12bfda Increase libprojectM SOVERSION to 3.1.1 2019-02-21 19:41:55 +01:00
8ab7243dbb Merge pull request #158 from kossebau/fixlocalebaseddoubleparsing
Fix Milkdrop Preset parser to read floats always in C locale
2019-02-09 19:20:53 +02:00
160574f0ca Merge pull request #155 from kossebau/removeunusedRenderContextfiles
Remove unused libprojectM/Renderer/RenderContext.* files
2019-02-09 19:20:37 +02:00
5770b5c772 Error handling fix 2019-01-30 11:04:03 -08:00
dfd335f853 Fix Milkdrop Preset parser to read floats always in C locale
Also remove calls of setlocale(LC_NUMERIC, "C"); in library,
which results in unexpected sideeffects in the rest of the process
where the library is used.
Same for the applications which also had this work-around added.

Work-arounds using setlocale had been added in
90aa2c8f38 & 196c374a74
2019-01-27 00:24:01 +01:00
bfdd0ad033 short circuiting IF() (#156)
* short circuiting IF()

* fix non SSE2 init_mesh()
2019-01-19 10:11:47 -08:00
7a10f2d458 Remove unused libprojectM/Renderer/RenderContext.* files
Used class RenderContext is now defined in Renderable.*
2019-01-19 12:14:01 +01:00
2de12eb480 fix first point in CustomWave 2019-01-17 17:55:28 -08:00
5b25b889a0 handle 2ch floating point PCM data (#150)
separate stereo channels when using PA_SAMPLE_FLOAT32LE
2019-01-16 20:07:30 +00:00
575bbb8982 projectM-unittest (#153)
revive projectM-test directory

    new executable src/projectM-test/projectM-unittest
    still need to update existing code SDL->SDL2

Add projectM-unittest to Travic CI
2019-01-16 19:32:51 +00:00
f68c1b6913 avoid problem loading mixed case extension - EOE125~1.MILk 2019-01-14 16:49:23 -08:00
42fee50d64 Perf cleanup (#151)
* Param refactor
collected all the code that reached inside Param (InitCond, Per*Eqn, Expr, Parser) to read/write and stuffed it all back into Param.cpp
made Param extend Expr to avoid any perf penalty (I actually think eval() is a tiny bit faster now)

* presets/tests

* ALWAYS_MATRIX is used with PER_POINT

* use SSE2 to impove initialize_PerPixelMeshes() performance

* TestRunner
very, very simple test framework, but it's better than no framework
(consider investigating adopting something)

* ProgramExpr
2019-01-14 05:33:38 +00:00
8cf26aac15 don't free existing before allocate()
(put back the way it was)
2019-01-13 19:43:33 -08:00