Commit Graph

101 Commits

Author SHA1 Message Date
c05c457ad4 Rename & expected random handling. 2020-08-09 14:07:27 +04:00
09a39933f7 Pass a list of presets to the renderer. But only enough to fill the screen. 2020-08-07 15:44:53 +04:00
77617e4109 Merge pull request #358 from milkdropper/return_random
Previous keyboard shortcut in SDL now acts as expected when in shuffle (random) mode.
2020-07-29 22:27:12 +04:00
4ae0823e4f Cap preset random history to 10. 2020-05-24 19:46:19 +04:00
1d994941ef Help menu (#357)
* beatfix

* Flexible help menu

* SDL set help menu.
2020-05-24 11:31:02 +03:00
e5f21477b5 remove debug line 2020-05-23 21:24:55 +04:00
3314143f20 Realstic random tracking. 2020-05-23 21:03:19 +04:00
98e5945a01 Previous on Random == Last Ransom Preset. 2020-05-23 19:55:01 +04:00
43c294791a beatfix (#355) 2020-05-15 21:00:54 +03:00
366a70b678 beatfix 2020-05-15 21:45:09 +04:00
758348f25a Beat sensitivity implemented (#348)
* Beat detect sensitivity fix.

* Default: 1.0

* ReadMe beat sensitivity min/max.

* Beat sensitivity from config or settings isn't initialized.

* Smarter position.

* Make PCMScale (vol_history) also impacted by beat_sensitivity.

* Enhance and clarify Hard Cuts and better separate beat sensitivity.

* Forgot one config.

* Consistency with defaults.

* Even more clear about the default for Beat Sensitivity.
2020-05-15 17:49:28 +03:00
9760ae934f Implement toast messages (#351)
* Bette

* Removing test message.

* New timing functions. Handle drawing text that's too big.

* SDL space and switch libprojectM to use setPresetLock for L.
2020-05-14 22:08:50 +03: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
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
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
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
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
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
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
8cf26aac15 don't free existing before allocate()
(put back the way it was)
2019-01-13 19:43:33 -08:00
d0b54ba46c 147 (#149)
* attempt at fixing synchronization problem
https://github.com/projectM-visualizer/projectm/issues/147

* fix init

* add header to Makefile.am

* undo accidental commit
2019-01-12 22:40:19 +00:00
1b16539d3a More complete fix to PresetOutput bug.
created matching allocate/release methods for PresetOutput, so there is no implicit dependency on behavior between projectM::switchPreset() and MilkdropPresetFactory::allocate()
2019-01-08 14:16:24 -08:00
fcfb8ebf90 fix bug when calling switchPreset() while a smooth transition is still in progress 2019-01-02 18:30:56 -08:00
d4d74f6d05 Build warnings cleanup 2018-11-17 11:42:28 +01:00
7bf0a3f35d added: allow specifying datadir in settings on runtime 2018-10-04 16:33:47 +02:00
c7b2508fb5 Merge pull request #26 from projectM-visualizer/glsl
Re-enable shaders on modern platforms by transpiling HLSL to GLSL on the fly.
Better GLES support.
Running successfully on embedded systems with GLES and shaders. Compiles and almost runs with emscripten now (#92).
Mega props 👏 => @deltaoscarmike <= 👏
2018-09-08 11:09:28 +03:00
ca3877151f removing incredibly outdated FAQ 2018-09-03 00:06:44 +03:00
9f8db27a3b Fix for glsl threading crash #97 2/? 2018-09-02 20:05:30 +02:00
73dc5ccbd9 Fix for glsl threading crash #97 2018-09-02 19:54:08 +02:00
01ea43f5dc Fix unlock FPS flag
Add comments for test flags
2018-08-25 20:19:10 +02:00
fd0a987259 Small fixes 2018-08-22 21:05:42 +02:00
d4ccf8909f Add a fast preset switching test flag to check for shader compilation issues 2018-08-21 19:27:40 +02:00
e0619ea9c4 Merge branch 'master' into glsl 2018-07-28 20:06:25 +02:00
3142b36e79 Blur shaders ported to GLSL
All presets unifoms corrected
Shader rendering fixed
2018-07-23 08:07:14 +02:00
1593d10656 sort of progress w/ comp/warp shader programs 2018-06-12 09:35:08 +03:00
2ce0e70a98 memleaks fixes 2018-06-10 22:02:06 +02:00
9a6d4db43f lot more modernization work I have no idea if it's correct lol 2018-06-02 21:24:11 +02:00
420c939369 SDL include, remove my copyrights that xcode added :/ 2018-04-08 10:28:48 -07:00
c1ee4bd6dd libprojectM xcode project 2018-04-08 08:17:38 -07:00
2df0738cce Cross-platform GL include (#41)
* qt autoconf

* WIP: Qt5 makefile

* go away cmake

* testing bsd define

* readme

* replacing __linux__ with __unix__

* sdl/libGLU

* Revert "WIP: Qt5 makefile"

This reverts commit aaa44566b9.

* Revert "qt autoconf"

This reverts commit a82dae3c54.

* Revert "go away cmake"

This reverts commit 1392d5e658.

* fix amflags for m4 dir

* opengl header

* opengl header

* use one header for dealing with cross-platform GL includes

* include opengl header in dist

* fix _WIN32 (maybe?)
2018-03-12 22:20:19 +02:00
8eaa232dda Use autotools to build (#27)
* remove c3d/build

* autotools start

* ignore

* autoreconf? idk

* linux/osx gcc/clang

* no glut, need glew tho

* fix test matrix

* fix linux conditional includes?

* sdl makefile am

* SDL2 m4/autoconf

* idk more m4 crap

* ignore more junk

* ug

* go away idk

* renderer makefile

* fixing SDL's broken-ass sdl2.m4 lol

* progress

* cmake go away

* full autotools build working yay

* autogen script, readme update

* fix linux ifdefs

* stuff

* fix linux -ldl

* mac sdl dep for travis

* whoops

* brewwww

* no osx gcc

* no test

* kinda working linux library build

* travis apt packages

* ignore old SDL2 for travis

* typo

* autogen for osx build readme
2018-02-09 14:25:54 -08:00
87441ad231 fixing some linux build stuff 2017-09-22 15:33:50 -07:00
8dd0b68f69 fixes
fixed a bug causing a crash with PerlinNoise/ShaderEngine.cpp :: calling projectM::projectM_resetGL() applies the new dimensions to the window width/height in the settings :: modified the parser to return an error rather than abort and terminate the process to prevent a crash with the provided sample presets
2016-05-17 07:23:52 -04:00
2d1b7c6d3d safe guard against expressions like x = 2*sin(bas)+5* 2012-11-13 23:26:35 -05:00
b2c0fcd7bb Add possibility to use system fonts & fix font-loading bug in renderer
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1396 6778bc44-b910-0410-a7a0-be141de4315d
2012-04-14 14:26:11 +00:00
4af1ca5d0f support for +/- keys to edit ratings.
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1362 6778bc44-b910-0410-a7a0-be141de4315d
2011-10-28 02:57:24 +00:00
a353959f6b fix fps value bug (kudos to pete), made some methods public
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1358 6778bc44-b910-0410-a7a0-be141de4315d
2011-08-29 01:08:12 +00:00
8197b8c79f Set LC_NUMERIC to "C" in libprojectM
This is a workaround for some strange behaviour appearing on
some systems with a different numeric format.

git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1354 6778bc44-b910-0410-a7a0-be141de4315d
2011-04-10 14:07:51 +00:00
24b03c9d2d Add API to change projectM preset duration
Required by some media players such as Clementine


git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1352 6778bc44-b910-0410-a7a0-be141de4315d
2011-04-10 14:04:19 +00:00