Commit Graph

325 Commits

Author SHA1 Message Date
PS 874925a5fe mapping phrases to colors for patterns 2021-03-27 14:46:17 -07:00
PS 76b86c9ba0 Merge remote-tracking branch 'origin/dev' into dev 2021-03-27 13:23:47 -07:00
PS bb7c175c33 Masking off the top leds if the flowers are open, and mapping between file names and clear core motor indices 2021-03-27 13:22:02 -07:00
Peter Slattery b5a3c4903a Debug interface for sculptures, lots of blumen updates. 2021-03-25 01:46:27 -07:00
PS 83707b10b9 Split the sculpture into 3 assemblies, and created a way for patterns to use assembly specific color palettes 2021-03-24 19:45:11 -07:00
PS 2fa1a9b178 Merge remote-tracking branch 'origin/dev' into dev 2021-03-24 19:20:26 -07:00
PS 743181fe9b Built & tested gs_csv.h 2021-03-24 19:09:26 -07:00
Peter Slattery 0e7596cafc Implemented masking the inner strips on blumen 2021-03-22 23:12:55 -07:00
Peter Slattery 4d0d916d97 More pattern work, fixed a problem where switching animations in the timeline window would overwrite fields of the new animation because the interface was caching the previous interfaces values, and created helpers to load animations from files. 2021-03-22 22:36:33 -07:00
Peter Slattery 3140ff3fe6 Some pattern work, added a way to identify what COM ports are available on windows, implemented multithreading patterns, and added a path to turn all the lights off on shutdown 2021-03-22 20:58:52 -07:00
PS 4085d3acf9 Merge remote-tracking branch 'origin/dev' into dev 2021-03-22 19:09:52 -07:00
PS ef4eb84a83 More pattern work 2021-03-22 19:09:30 -07:00
Peter Slattery e6042b7a01 Patterns 2021-03-20 21:49:02 -07:00
PS d81b809970 Patterns 2021-03-20 19:10:12 -07:00
Peter Slattery f6baf22907 Message logging 2021-03-20 18:06:04 -07:00
PS 9fc984d6f2 Message sending to weatherman 2021-03-20 15:15:35 -07:00
PS c054a0e6b6 Memory profiling & codebase cleanup 2021-03-18 02:19:35 -07:00
PS 4f199ee1c6 Fixed a problem with r64 parsing 2021-03-18 00:26:47 -07:00
PS 3a04aab4fd Updated tests for strings, and added cursor to widget strings if the widget is currently being edited 2021-03-18 00:18:58 -07:00
PS bf72a52142 Fixed backspacing condition in interface.h and added ui for renaming layers. 2021-03-17 22:56:52 -07:00
PS 01d960ca8f Added ui for adding layers 2021-03-17 22:48:55 -07:00
PS 59cb48c9f0 Implemented Crossfading between animations 2021-03-17 22:15:37 -07:00
Peter Slattery bb9c9b3e26 sanity tests, path handling, file lister update and began working on saving files 2021-03-06 18:17:24 -08:00
PS c68cb80ca4 Printing out based on messages received 2021-02-28 17:13:51 -08:00
PS f8d0f904ce Blumen lumen now reads packet headers before attempting to interpret them 2021-02-28 16:58:22 -08:00
PS 64879c0e2d cleanup 2021-02-28 15:47:05 -08:00
PS c7eb56724f implemented setting the working directory by finding a data folder in an ancestor directory of the exe files path 2021-02-28 15:18:39 -08:00
PS 4765301c22 Fixed gen_blumen_lumen to output sculpture spec again, and updated readme. 2021-02-28 14:35:14 -08:00
Peter Slattery b470a63ec5 Now have thread safe plugging / unplugging of USBs / serial ports 2021-02-20 18:21:52 -08:00
Peter Slattery 0807abc08e created default view for lumenarium 2021-02-20 14:32:43 -08:00
Peter Slattery 4deeb2470e added a brightness slider to the assembly debug panel's all red, green, blue, and white modes. 2021-02-20 14:14:39 -08:00
Peter Slattery 3bc51afe73 Added a User Space Cleanup Proc, made BlumenLumen_CustomCleanup end its thread, and implemented a SocketQueryStatus function 2021-02-20 13:14:54 -08:00
Peter Slattery ac19ab97ba saturday at foldspace 2021-02-06 15:10:14 -08:00
Peter Slattery 63d204364a clean up after debugging lights 2021-02-06 14:25:43 -08:00
Peter Slattery 45f0b39679 Fixed a strip count error in gen_blumen_lumen, and did some output data checking to ensure that we weren't sending garbage data to the sculpture. 2021-02-06 14:09:17 -08:00
Peter Slattery c58ef9e40a Saturday @ Foldspace 2021-01-30 19:33:44 -08:00
PS 8a51ce2f04 New patterns with the idea of pulling colors from set arrays of color patterns 2021-01-30 16:24:36 -08:00
PS 4836f7550d Formalized a system for user space sculpture code 2021-01-30 15:10:46 -08:00
PS 751ee2e27a Compressed some of the socket layer code and added a path to peek for messages 2021-01-30 14:25:58 -08:00
PS 84854b2ad8 Fixed issue with the ring buffer's write incrementation. 2021-01-30 14:09:19 -08:00
Peter Slattery cd6bee6d7e Finished preliminary socket layer and win32 implementation. 2021-01-30 14:01:04 -08:00
PS 070773437d began working on an abstraction layer for sockets 2021-01-30 13:22:43 -08:00
PS b1d745aa1f implemented an abstraction layer for threads so application code can run multithreaded code wihtout worrying about the platform 2021-01-24 14:49:38 -08:00
Peter Slattery 9d1809b5e2 Got a listen loop set up for the mic 2021-01-23 17:38:19 -08:00
Peter Slattery 26caed68a4 more blumen explorations 2021-01-23 15:58:05 -08:00
Peter Slattery c921e37df3 merge 2021-01-23 12:49:11 -08:00
Peter Slattery 0916bef999 introduced BlumenLumen_CustomUpdate and Init as proxies for an eventual user space system 2021-01-23 12:48:14 -08:00
PS 6d8d642dfb cleaning up build system. added animation_system_desc 2021-01-23 12:46:46 -08:00
PS 2769640adf updated the build system to get it to work out of the box on more systems 2021-01-16 23:01:08 -08:00
PS 99c62292a4 fixed error causing crashes when you exit the file viewer without selecting a file. Issue was when we tried to check if a string that had no data pointer was null terminated 2021-01-16 19:45:13 -08:00
PS 3c1110adfd Layout push/pop pairing is now checked for and asserted on 2021-01-16 18:55:31 -08:00
PS 35a3793015 more debug functionality. 2021-01-16 16:37:56 -08:00
PS 4798002dfc debug and profiler improvements. implemented sending data to multiple destinations on a per strip basis, rather than a full sculpture basis. new patterns. Added user data to patterns. 2021-01-16 14:02:25 -08:00
PS 914523cb60 Cleaned up system start up, update, and cleanup 2021-01-11 00:02:42 -08:00
PS 71547b05dc Interface fixes. Fixed the problem with strip LUT tables where substrips were stamping over previous substrips. Some pattern building too. 2021-01-10 16:25:35 -08:00
PS 8d923a5e3c Fixed problem with bounds checking on parent widgets, when they weren't expanding to fit children until they themselves were committed 2020-11-15 20:03:35 -08:00
PS 0b6b3c6367 Got the hierarchy window rendering again. 2020-11-15 17:40:51 -08:00
PS e6f34d17ad fixed problem with adjusting panel borders after they've been created 2020-11-15 17:33:55 -08:00
PS aac3ce5f00 removed extraneous files, and fixed an error introduced in the merge 2020-11-15 17:23:17 -08:00
PS 70971cc196 Merge branch 'ui_widget_overhaul' into dev 2020-11-15 17:17:53 -08:00
PS 6e24051982 Added a mouse hover layout and used it in the profiler 2020-11-15 17:07:59 -08:00
PS 8d737fd961 made the profiler list view a ui list 2020-11-15 16:58:13 -08:00
PS 91b2b822f9 did a few more tweaks to teh list 2020-11-15 16:36:11 -08:00
PS 118b734d6c Implemented a list view, which included upgrading rendering strings to accept clipping masks 2020-11-15 16:29:13 -08:00
PS 296472a588 Implemented variable sized row specifications 2020-11-15 14:48:04 -08:00
PS 50b6980bec ui_DrawString -> ui_Label 2020-11-14 23:44:06 -08:00
PS 1db26150ba implemented overlay layouts 2020-11-14 23:38:56 -08:00
PS e5ab90fcb1 Did some styling updates to the ui, added a range slider and a toggle 2020-11-14 23:30:24 -08:00
PS 31ee768032 Editing patterns 2020-11-14 22:08:13 -08:00
PS 30123e47a2 fixed some problems with ui retained states 2020-11-14 17:18:38 -08:00
PS e51188398d cleaned up unneeded fields in animation_frame 2020-11-14 13:48:17 -08:00
PS 5e6ac25490 on frames with overlapping blocks, the blocks are blended together 2020-11-14 13:41:27 -08:00
PS a6c8d0c955 refactored layer blending 2020-11-14 12:47:51 -08:00
PS 708ac91afe pulled animation update and render functions out of foldhaus_app.cpp 2020-11-14 12:19:36 -08:00
PS a52d8645e6 refactored clips -> patterns 2020-11-14 11:43:20 -08:00
PS 82ed9d84ac Got to connect to Ryan's code 2020-11-08 21:05:14 -08:00
PS fa1d5a5afc began turning ui_layout into ui_widgets that just have children. Currently, layout works, but the id system needs some thinking. 2020-11-08 19:42:14 -08:00
PS a42d2e81c5 Cleaned up panel event handling 2020-11-07 23:50:41 -08:00
PS f53becef5b Hot panel is passed to input event handlers 2020-11-07 23:43:41 -08:00
PS 6193af2555 Pulled animation timeline state out of the app struct 2020-11-07 23:21:37 -08:00
PS e9945df6ca Moved camera state into the state for each sculpture view 2020-11-07 23:15:39 -08:00
PS d5be2a2de8 Pretty big ui overhaul. 2020-11-07 22:54:59 -08:00
PS 723458c491 fixed some issues with the panel system, and began rearraning the animation timeline window 2020-11-03 12:49:16 -08:00
PS 57f144ea64 refactored panel sytstem 2020-10-24 18:54:47 -07:00
PS a88d675327 removed gs_list and gs_bucket from the app 2020-10-24 13:50:34 -07:00
PS 85f7aab621 Animation loading 2020-10-24 13:28:10 -07:00
PS 5c183d9c5f implemented switching to a file browser, used it in the animation window and in the assembly hierarchy, and moved everything over to a linear array of animation blocks 2020-10-18 15:31:53 -07:00
PS 8eb3044422 implemented an animation handle system for identifying animation blocks 2020-10-18 13:57:04 -07:00
PS 121e9efa93 Fixed animations so they are no longer updating when the current frame is not in range 2020-10-17 13:12:40 -07:00
PS 85b99b17a2 basically removed the need for the meta system from the codebase, and implemented pushing new panel types on a LIFO queue with return memory destinations 2020-10-17 12:43:05 -07:00
PS bfd50c9129 implemented segmented led strips 2020-10-11 20:54:38 -07:00
PS 0ba59d3767 added error reporting to the parser 2020-10-10 17:46:50 -07:00
PS 43d3426a58 renamed assembly_parser -> foldhaus_assembly_parser for consistency 2020-10-10 17:23:39 -07:00
PS e4266ba1ef assembly_parser now uses the standard parser 2020-10-10 17:22:31 -07:00
PS 55284cde25 Created serial_monitor, and debugged uart functionality. It is now working 2020-10-10 16:52:00 -07:00
PS 1940483620 Wrote a file serializer and parser for animations 2020-10-10 00:10:51 -07:00
PS b816474dd5 Successfully transitioned to discrete animations 2020-10-09 22:08:51 -07:00
PS ecca6c691a Speeding up COM writing 2020-10-05 13:17:33 -07:00
PS 83ed23280a Cleaned up network interface, separated SACN out from the actual sending of data, implemented sending over COM ports (remains to be tested), and added information specifying data output modes for com ports to the assembly file format 2020-10-03 08:46:14 -07:00
PS 0022efea8e Naming convention updates, separated out the work queue into its own file 2020-10-01 15:41:32 -07:00
PS 78d44b9348 Created addressed_data_buffer as a universal way for systems to send data over various output devices. Cleaned up old SACN code, removed dmx as its not needed in its own right anymore. 2020-10-01 15:30:24 -07:00
Peter Slattery 01a20f41e7 File lister now displays current directory at top, and omits it from file names 2020-09-07 14:35:58 -07:00
Peter Slattery 3a732f95b8 File lister now handles . in directory names 2020-09-07 14:29:32 -07:00
Peter Slattery 6491a88d8a File lister now handles .. in directory names 2020-09-07 14:28:41 -07:00
Peter Slattery 15a2cb080e Basic file lister functionality. Extended Win32EnumerateDirectory; it now includes folders if proper flags are set. 2020-09-07 13:42:00 -07:00
Peter Slattery d08de9b99f Stopped freeing assembly file memory after load since its in the transient buffer anyways. 2020-09-07 12:47:12 -07:00
Peter Slattery c7522bfa4b Added a default tag to every strip specifying which assembly it is a part of 2020-09-07 12:37:32 -07:00
Peter Slattery cc41442923 added assembly_center field to assembly files and used it to place assemblies at construction time 2020-09-07 11:12:58 -07:00
Peter Slattery 44486acca4 did a bunch of animation timeline todos - just simplifying function call signatures 2020-09-06 21:42:21 -07:00
Peter Slattery 736b7ab85e Prevented array index out of bounds error when accessing animation procs form the GlobalAnimationClips array 2020-09-06 21:18:49 -07:00
Peter Slattery 337b4ac271 Implemented tag based filtering of led strips 2020-09-06 21:10:36 -07:00
Peter Slattery 1db836890f Cleaned up world -> panel space conversion 2020-09-06 20:33:28 -07:00
Peter Slattery 7c134774c3 sculpture view cleanup 2020-07-18 13:08:28 -07:00
Peter Slattery 078f4e3ed7 Fixed the sculpture view. 2020-07-18 12:59:57 -07:00
Peter Slattery 62e22979f3 Separated out the engine from the editor. 2020-07-18 12:27:36 -07:00
Peter Slattery 50c2ef9290 Cleaning up, converting over to using new gs files. 2020-07-18 12:00:14 -07:00
Peter Slattery 295a5aaaa0 Fixed problem where leds were being drawn with the wrong color 2020-06-27 14:10:25 -07:00
Peter Slattery 266f42c4f6 Whatever I was doing last time + made leds always be camera facing. Probably could use some speed up later on. 2020-06-27 11:23:50 -07:00
Peter Slattery e3d7a90a13 app_state.Interface_ -> app_state.Interface 2020-06-22 17:39:58 -07:00
Peter Slattery dc25b268f7 compressed some ui drawing code. 2020-06-21 21:59:42 -07:00
Peter Slattery a0072cd57b removed foldhaus_debug_visuals.h Cleaned up assembly parsing. 2020-06-21 21:26:13 -07:00
Peter Slattery 23c9dabfbb A bit more cleanup around sacn and assemblies. 2020-06-20 17:05:58 -07:00
Peter Slattery 9c432a3807 Cleaned up some extraneous variables in the assembly structure 2020-06-19 18:53:23 -07:00
Peter Slattery 69db4b436c Pulled the leds out of assemblies and into their own subsystem. 2020-06-15 15:36:50 -07:00
Peter Slattery bfd9d6671c Finished parsing the new assembly file format 2020-06-09 20:33:51 -07:00
Peter Slattery c2f3b9193d platform_file_handler functions now take strings rather than char arrays 2020-05-30 15:09:06 -07:00
Peter Slattery 0b3d603e04 Created platform_file_handler and integrated it 2020-05-30 14:54:37 -07:00
Peter Slattery 20427d9dbd Project folder structure fixup. 2020-05-11 18:06:54 -07:00
Peter Slattery f874ba5289 Began building out the osx platform layer 2020-03-29 16:47:47 -07:00
Peter Slattery b843937295 Refactored rect functionality of gs_vector_matrix to make it not conflict with windows headers (just added gs_ to all functions). refactored Profiler interface code to use the new interface layout system. 2020-03-21 22:44:44 -07:00
Peter Slattery 5922a4bf27 Pulled more old ui code out and replaced it with the layout based ui 2020-03-21 21:13:35 -07:00
Peter Slattery cb98100a94 Began working on a new ui layout system. Deprecated a lot of old ui code, in favor of new ui_ code 2020-03-20 00:55:13 -07:00
Peter Slattery f461ee2044 Metaprocessor now generates an enum of panel types, app now passes a cursor type out to the platform layer, which handles setting the cursor style. 2020-03-12 22:42:59 -07:00
Peter Slattery 27c0c5e16f Removed old layer/pattern code 2020-03-08 20:28:49 -07:00
Peter Slattery f3c308e8fd Began implementing a file view panel 2020-03-08 16:15:26 -07:00
Peter Slattery 2fbc916c79 Fixed problem where overlapping animation clips would trigger multiple drag animation block commands. 2020-03-08 14:57:34 -07:00
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 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