Commit Graph

25 Commits

Author SHA1 Message Date
147c4e0e89 Reformatted some code and updated .clang_format file. 2021-07-04 15:49:38 +02:00
10faca9abf Cleanup PCM interface (#467)
* rewrite PCM interface
* AutoLeveler
* perf - quick check for no equations
* cleanup use of BeatDetect.beatSensitivity
Co-authored-by: Mischa Spiegelmock <me@mish.dev>
2021-02-20 13:52:17 -08:00
b3c3282eb0 Do away with Intrinsics.h 2021-02-20 21:40:39 +02:00
f7f74b11e3 Xcode cleanup, single mac installer, universal binary support (#461)
* Mac installer now contains both the app and Music plugin
* Major xcode projects cleanup
* Working universal binary build with xcode and installer (needs universal sdl2 to link against)
* Fix #460 - texture2D is renamed texture (#462)
2021-02-14 13:41:02 +02:00
8913b064c3 Fix #408: Parser can blow up if no [preset00] header (#450)
* Fix: Parser can blow up if no [preset00] header

* fix no debug mode

* Remove assert that is blowing up because it looks like this is sort of handled.

* Only do rdft() on powers of 2 samples

* Only do rdft() on powers of 2 samples

* Revert changes to PCM.cpp sampling, needs more thoughtful fixing
2021-02-12 10:52:19 +02:00
e49720ecfa Preset subdirs (#385)
Scanning textures/presets dirs for textures and scanning preset dir for presets.
Scanning is now done recursively, so presets and textures can be organized into subdirectories instead of needing to be flattened into a single directory.

On POSIX systems makes use of [ftw](https://linux.die.net/man/3/ftw) which should be relatively efficient. Otherwise falls back to recursing with `dirent` (for windows).

Probably should have made an autoconf check for `ftw` instead of doing `#ifdef WIN32`. 

* Scan subdirectories in presets directory

* remove preset subdir config

* Recursively scan for textures too, add c++-17 compatibility

* Refactor directory scanning code so it's reused by texture loader and preset loader. Make cross-platform (maybe)

* filescanner in makefile

* extension filter for file loader

* make extensions match up'

* need string.h

* Add FileScanner.cpp to win build (maybe)

* scan all dirs

* #ifndef #ifdef is def fun

* bogus comment

* bleh

* bleh

* itunes plugin with c++17

* EyeTunes needs to know about the FileScanner

Co-authored-by: milkdropper.com <milkdropper.com@gmail.com>
Co-authored-by: milkdropper <59471060+milkdropper@users.noreply.github.com>
2020-07-28 22:01:56 +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
bfdd0ad033 short circuiting IF() (#156)
* short circuiting IF()

* fix non SSE2 init_mesh()
2019-01-19 10:11:47 -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
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
d4d74f6d05 Build warnings cleanup 2018-11-17 11:42:28 +01:00
2ce0e70a98 memleaks fixes 2018-06-10 22:02:06 +02:00
2f8c3b6b7c kill GenExpr 2018-05-09 08:43:05 -07:00
4b5f671775 track shader filenames so we know where the shader compilation errors come from 2018-04-08 11:43:26 -07:00
61404d0777 better error message for file io issues 2012-11-16 23:09:34 -05:00
0023eb77f8 memory leak fix
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1386 6778bc44-b910-0410-a7a0-be141de4315d
2012-01-31 02:06:21 +00:00
a3b2820a69 fixed r1355 regression of implicit cast from int (rather than char) into a string buffer.
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1360 6778bc44-b910-0410-a7a0-be141de4315d
2011-08-31 14:36:51 +00:00
10992123c2 call Preset(name) super constructor
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1334 6778bc44-b910-0410-a7a0-be141de4315d
2010-02-09 06:24:16 +00:00
328d3be221 comment out render item freeing until some final stability issues are resolved.
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1302 6778bc44-b910-0410-a7a0-be141de4315d
2009-10-13 04:03:06 +00:00
3d2ee7442a yet another preset switch synchronization fix, hopefully the final one.
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1299 6778bc44-b910-0410-a7a0-be141de4315d
2009-10-11 23:04:43 +00:00
302411bbb5 took out some debug, temp hack fixes.
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1298 6778bc44-b910-0410-a7a0-be141de4315d
2009-10-11 22:57:29 +00:00
4c34bc5c12 dont free custom waves as preset may still need them (solution to freeing them is pending)
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1284 6778bc44-b910-0410-a7a0-be141de4315d
2009-09-07 22:30:28 +00:00
88b1e1805d fixes to represet
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/personal/carm/represet@1196 6778bc44-b910-0410-a7a0-be141de4315d
2008-10-25 08:08:27 +00:00
64a2490c66 fun with the svn mv command!
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/personal/carm/represet@1173 6778bc44-b910-0410-a7a0-be141de4315d
2008-09-19 22:33:01 +00:00