Commit Graph

426 Commits

Author SHA1 Message Date
Peter Slattery d5309819e6 Implemented the structure for different layers to have blend modes.
We now copy the led buffer for each assembly once per layer that has an active animation in it. The animations edit these temporary buffers, which are then blended together after all layers have created buffers, for each assembly.
2020-03-08 14:44:28 -07:00
Peter Slattery f1936a016c Updated todo list. Enforced execution order of animation blocks - they now execute in layer order, from top to bottom. 2020-03-07 16:29:07 -08:00
Peter Slattery de1a9474f0 Added rudimentary layers to the animation system. 2020-03-07 16:06:10 -08:00
Peter Slattery 3a20883a49 Converted evertthing over to useing frame ranges 2020-03-01 17:19:30 -08:00
Peter Slattery bfa31882e5 todo list cleanup 2020-03-01 15:55:07 -08:00
Peter Slattery 0cb97b3c9a Fixed a problem with the dragging of animation clips. Releasing the button wouldn't stop dragging. 2020-03-01 15:44:58 -08:00
Peter Slattery 780ccbd1a3 Converted thinsg over to using time ranges and implemented zoom. Also restructured how different parts of the timeline view know where they are. The timeline now constructs all the bounds, and each element just draws itself inside the provided bounds. 2020-03-01 15:24:12 -08:00
Peter Slattery 197b6accc7 Moved everything over to using frames rather than seconds in the animation system. 2020-02-29 17:11:15 -08:00
Peter Slattery dc36d44cd2 Clamped Animation Clips to the timeline 2020-02-29 16:02:30 -08:00
Peter Slattery 8f94aea56a Implemented Snapping Animation Clips 2020-02-29 15:43:06 -08:00
Peter Slattery 4224ba15fb Solved crash when not viewing the sculpture view panel
The sculpture view panel was the one which handled the job system. If the panel was closed, jobs stopped being completed and the queue filled up.
2020-02-29 15:07:56 -08:00
Peter Slattery b103ede28c Made the meta system put generated files relative to the root file rather than at an absolute path 2020-02-29 14:43:07 -08:00
Peter Slattery 67d3dd1e26 Began generating panel info via the meta program 2020-02-29 14:23:46 -08:00
Peter Slattery 09e6d4d15b Working on meta - got nodes fully in place again. Still need to store meta tags on struct members 2020-02-22 18:54:28 -08:00
Peter Slattery 5bdcb99357 Updated gitignore, removed irrelevant member from panel_result 2020-02-15 15:06:51 -08:00
Peter Slattery 15e0b96f0c Removed old sacn view code 2020-02-05 20:36:31 -08:00
Peter Slattery b94ccef48f Removed old universe view code 2020-02-05 20:34:50 -08:00
Peter Slattery d3467a2fd2 Consolidated platform code into one file. 2020-02-05 20:33:12 -08:00
Peter Slattery 05e6a191e8 Implemented a basic event log, and used it in various places around the codebase. Also removed foldhaus_memory as it isn't being used 2020-02-05 20:24:34 -08:00
Peter Slattery 305afc65cd Cleaned up assembly loading. Added a note to handle error logging in the future 2020-02-05 12:29:48 -08:00
Peter Slattery 75bb2ae86d Added some notes to various parts of the code base. Also simplified test patterns to ensure that we don't need to use leds_in_universe_range anywhere except in DMX buffer preparation 2020-02-05 12:20:03 -08:00
Peter Slattery 58ef0b460f Added memory errors for when files aren't found 2020-02-05 00:03:56 -08:00
Peter Slattery 759b5f6906 Handle releasing the mouse button outside the window when the button was pressed over top of the window. 2020-02-04 23:46:11 -08:00
Peter Slattery 43534ac86d Fixed a problem with how we were handling mouse button states. 2020-02-04 23:39:17 -08:00
Peter Slattery 3d9851fbe2 More platform layer functions cleanup 2020-02-04 23:35:21 -08:00
Peter Slattery 91612e48c7 Splitting out win32 sets of functions into groups to make them simpler to see and create platform layers for 2020-02-04 23:31:43 -08:00
Peter Slattery 460c08d169 Started making sure that the DLL is truly platform agnostic. Only thing left seems to be math.h for things like trig functions, and windows.h purely for interlockedincrement and interlockedadd 2020-02-04 23:16:41 -08:00
Peter Slattery 51955ba765 Fixed a Function Pointer address problem created by storing a pointer to the address of an animation procedure. When code is reloaded, that pointer becomes invalid, so we just store an index, and switch on the value 2020-02-04 22:50:12 -08:00
Peter Slattery 33338daab7 Working on Meta System Attempted to tag all panel related procedures 2020-02-01 19:15:04 -08:00
Peter Slattery 5592ae97e1 Readme updated with build instructions 2020-01-20 23:39:32 -08:00
Peter Slattery d14ac58e6e fixed 4coder project to match new batch files 2020-01-20 23:35:13 -08:00
Peter Slattery 5aa4391ea6 batch files now base their root path off of their current directory 2020-01-20 23:32:50 -08:00
Peter Slattery cd4bc23da7 Both meta and main build files should be path agnostic 2020-01-20 23:18:00 -08:00
Peter Slattery b290e06543 Making the build.bat files work with minimal setup 2020-01-20 23:02:40 -08:00
Peter Slattery d23a2a68d4 File Cleanup, removed unused files, and pulled gs_libs into the codebase so that its a standalone codebase 2020-01-20 22:56:36 -08:00
Peter Slattery af11a85e94 Compressing Type Info Generation 2020-01-20 21:11:07 -08:00
Peter Slattery d1353e52fa Separating out different parts of the meta system. 2020-01-19 17:48:57 -08:00
Peter Slattery e8759c931a Made a cleaner interface to the meta layer so that using it on other projects should be easier. 2020-01-19 17:34:49 -08:00
Peter Slattery 0efa2477fc More compression. Removing unused code form gs_meta_lexer 2020-01-19 17:15:04 -08:00
Peter Slattery d6cf235ece Compressing. 2020-01-19 17:03:19 -08:00
Peter Slattery 7cdb300388 Got the meta layer generating files, and incorporated it into the system. Replaced old node meta stuff with the new. 2020-01-19 04:03:07 -08:00
Peter Slattery 22c6fe15b6 Handled the case where fixup happened recursively when structs contained pointers in a loop larger than one struct. See description for example
Example:
```typedef struct bar bar;
struct foo { bar* Bar; };
struct bar { foo* Foo; };```
Cases like this (and cases with more structs in between, which would have caused the same problem) were causing infinite Fixup recursion, so we just ignore fixup needs on all pointers, instead defaulting to just knowing the size of all pointers regardless of type.
2020-01-19 00:25:35 -08:00
Peter Slattery 9a228d22ba Handled struct members which are pointers to data with the type of the containing struct. ie struct foo { foo* Next; } 2020-01-19 00:14:14 -08:00
Peter Slattery 9d0e4149d9 Began parsing function pointer typedefs in the meta layer. Some of them are working now, but not all. 2020-01-18 22:51:15 -08:00
Peter Slattery b11d9da9e4 Lots of work on the meta system. Most changes in src are just due to me putting test data in place 2020-01-18 22:07:59 -08:00
Peter Slattery af68881e04 updated sculpture file parsing 2020-01-13 17:04:40 -08:00
Peter Slattery 0164fea691 added documentation to all files 2020-01-01 18:41:43 -08:00
Peter Slattery 2ab7ff1194 Stored visual connections in the visual node layout system. 2019-12-31 14:06:04 -08:00
Peter Slattery 744a1c6c92 Updated the meta parser, and ifdef'd out a bunch of old node related code. 2019-12-31 13:15:28 -08:00
Peter Slattery 7545e3bbd0 Got most of the way to introducing new connections into the node workspace. 2019-12-30 23:13:04 -08:00