a3275de8a1
cosmetic changes
2022-12-13 20:21:29 -06:00
c04e9b7eaf
add push_release to workflow
2022-12-13 20:21:29 -06:00
55001567b0
Updated workflow name for emscripten.yml
2022-12-13 20:21:29 -06:00
fd1146c6a1
Temporarily disable emscripten unittest
2022-12-13 20:21:29 -06:00
dd021f450f
Enable exception catching for emscripten
2022-12-13 20:21:29 -06:00
cddf1ec392
Temporarily disable FFT low-frequency test
2022-12-13 20:21:29 -06:00
a47c85fe64
Added windows build to workflow
2022-12-13 20:21:29 -06:00
2fbf44d8a8
Added macOs build to workflow
2022-12-13 20:21:29 -06:00
62bf7e7387
Added emscripten build to workflow
2022-12-13 20:21:29 -06:00
164e71ac31
Added linux build to workflow
2022-12-13 20:21:29 -06:00
e3bf3d801f
Removed old workflow
2022-12-13 20:21:29 -06:00
28340ce32f
Revert reordering of shader preprocessing statements.
...
Position of "shader_body" is reused in the next find call, which was broken because of the changed order.
2022-12-07 23:06:02 +01:00
b585017ba3
Fix a compile issue in emscripten by forward-declaring PipelineContext.
2022-12-06 15:03:10 +01:00
710d228fcf
Add libprojectM include path for tests, as it was removed in the library definition.
2022-12-06 15:02:40 +01:00
c4f24ba5e7
Fix tests on Windows, use correct filter syntax in projectMPlaylistPlaylist_ApplyFilter test.
2022-12-05 12:04:16 +01:00
1429b57f87
Build fixes, expose fewer internals in headers by forward-declaring more types.
2022-12-05 11:46:43 +01:00
6485ec40fb
Removed unused include in Renderer.cpp that made the build fail.
2022-12-04 22:26:42 +01:00
5189f249e3
Make SDL test UI compile & work again.
...
Still much to do here, especially in regards to key handling and config file parsing. For now, the app only load presets from the "presets" subdir of the current working directory.
2022-12-04 22:13:48 +01:00
42387a671b
Add preset switched event formerly defined in projectM.h to playlist API
2022-12-04 21:54:29 +01:00
830dc74ff0
Catch directory access exceptions in Playlist class.
...
No error handling or feedback mechanism yet.
2022-12-04 21:53:36 +01:00
381fe4f51e
Properly initialize idle preset and preset factory.
2022-12-04 21:51:36 +01:00
53ea059ec1
Fixed URL detection in PresetFactory
2022-12-04 21:51:03 +01:00
9ea98bf01e
Add glob pattern filtering to playlist library.
...
Syntax is very similar to .gitignore glob syntax, with a few exceptions to simplify use.
2022-12-04 20:54:15 +01:00
a1ffd93e31
Add next/previous/last functions and playback history recording.
2022-11-26 23:47:04 +01:00
03f81ff36f
Added more missing functions and tests to the playlist implementation.
2022-11-26 22:17:29 +01:00
7dcbe75db3
Added playback control methods and preset switching support.
2022-11-21 19:56:30 +01:00
94ee2a360b
Added remaining API functions and preset change callback.
2022-11-21 19:56:30 +01:00
5fe7e8c3aa
Removed rating type enum, reformatted comments for settings struct.
2022-11-21 19:56:30 +01:00
5b47b465f9
Removed more now unused callbacks from the core API.
2022-11-21 19:56:30 +01:00
2b1099a653
Implement external preset switching control and add stream loading support.
...
Lots of interconnected changes in this commit:
- Removed unnecessary name/author/filename members all over the place.
- Started using exceptions to deliver preset loading and rendering errors to the topmost ProjectM class.
- Added stream loading methods to factories and the base Preset class.
- Added new events for requesting preset switch and telling the user about loading errors.
- Consolidated preset switching logic in ProjectM class a bit.
2022-11-21 19:56:30 +01:00
b23b5ce25c
Deleted all playlist-related code from libprojectM.
...
Note: SDL test UI won't compile after this commit. Will be fixed in a later commit, when the playlist library is done.
2022-11-21 19:56:28 +01:00
7363afecc2
Add path scanning and sorting to the playlist implementation.
...
Path scanning is using C++17's std::filesystem if available, but uses boost::filesystem as fallback. Using boost can be forced using the ENABLE_BOOST_FILESYSTEM CMake option.
2022-11-21 19:54:57 +01:00
4dfae6bf22
Add test project for playlist library, implemented tests for existing code and fixed a few issues found by testing.
2022-11-21 19:54:57 +01:00
ebce27fbfb
Move libprojectM tests into subdirectory.
2022-11-21 19:54:57 +01:00
d26ae0a935
Implementation of the first batch of playlist management functions.
2022-11-21 19:54:57 +01:00
d9ea368a0c
Add playlist library and first set of API functions.
2022-11-21 19:54:57 +01:00
c6c0dac97d
Add README for API interface library.
2022-11-21 19:54:57 +01:00
b6dfb6e195
Moved public API headers into an INTERFACE library
2022-11-21 19:54:56 +01:00
18b032a8ef
API: Add missing setter for FPS value.
...
Also make sure to propagate the changed value to the preset code via the PipelineContext class. Keeping it in the settings struct for now. Storing a dynamic value in settings makes no sense, so it will be removed later.
2022-11-20 16:53:25 +01:00
003e45e9d9
API: Add missing getter for preset duration value.
2022-11-20 16:53:25 +01:00
89f2e5353b
Generated new, non-expiring Discord invite link.
2022-11-20 16:44:56 +01:00
e9c1a3eaed
Removed parameter and fixed return value
2022-10-29 23:00:45 +02:00
6991953a4e
Add get and set for beat sensitivy value to API
2022-10-29 23:00:45 +02:00
dbbbc3e591
Added API function for dumping the next frame.
2022-10-23 18:08:53 +02:00
75f802e261
Remove the "d" hotkey for debug image output.
2022-10-23 18:00:00 +02:00
44e664d81a
Added missing member initializer.
...
Was uninitialized and thus saved a debug image on every startup as the boolean value was mostly non-zero.
2022-10-23 17:59:05 +02:00
ad2203f7bb
Discord links
2022-10-14 09:12:17 -07:00
cb0bbfa860
Removed all text-related code from the core lib.
...
This removes:
- "Toast" messages
- The help text
- Statistics
- Preset name and (unimplemented) song title display
- Preset selection list and search menu
Some of the above functionality might later be added as an optional library, in a separate repository and with proper UTF-8 support.
2022-09-20 22:46:03 +02:00
62cecb36d6
Fix internal texture format again (GLES doesn't support GL_BGRA)
2022-09-20 22:37:19 +02:00
44f51f9fb6
Remove "#pragma comment" which was required for linking psapi.lib on Windows.
...
Also removed includes of windows.h/unistd.h, as these shouldn't be required anymore in the ProjectM class.
2022-09-18 13:32:58 +02:00