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
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
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
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
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
Peter Slattery
2bfed22bc2
Stored node layout in the node graph panel's state memory.
2019-12-30 22:16:14 -08:00
Peter Slattery
2b6959f37a
Implemented rudimentary workspaces for nodes
2019-12-30 22:05:57 -08:00
Peter Slattery
9973cf4ed9
Incorporated a new *shudders* c++ template based list implementation. Hopefully I can stop writing list implementations now
2019-12-30 20:26:28 -08:00
Peter Slattery
c5404e3296
Began drawing nodes, laying them out, and am working on node interface functionality
2019-12-29 18:28:59 -08:00
Peter Slattery
e0418bb2a3
??)
2019-12-29 08:25:48 -08:00
Peter Slattery
6a080f3aed
Implemented adding animation clips to the timeline
2019-12-28 16:01:34 -08:00
Peter Slattery
20636acdce
Implemented removing panels by right clicking on the border.
2019-12-28 15:01:02 -08:00
Peter Slattery
19727da391
Made dragging the time slider an operation mode.
2019-12-28 14:14:00 -08:00
Peter Slattery
a973054c17
Polished panel interactions. Dragging panel edges and mouse drag to split a panel are now operation modes, and both display a preview of where the new panel edges will be.
2019-12-28 14:00:09 -08:00
Peter Slattery
90b908ff98
Removed all reliance on external factors from the foldhaus_panel.h system
2019-12-28 13:02:19 -08:00
Peter Slattery
27ae65fb0c
Implemented dragging the ends of animation clips
2019-12-28 11:41:00 -08:00
Peter Slattery
e21da76a2b
Implemented dragging animation clips
2019-12-28 11:31:21 -08:00
Peter Slattery
d112b01e79
Lotta work on panels geting animation and sculpture view more up to scratch. Deleted a bunch of now obsolete files.
2019-12-28 10:51:47 -08:00
Peter Slattery
76d27e3b57
Fixed a bug where unloading assemblies caused a crash in the test patterns. Fixed another bug caused by not initializing dmx buffers linked lists to zero.
2019-12-26 18:40:14 -08:00
Peter Slattery
2c6adaeda2
Improved the visuals of the hierarchy panel and the timeline panel
2019-12-26 16:23:43 -08:00
Peter Slattery
d9af0c6a36
Created a hierarchy view
2019-12-26 14:45:27 -08:00
Peter Slattery
b83d718d37
Consolidated all panel code in one file, and removed all external dependencies. ITS A LIBRARY NOW (still needs refinement)
2019-12-26 13:14:00 -08:00
Peter Slattery
9b9fe2f5e1
Created a panel system and began moving everything over to it.
2019-12-26 12:42:55 -08:00
Peter Slattery
f491988c90
Began experimenting with animation timelines. This is making it obvious that I need to revamp my interface system
2019-12-26 08:11:48 -08:00
Peter Slattery
dbc3886e91
imported gs_memory_arena.h which is an improved rewrite of gs_memory.h. Integrated this new library in place of gs_memory.h
2019-12-22 17:47:26 -08:00
Peter Slattery
4d9f28dc6e
Got SACN transmitting over the network and set it up for blumen lumen
2019-12-03 22:40:22 -08:00
Peter Slattery
a77d97a31f
Created an initial version of a standard array template and swapped it in for the assembly array structure.
2019-11-28 21:12:57 -08:00
Peter Slattery
da76bb46f5
Removed nodes from the project
2019-11-23 03:05:25 -08:00
Peter Slattery
1fea9cdb91
Fixing a quick bug
2019-11-23 01:08:59 -08:00
Peter Slattery
4c78d8b594
Jobs are now set by assembly rather than in total. This ensures that no matter what, all leds will be drawn.
2019-11-23 00:15:40 -08:00
Peter Slattery
67b402b74f
Got assemblies to unload again
2019-11-22 23:57:30 -08:00
Peter Slattery
a5e774c8d1
created a mapping from leds to universes in assemly structures that doesn't rely on SACN
2019-11-22 23:33:48 -08:00
Peter Slattery
70c9c74796
Decoupled assembly from sacn.
2019-11-22 16:07:25 -08:00
Peter Slattery
834aab2671
Did a bunch of stuff with nodes
2019-11-11 20:34:56 -08:00
Peter Slattery
25d9fda391
Stopped storing copies of nodes names in memory with them. They now just point at the specifications name
2019-11-11 14:42:14 -08:00
Peter Slattery
dba7b1a250
Created basic scope list view
2019-11-11 12:02:24 -08:00
Peter Slattery
59cac0f435
lots of little fixes
2019-11-03 13:12:25 -08:00
Peter Slattery
741529a664
Moved nodes over to using handles rather than offsets in memory
2019-11-02 15:17:29 -07:00
Peter Slattery
f3270918d0
Removed MinAfterUpdate from interface_node
2019-11-02 14:17:52 -07:00
Peter Slattery
d9ae913bd8
Fixed node field label offsetting to account for the new right alignment
2019-11-02 14:11:06 -07:00
Peter Slattery
30f48d16fe
Added Left and Right alignment of text to the interface system.
2019-11-02 14:09:57 -07:00
Peter Slattery
66f666a50f
Prepared a delete node interface level function
2019-11-02 13:36:27 -07:00
Peter Slattery
6d893433c4
Made nodes selectable
2019-11-02 13:17:23 -07:00
Peter Slattery
e9a6bdd376
Got nodes to update when the node view isn't open
2019-11-02 10:47:27 -07:00
Peter Slattery
85c0602f94
Removed opening the node lister from the default command registry
2019-11-02 10:36:09 -07:00
Peter Slattery
ae3c762c29
Moved color selector activation out of node field dragging, and into clicking on a node field
2019-11-02 10:35:00 -07:00
Peter Slattery
6c71c5a89d
Made modes work with hot code reloading, dealt with a bug in the search lister that allowed you to select an item from an empty list, pulled NodeRenderSettings back out into app_state, and generally filled out the operation mode system.
2019-11-02 10:29:51 -07:00
Peter Slattery
d90b275cff
Improved function of the Input Command Dispatch
2019-11-02 07:02:11 -07:00
Peter Slattery
22e15858e5
Fixed input handling for events that need to be held. Added support for events that only get called on a button release
2019-11-01 09:09:05 -07:00
Peter Slattery
613be64f41
Moved node view over to mode system!
2019-11-01 07:38:44 -07:00
Peter Slattery
a889deaa98
Pulled the color picker into the new modes system
2019-11-01 06:46:06 -07:00
Peter Slattery
b2579a45b7
Pulled the universe view into the new modes system
2019-11-01 06:16:30 -07:00
Peter Slattery
e51400c313
Got modes working for the node lister
2019-11-01 05:46:40 -07:00
Peter Slattery
619c1370fe
Fixed up a bunch of node lister, search lister, and text entry stuff. Began playing with modes
2019-11-01 04:17:46 -07:00
Peter Slattery
e00e90f2fd
Quickly got the search lister to use the correct index when filtering the list.
2019-10-30 09:10:15 -07:00
Peter Slattery
e9e89b8f3d
Folder restructure
2019-10-30 07:28:02 -07:00