diff --git a/.eslintrc b/.eslintrc index 82787e16..9afd61aa 100644 --- a/.eslintrc +++ b/.eslintrc @@ -18,6 +18,7 @@ "object-curly-spacing" : [2, "always"], "no-var" : 2, "comma-dangle" : [2, "always-multiline"], - "no-console" : [2, { "allow": ["warn", "error"] }] + "no-console" : [2, { "allow": ["warn", "error"] }], + "no-unused-expressions": 2 } } diff --git a/docs/dev/index.md b/docs/dev/index.md index efc82736..4500d2a2 100644 --- a/docs/dev/index.md +++ b/docs/dev/index.md @@ -317,14 +317,6 @@ module.exports = Bloom ### Other examples There are plenty of other examples that can be found in the [example sketches folder](../../example-projects). -### Global postprocessing -By default, any post processing will only affect the scene that sketch is in. This means that fading the scene out on the crossfader will also fade out any post processing effects you have in that scene. However, by checking "Global Post Processing" enabled under the scene settings, the effect will now work across all scenes. An icon will appear on the scene thumbnail if this setting is enabled. The scene does not need to be added to any channel, `update` will always be running with this setting on. - -As a convention, it makes sense to have a post processing scene, with post processing related sketches added to it. This scene does not need to have any 3D objects in it and never needs to be added to a channel. - -### Order of passes -You can reorder sketches by clicking and holding on them in the sidebar. This relates to the order in which passes are added to the composer. If passes are added to sketches across multiple scenes, the order of the scenes is also important. - ## Reloading sketches / Auto reload If you have the "Watch sketches" setting enabled, Hedron will automatically refresh your sketches. However, if you don't have this enabled or something went wrong with the file watch (e.g. your sketch imports a file outside of its own folder) you'll need to click "Reload File" to see changes made to sketch files. diff --git a/docs/user-guide/index.md b/docs/user-guide/index.md index 0914cd33..205817ff 100644 --- a/docs/user-guide/index.md +++ b/docs/user-guide/index.md @@ -68,6 +68,25 @@ This refresh will remove the sketch from the scene, import any new params or sho **Please note: File change detection may not work with all text editors. (e.g. Atom on OSX is reported to be inconsistent).** +## Post Processing +Sketches that make use of post processing features can be added to a scene like any normal sketch. The difference being that they may not add any objects to the scene and instead add effect passes to the rendering of that scene. If you are using more than one post processing sketch, the order of the sketches determines the order of the passes. + +### Global post processing +By default, any post processing will only affect the scene that sketch is in. This means that fading the scene out on the crossfader will also fade out any post processing effects you have in that scene. However, by checking "Global Post Processing" under the scene settings, the post processing for that scene will now work across all scenes. An icon will appear on the scene thumbnail if this setting is enabled. The scene does not need to be added to any channel, `update` will always be running with this setting on. + +As a convention, it makes sense to have a global post processing scene, with post processing related sketches added to it. This scene does not need to have any 3D objects in it and never needs to be added to a channel. + +### Order of passes +You can reorder sketches by clicking and holding on them in the sidebar. This relates to the order in which passes are added to the composer. If you have more than one global post processing scene, the order of scenes is also taken into account. You can reorder scenes in the same way as sketches, by clicking and holding them before dragging. + +### Global postprocessing +By default, any post processing will only affect the scene that sketch is in. This means that fading the scene out on the crossfader will also fade out any post processing effects you have in that scene. However, by checking "Global Post Processing" enabled under the scene settings, the effect will now work across all scenes. An icon will appear on the scene thumbnail if this setting is enabled. The scene does not need to be added to any channel, `update` will always be running with this setting on. + +As a convention, it makes sense to have a post processing scene, with post processing related sketches added to it. This scene does not need to have any 3D objects in it and never needs to be added to a channel. + +### Order of passes +You can reorder sketches by clicking and holding on them in the sidebar. This relates to the order in which passes are added to the composer. If passes are added to sketches across multiple scenes, the order of the scenes is also important. + ## Macros Macros make it possible to control many params at once. To start using macros, click on "Macros" on the right sidebar. diff --git a/example-projects/basic.json b/example-projects/basic.json new file mode 100644 index 00000000..f9a1df58 --- /dev/null +++ b/example-projects/basic.json @@ -0,0 +1 @@ +{"nodes":{"sceneCrossfader":{"id":"sceneCrossfader","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Scene Crossfader","type":"param","valueType":"float","optionIds":[]},"viewerMode":{"id":"viewerMode","value":"mix","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Viewer Mode","valueType":"enum","options":[{"value":"mix","label":"Mix"},{"value":"A","label":"A"},{"value":"B","label":"B"}],"optionIds":[]},"sketchOrganization":{"id":"sketchOrganization","value":"category","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Sketch Organization","valueType":"enum","options":[{"value":"folder","label":"Folder"},{"value":"category","label":"Category"},{"value":"author","label":"Author"}],"optionIds":[]},"audioLevelsFalloff":{"id":"audioLevelsFalloff","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Falloff","type":"param","valueType":"float","optionIds":[]},"audioLevelsPower":{"id":"audioLevelsPower","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Power","type":"param","min":0.5,"max":3,"valueType":"float","optionIds":[]},"audioLevelsSmoothing":{"id":"audioLevelsSmoothing","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Smoothing","type":"param","valueType":"float","optionIds":[]},"audioNormalizeLevels":{"id":"audioNormalizeLevels","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalize Levels","type":"param","valueType":"float","optionIds":[]},"audioNormalizeRangeFalloff":{"id":"audioNormalizeRangeFalloff","value":0.01,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalized Range Falloff","type":"param","valueType":"float","optionIds":[]},"n31pv3n":{"id":"n31pv3n","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"vmc8jmw","channel":"A"}},"title":"Add to A","optionIds":[]},"9ymdgux":{"id":"9ymdgux","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"vmc8jmw","channel":"B"}},"title":"Add to B","optionIds":[]},"x2ch3dn":{"id":"x2ch3dn","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"vmc8jmw","channel":"active"}},"title":"Add to Active","optionIds":[]},"3vmwtij":{"id":"3vmwtij","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"vmc8jmw","channel":"opposite"}},"title":"Add to Opposite","optionIds":[]},"tr7sy0e":{"id":"tr7sy0e","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"SCENE_CLEAR_CHANNEL","payload":{"id":"vmc8jmw"}},"title":"Clear","optionIds":[]},"v30d915":{"id":"v30d915","value":0.5833333333333334,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"arrq26q","title":"Rotation Speed X","valueType":"float","type":"param","key":"rotSpeedX","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"rhibicn":{"id":"rhibicn","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"arrq26q","title":"Rotation Speed Y","valueType":"float","type":"param","key":"rotSpeedY","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"687svyd":{"id":"687svyd","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"arrq26q","title":"Rotation Speed Z","valueType":"float","type":"param","key":"rotSpeedZ","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"0k9feb2":{"id":"0k9feb2","value":0.7760301604699178,"inputLinkIds":["fhpikiv"],"shotCount":0,"connectedMacroIds":[],"sketchId":"arrq26q","title":"Scale","valueType":"float","type":"param","key":"scale","hidden":false,"min":0.00001,"max":4,"defaultMin":0.00001,"defaultMax":4,"openedLinkId":"fhpikiv","activeInputLinkId":"fhpikiv","optionIds":[]},"kg7ejk7":{"id":"kg7ejk7","value":true,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"arrq26q","title":"Wireframe","valueType":"boolean","type":"param","key":"isWireframe","hidden":false,"optionIds":[]},"ym3l08c":{"id":"ym3l08c","value":"icosa","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"arrq26q","title":"geomName","valueType":"enum","type":"param","key":"geomName","hidden":false,"options":[{"value":"cube","label":"Cube"},{"value":"tetra","label":"Tetra"},{"value":"octa","label":"Octa"},{"value":"icosa","label":"Icosa"},{"value":"dodeca","label":"Dodeca"}],"optionIds":[]},"cpt12qc":{"id":"cpt12qc","value":0,"inputLinkIds":["ovn0f5p"],"shotCount":135,"connectedMacroIds":[],"sketchId":"arrq26q","type":"shot","valueType":"shotFloat","title":"Random Geom","method":"randomGeom","openedLinkId":"ovn0f5p","activeInputLinkId":"ovn0f5p","optionIds":[]},"w6iy3g4":{"id":"w6iy3g4","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"s8ymimc","title":"Opacity","valueType":"float","type":"param","key":"opacity","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"u86y54g":{"id":"u86y54g","value":0.26666666666666666,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"s8ymimc","title":"Speed","valueType":"float","type":"param","key":"speed","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"chx6d5o":{"id":"chx6d5o","value":[1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"optionIds":[]},"5m75das":{"id":"5m75das","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"cpt12qc","linkId":"ovn0f5p"}},"sketchId":"arrq26q","parentNodeId":"ovn0f5p","optionIds":[]},"ovn0f5p":{"id":"ovn0f5p","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"seq-step","type":"inputLink","input":{"id":"seq-step","type":"seq-step"},"nodeId":"cpt12qc","sketchId":"arrq26q","parentNodeId":"cpt12qc","nodeType":"shot","modifierIds":[],"optionIds":[],"linkableActions":{"toggleActivate":"5m75das"},"sequencerGridId":"chx6d5o","linkType":"node"},"kqprtqm":{"id":"kqprtqm","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"fhpikiv","sketchId":"arrq26q","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"yroim9l":{"id":"yroim9l","value":0.30952380952380953,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"fhpikiv","sketchId":"arrq26q","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true,"optionIds":[]},"xgtissg":{"id":"xgtissg","value":0.8095238095238095,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"fhpikiv","sketchId":"arrq26q","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"a7ot2o4":{"id":"a7ot2o4","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"fhpikiv","sketchId":"arrq26q","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true,"optionIds":[]},"bpvs8wy":{"id":"bpvs8wy","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"arrq26q","parentNodeId":"fhpikiv","optionIds":[]},"rcgxus4":{"id":"rcgxus4","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"arrq26q","parentNodeId":"fhpikiv","optionIds":[]},"y9cm37u":{"id":"y9cm37u","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"arrq26q","parentNodeId":"fhpikiv","optionIds":[]},"sfcajf7":{"id":"sfcajf7","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"arrq26q","parentNodeId":"fhpikiv","optionIds":[]},"0frcu4g":{"id":"0frcu4g","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"0k9feb2","linkId":"fhpikiv"}},"sketchId":"arrq26q","parentNodeId":"fhpikiv","optionIds":[]},"fhpikiv":{"id":"fhpikiv","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"0k9feb2","sketchId":"arrq26q","parentNodeId":"0k9feb2","nodeType":"param","modifierIds":["kqprtqm","yroim9l","xgtissg","a7ot2o4"],"optionIds":["bpvs8wy","rcgxus4","y9cm37u","sfcajf7"],"linkableActions":{"toggleActivate":"0frcu4g"},"linkType":"node"},"areErrorPopupsDisabled":{"title":"Disable Error Popups","id":"areErrorPopupsDisabled","valueType":"boolean","value":false}},"scenes":{"items":{"vmc8jmw":{"id":"vmc8jmw","title":"Basic","selectedSketchId":"arrq26q","sketchIds":["arrq26q","s8ymimc"],"linkableActionIds":{"addToA":"n31pv3n","addToB":"9ymdgux","addToActive":"x2ch3dn","addToOpposite":"3vmwtij","clear":"tr7sy0e"},"settings":{}}},"sceneIds":["vmc8jmw"],"currentSceneId":"vmc8jmw","channels":{"A":"vmc8jmw","B":false}},"sketches":{"arrq26q":{"title":"Solid","moduleId":"solid","paramIds":["v30d915","rhibicn","687svyd","0k9feb2","kg7ejk7","ym3l08c"],"shotIds":["cpt12qc"],"openedNodeId":"0k9feb2"},"s8ymimc":{"title":"Stars","moduleId":"stars","paramIds":["w6iy3g4","u86y54g"],"shotIds":[]}},"project":{"filePath":"/Users/alex/Sites/GitHub/hedron/example-projects/basic.json","sketchesPath":"/Users/alex/Sites/GitHub/hedron/example-projects/sketches","errors":[],"errorPopup":false},"inputs":{"audio":{"value":[0.030403629225992095,0,0,0],"assignedLinkIds":[]},"lfo":{"value":194.33333333333334,"assignedLinkIds":["fhpikiv"]},"seq-step":{"assignedLinkIds":["ovn0f5p"],"value":18}},"inputLinks":{"nodeIds":[null]},"midi":{"learning":false,"devices":{"IAC Driver IAC Bus 1":{"title":"IAC Driver IAC Bus 1","id":"IAC Driver IAC Bus 1","manufacturer":"Apple Inc.","settings":{"forceChannel":{"value":false,"label":"-"}}}},"connectedDeviceIds":["IAC Driver IAC Bus 1"]},"macros":{"learningId":false,"nodeIds":[]},"ui":{"panelWidths":{"left":50},"isEditing":false,"openedNode":false,"auxOpen":["sketchcat_simple"],"addSketchOpen":{}},"router":{"location":{"pathname":"/scenes/view","search":"","hash":"","key":"d61u3f"},"action":"PUSH"},"settings":{"clockGenerated":true,"clockBpm":120,"aspectW":16,"aspectH":9,"throttledFPS":60,"watchSketchesDir":true},"form":{"device_IAC Driver IAC Bus 1":{"values":{"forceChannel":{"value":false,"label":"-"}},"initial":{"forceChannel":{"value":false,"label":"-"}},"registeredFields":{"forceChannel":{"name":"forceChannel","type":"Field","count":1}}},"sceneManager":{"values":{},"initial":{},"registeredFields":{"globalPostProcessingEnabled":{"name":"globalPostProcessingEnabled","type":"Field","count":1}}}}} \ No newline at end of file diff --git a/example-projects/fragment-shader.json b/example-projects/fragment-shader.json new file mode 100644 index 00000000..a727fed2 --- /dev/null +++ b/example-projects/fragment-shader.json @@ -0,0 +1 @@ +{"nodes":{"sceneCrossfader":{"id":"sceneCrossfader","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Scene Crossfader","type":"param","valueType":"float","optionIds":[]},"viewerMode":{"id":"viewerMode","value":"mix","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Viewer Mode","valueType":"enum","options":[{"value":"mix","label":"Mix"},{"value":"A","label":"A"},{"value":"B","label":"B"}],"optionIds":[]},"sketchOrganization":{"id":"sketchOrganization","value":"category","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Sketch Organization","valueType":"enum","options":[{"value":"folder","label":"Folder"},{"value":"category","label":"Category"},{"value":"author","label":"Author"}],"optionIds":[]},"audioLevelsFalloff":{"id":"audioLevelsFalloff","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Falloff","type":"param","valueType":"float","optionIds":[]},"audioLevelsPower":{"id":"audioLevelsPower","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Power","type":"param","min":0.5,"max":3,"valueType":"float","optionIds":[]},"audioLevelsSmoothing":{"id":"audioLevelsSmoothing","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Smoothing","type":"param","valueType":"float","optionIds":[]},"audioNormalizeLevels":{"id":"audioNormalizeLevels","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalize Levels","type":"param","valueType":"float","optionIds":[]},"audioNormalizeRangeFalloff":{"id":"audioNormalizeRangeFalloff","value":0.01,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalized Range Falloff","type":"param","valueType":"float","optionIds":[]},"pcijn4b":{"id":"pcijn4b","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"i2b1fd2","channel":"A"}},"title":"Add to A","optionIds":[]},"cnoaqlk":{"id":"cnoaqlk","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"i2b1fd2","channel":"B"}},"title":"Add to B","optionIds":[]},"gpsaw5x":{"id":"gpsaw5x","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"i2b1fd2","channel":"active"}},"title":"Add to Active","optionIds":[]},"2447ivr":{"id":"2447ivr","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"i2b1fd2","channel":"opposite"}},"title":"Add to Opposite","optionIds":[]},"ie8veuj":{"id":"ie8veuj","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"SCENE_CLEAR_CHANNEL","payload":{"id":"i2b1fd2"}},"title":"Clear","optionIds":[]},"gn5evs6":{"id":"gn5evs6","value":0.7607142857142857,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"yddf14t","title":"distanceStep","valueType":"float","type":"param","key":"distanceStep","hidden":false,"min":0,"max":20,"defaultMin":0,"defaultMax":20,"optionIds":[]},"hl99l48":{"id":"hl99l48","value":0.8865052266813669,"inputLinkIds":["ewpvhcl"],"shotCount":0,"connectedMacroIds":[],"sketchId":"yddf14t","title":"Y Morph Amp","valueType":"float","type":"param","key":"yMorphAmp","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"openedLinkId":"ewpvhcl","activeInputLinkId":"ewpvhcl","optionIds":[]},"hk8tymh":{"id":"hk8tymh","value":0.8865052266813669,"inputLinkIds":["6lrf9a6"],"shotCount":0,"connectedMacroIds":[],"sketchId":"yddf14t","title":"Y Morph Mix","valueType":"float","type":"param","key":"yMorphMix","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"openedLinkId":"6lrf9a6","activeInputLinkId":"6lrf9a6","optionIds":[]},"swp1m51":{"id":"swp1m51","value":0.9903926402016162,"inputLinkIds":["8mfpsla"],"shotCount":0,"connectedMacroIds":[],"sketchId":"yddf14t","title":"X Morph Amp","valueType":"float","type":"param","key":"xMorphAmp","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"openedLinkId":"8mfpsla","activeInputLinkId":"8mfpsla","optionIds":[]},"5whpcx0":{"id":"5whpcx0","value":0.3737542114924304,"inputLinkIds":["7vfedqr"],"shotCount":0,"connectedMacroIds":[],"sketchId":"yddf14t","title":"X Morph Mix","valueType":"float","type":"param","key":"xMorphMix","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"openedLinkId":"7vfedqr","activeInputLinkId":"7vfedqr","optionIds":[]},"hshm03m":{"id":"hshm03m","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"8mfpsla","sketchId":"yddf14t","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"m94an7o":{"id":"m94an7o","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"8mfpsla","sketchId":"yddf14t","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true,"optionIds":[]},"66tmp1g":{"id":"66tmp1g","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"8mfpsla","sketchId":"yddf14t","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"w3pyvh6":{"id":"w3pyvh6","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"8mfpsla","sketchId":"yddf14t","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true,"optionIds":[]},"bn9bq0t":{"id":"bn9bq0t","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"yddf14t","parentNodeId":"8mfpsla","optionIds":[]},"chvdlrm":{"id":"chvdlrm","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"yddf14t","parentNodeId":"8mfpsla","optionIds":[]},"hc7oubv":{"id":"hc7oubv","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"yddf14t","parentNodeId":"8mfpsla","optionIds":[]},"i8xtv57":{"id":"i8xtv57","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"yddf14t","parentNodeId":"8mfpsla","optionIds":[]},"g2ukwwv":{"id":"g2ukwwv","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"swp1m51","linkId":"8mfpsla"}},"sketchId":"yddf14t","parentNodeId":"8mfpsla","optionIds":[]},"8mfpsla":{"id":"8mfpsla","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"swp1m51","sketchId":"yddf14t","parentNodeId":"swp1m51","nodeType":"param","modifierIds":["hshm03m","m94an7o","66tmp1g","w3pyvh6"],"optionIds":["bn9bq0t","chvdlrm","hc7oubv","i8xtv57"],"linkableActions":{"toggleActivate":"g2ukwwv"},"linkType":"node"},"a2hoos9":{"id":"a2hoos9","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"6lrf9a6","sketchId":"yddf14t","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"uk3g5yq":{"id":"uk3g5yq","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"6lrf9a6","sketchId":"yddf14t","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true,"optionIds":[]},"vrkfoa0":{"id":"vrkfoa0","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"6lrf9a6","sketchId":"yddf14t","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"9ggmof0":{"id":"9ggmof0","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"6lrf9a6","sketchId":"yddf14t","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true,"optionIds":[]},"32pakjs":{"id":"32pakjs","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"yddf14t","parentNodeId":"6lrf9a6","optionIds":[]},"y2x43pi":{"id":"y2x43pi","value":0.125,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"yddf14t","parentNodeId":"6lrf9a6","optionIds":[]},"i7779qh":{"id":"i7779qh","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"yddf14t","parentNodeId":"6lrf9a6","optionIds":[]},"10l5x8n":{"id":"10l5x8n","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"yddf14t","parentNodeId":"6lrf9a6","optionIds":[]},"y9un7rw":{"id":"y9un7rw","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"hk8tymh","linkId":"6lrf9a6"}},"sketchId":"yddf14t","parentNodeId":"6lrf9a6","optionIds":[]},"6lrf9a6":{"id":"6lrf9a6","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"hk8tymh","sketchId":"yddf14t","parentNodeId":"hk8tymh","nodeType":"param","modifierIds":["a2hoos9","uk3g5yq","vrkfoa0","9ggmof0"],"optionIds":["32pakjs","y2x43pi","i7779qh","10l5x8n"],"linkableActions":{"toggleActivate":"y9un7rw"},"linkType":"node"},"vwvo7bk":{"id":"vwvo7bk","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"ewpvhcl","sketchId":"yddf14t","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"6rcpkgl":{"id":"6rcpkgl","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"ewpvhcl","sketchId":"yddf14t","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true,"optionIds":[]},"p2n182p":{"id":"p2n182p","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"ewpvhcl","sketchId":"yddf14t","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"1q81kks":{"id":"1q81kks","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"ewpvhcl","sketchId":"yddf14t","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true,"optionIds":[]},"ecahuyd":{"id":"ecahuyd","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"yddf14t","parentNodeId":"ewpvhcl","optionIds":[]},"0gk1e6x":{"id":"0gk1e6x","value":0.125,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"yddf14t","parentNodeId":"ewpvhcl","optionIds":[]},"uttlkvc":{"id":"uttlkvc","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"yddf14t","parentNodeId":"ewpvhcl","optionIds":[]},"w4lyrrw":{"id":"w4lyrrw","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"yddf14t","parentNodeId":"ewpvhcl","optionIds":[]},"6grjtmv":{"id":"6grjtmv","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"hl99l48","linkId":"ewpvhcl"}},"sketchId":"yddf14t","parentNodeId":"ewpvhcl","optionIds":[]},"ewpvhcl":{"id":"ewpvhcl","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"hl99l48","sketchId":"yddf14t","parentNodeId":"hl99l48","nodeType":"param","modifierIds":["vwvo7bk","6rcpkgl","p2n182p","1q81kks"],"optionIds":["ecahuyd","0gk1e6x","uttlkvc","w4lyrrw"],"linkableActions":{"toggleActivate":"6grjtmv"},"linkType":"node"},"1a0l4w5":{"id":"1a0l4w5","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"7vfedqr","sketchId":"yddf14t","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"p841asl":{"id":"p841asl","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"7vfedqr","sketchId":"yddf14t","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true,"optionIds":[]},"g723slu":{"id":"g723slu","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"7vfedqr","sketchId":"yddf14t","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"lytq4bu":{"id":"lytq4bu","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"7vfedqr","sketchId":"yddf14t","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true,"optionIds":[]},"d1dii5j":{"id":"d1dii5j","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"yddf14t","parentNodeId":"7vfedqr","optionIds":[]},"4x7l02t":{"id":"4x7l02t","value":0.125,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"yddf14t","parentNodeId":"7vfedqr","optionIds":[]},"c5svwg5":{"id":"c5svwg5","value":0.4,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"yddf14t","parentNodeId":"7vfedqr","optionIds":[]},"6pci49r":{"id":"6pci49r","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"yddf14t","parentNodeId":"7vfedqr","optionIds":[]},"wj2ao2n":{"id":"wj2ao2n","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"5whpcx0","linkId":"7vfedqr"}},"sketchId":"yddf14t","parentNodeId":"7vfedqr","optionIds":[]},"7vfedqr":{"id":"7vfedqr","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"5whpcx0","sketchId":"yddf14t","parentNodeId":"5whpcx0","nodeType":"param","modifierIds":["1a0l4w5","p841asl","g723slu","lytq4bu"],"optionIds":["d1dii5j","4x7l02t","c5svwg5","6pci49r"],"linkableActions":{"toggleActivate":"wj2ao2n"},"linkType":"node"},"areErrorPopupsDisabled":{"title":"Disable Error Popups","id":"areErrorPopupsDisabled","valueType":"boolean","value":false}},"scenes":{"items":{"i2b1fd2":{"id":"i2b1fd2","title":"frag","selectedSketchId":"yddf14t","sketchIds":["yddf14t"],"linkableActionIds":{"addToA":"pcijn4b","addToB":"cnoaqlk","addToActive":"gpsaw5x","addToOpposite":"2447ivr","clear":"ie8veuj"},"settings":{}}},"sceneIds":["i2b1fd2"],"currentSceneId":"i2b1fd2","channels":{"A":"i2b1fd2","B":false}},"sketches":{"yddf14t":{"title":"Fragment Shader","moduleId":"fragment-shader","paramIds":["gn5evs6","hl99l48","hk8tymh","swp1m51","5whpcx0"],"shotIds":[],"openedNodeId":"5whpcx0"}},"project":{"filePath":"/Users/alex/Sites/GitHub/hedron/example-projects/sketches/fragment-shader.json","sketchesPath":"/Users/alex/Sites/GitHub/hedron/example-projects/sketches","errors":[],"errorPopup":false},"inputs":{"audio":{"value":[0.18820255708132083,0.22375466980563413,0.20986826276396225,0.2560342388421122],"assignedLinkIds":[]},"lfo":{"value":185.125,"assignedLinkIds":["8mfpsla","6lrf9a6","ewpvhcl","7vfedqr"]}},"inputLinks":{"nodeIds":[null]},"midi":{"learning":false,"devices":{"IAC Driver IAC Bus 1":{"title":"IAC Driver IAC Bus 1","id":"IAC Driver IAC Bus 1","manufacturer":"Apple Inc.","settings":{"forceChannel":{"value":false,"label":"-"}}}},"connectedDeviceIds":["IAC Driver IAC Bus 1"]},"macros":{"learningId":false,"nodeIds":[]},"ui":{"panelWidths":{"left":50},"isEditing":false,"openedNode":false,"auxOpen":[],"addSketchOpen":{}},"router":{"location":{"pathname":"/scenes/view/i2b1fd2","search":"","hash":"","key":"zdq81p"},"action":"PUSH"},"settings":{"clockGenerated":true,"clockBpm":120,"aspectW":16,"aspectH":9,"throttledFPS":60,"watchSketchesDir":true},"form":{"device_IAC Driver IAC Bus 1":{"values":{"forceChannel":{"value":false,"label":"-"}},"initial":{"forceChannel":{"value":false,"label":"-"}},"registeredFields":{"forceChannel":{"name":"forceChannel","type":"Field","count":1}}},"sceneManager":{"values":{},"initial":{},"registeredFields":{"globalPostProcessingEnabled":{"name":"globalPostProcessingEnabled","type":"Field","count":1}}}}} \ No newline at end of file diff --git a/example-projects/logo.json b/example-projects/logo.json new file mode 100644 index 00000000..577e3a97 --- /dev/null +++ b/example-projects/logo.json @@ -0,0 +1 @@ +{"nodes":{"sceneCrossfader":{"id":"sceneCrossfader","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Scene Crossfader","type":"param","valueType":"float"},"viewerMode":{"id":"viewerMode","value":"mix","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Viewer Mode","valueType":"enum","options":[{"value":"mix","label":"Mix"},{"value":"A","label":"A"},{"value":"B","label":"B"}]},"sketchOrganization":{"id":"sketchOrganization","value":"folder","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Sketch Organization","valueType":"enum","options":[{"value":"folder","label":"Folder"},{"value":"category","label":"Category"},{"value":"author","label":"Author"}]},"audioLevelsFalloff":{"id":"audioLevelsFalloff","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Falloff","type":"param","valueType":"float"},"audioLevelsPower":{"id":"audioLevelsPower","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Power","type":"param","min":0.5,"max":3,"valueType":"float"},"audioLevelsSmoothing":{"id":"audioLevelsSmoothing","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Smoothing","type":"param","valueType":"float"},"audioNormalizeLevels":{"id":"audioNormalizeLevels","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalize Levels","type":"param","valueType":"float"},"audioNormalizeRangeFalloff":{"id":"audioNormalizeRangeFalloff","value":0.01,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalized Range Falloff","type":"param","valueType":"float"},"0se125p":{"id":"0se125p","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"rw26kix","channel":"A"}},"title":"Add to A"},"y0asgm8":{"id":"y0asgm8","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"rw26kix","channel":"B"}},"title":"Add to B"},"b6a0rq8":{"id":"b6a0rq8","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"rw26kix","channel":"active"}},"title":"Add to Active"},"tiswwhm":{"id":"tiswwhm","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"rw26kix","channel":"opposite"}},"title":"Add to Opposite"},"co8204m":{"id":"co8204m","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"SCENE_CLEAR_CHANNEL","payload":{"id":"rw26kix"}},"title":"Clear"},"6h1fqwa":{"id":"6h1fqwa","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"dw55ipc","title":"Logo Rot Speed X","valueType":"float","type":"param","key":"logoRotSpeedX","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1},"rn1tlmr":{"id":"rn1tlmr","value":0.06435375064691716,"inputLinkIds":["t59l3h8"],"shotCount":0,"connectedMacroIds":[],"sketchId":"dw55ipc","title":"Logo Rot Speed Y","valueType":"float","type":"param","key":"logoRotSpeedY","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"openedLinkId":"t59l3h8","activeInputLinkId":"t59l3h8"},"meat9hl":{"id":"meat9hl","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"dw55ipc","title":"Logo Rot Speed Z","valueType":"float","type":"param","key":"logoRotSpeedZ","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1},"5myfd2p":{"id":"5myfd2p","value":0.5499245457304608,"inputLinkIds":["ms39bl5"],"shotCount":0,"connectedMacroIds":[],"sketchId":"dw55ipc","title":"Logo Scale","valueType":"float","type":"param","key":"logoScale","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"openedLinkId":"ms39bl5","activeInputLinkId":"ms39bl5"},"cmmwo8l":{"id":"cmmwo8l","value":0.23902194472717092,"inputLinkIds":["v5fyoen"],"shotCount":0,"connectedMacroIds":[],"sketchId":"dw55ipc","title":"Sphere Scale","valueType":"float","type":"param","key":"sphereScale","hidden":false,"min":0,"max":2,"defaultMin":0,"defaultMax":1,"openedLinkId":"v5fyoen","activeInputLinkId":"v5fyoen"},"k8w5p4u":{"id":"k8w5p4u","value":0,"inputLinkIds":[],"shotCount":3,"connectedMacroIds":[],"sketchId":"dw55ipc","type":"shot","valueType":"shotFloat","title":"Reset Logo Rot","method":"resetLogoRot"},"92f4fhb":{"id":"92f4fhb","value":0.7691244239631336,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"tmt1sxq","title":"BG Color H","valueType":"float","type":"param","key":"colorH","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1},"8882exg":{"id":"8882exg","value":0.7947279730380357,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"tmt1sxq","title":"BG Color S","valueType":"float","type":"param","key":"colorS","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1},"orvcrcg":{"id":"orvcrcg","value":0.7645161290322581,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"tmt1sxq","title":"BG Color L","valueType":"float","type":"param","key":"colorL","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1},"5hohdwt":{"id":"5hohdwt","value":0.479716800612323,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"n4m7wdw","title":"brightness","valueType":"float","type":"param","key":"brightness","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1},"4b3jprf":{"id":"4b3jprf","value":0.7001339456563338,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"n4m7wdw","title":"contrast","valueType":"float","type":"param","key":"contrast","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1},"24idl9v":{"id":"24idl9v","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"n4m7wdw","title":"Bright/Contr Opacity","valueType":"float","type":"param","key":"brightnessContrastOpacity","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1},"diwhgop":{"id":"diwhgop","value":0.34910065059318796,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"n4m7wdw","title":"gamma","valueType":"float","type":"param","key":"gamma","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1},"hrrxejx":{"id":"hrrxejx","value":0.48268274014542667,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"n4m7wdw","title":"gammaOpacity","valueType":"float","type":"param","key":"gammaOpacity","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1},"pox1jn8":{"id":"pox1jn8","value":0.7916666666666572,"inputLinkIds":["sjtuu43"],"shotCount":0,"connectedMacroIds":[],"sketchId":"n4m7wdw","title":"hue","valueType":"float","type":"param","key":"hue","hidden":false,"min":-3.141592653589793,"max":3.141592653589793,"defaultMin":-3.141592653589793,"defaultMax":3.141592653589793,"openedLinkId":"sjtuu43","activeInputLinkId":"sjtuu43"},"xww18ei":{"id":"xww18ei","value":0.3398067355530042,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"n4m7wdw","title":"saturation","valueType":"float","type":"param","key":"saturation","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1},"kcwl0t7":{"id":"kcwl0t7","value":0.7537313432835822,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"n4m7wdw","title":"hueSaturationOpacity","valueType":"float","type":"param","key":"hueSaturationOpacity","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1},"ll5vfqa":{"id":"ll5vfqa","value":0.33122565347560445,"inputLinkIds":["692ick4"],"shotCount":0,"connectedMacroIds":[],"sketchId":"fk7bien","title":"scale","valueType":"float","type":"param","key":"scale","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"openedLinkId":"692ick4","activeInputLinkId":"692ick4"},"us6ypa0":{"id":"us6ypa0","value":0.48521906596052,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"fk7bien","title":"rotAngle","valueType":"float","type":"param","key":"rotAngle","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1},"5q6c594":{"id":"5q6c594","value":0.6328839672604718,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"fk7bien","title":"mixAmp","valueType":"float","type":"param","key":"mixAmp","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1},"uami6lc":{"id":"uami6lc","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"t59l3h8","sketchId":"dw55ipc","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true},"fjxrwyf":{"id":"fjxrwyf","value":0.06122448979591835,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"t59l3h8","sketchId":"dw55ipc","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true},"69b924p":{"id":"69b924p","value":0.24489795918367352,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"t59l3h8","sketchId":"dw55ipc","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true},"r1hkim3":{"id":"r1hkim3","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"t59l3h8","sketchId":"dw55ipc","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true},"pdinq5y":{"id":"pdinq5y","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"dw55ipc","parentNodeId":"t59l3h8"},"1yhtcuj":{"id":"1yhtcuj","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"dw55ipc","parentNodeId":"t59l3h8"},"embnl0p":{"id":"embnl0p","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"dw55ipc","parentNodeId":"t59l3h8"},"ryirlfb":{"id":"ryirlfb","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"dw55ipc","parentNodeId":"t59l3h8"},"c8jlx2p":{"id":"c8jlx2p","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"rn1tlmr","linkId":"t59l3h8"}},"sketchId":"dw55ipc","parentNodeId":"t59l3h8"},"t59l3h8":{"id":"t59l3h8","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"rn1tlmr","sketchId":"dw55ipc","parentNodeId":"rn1tlmr","nodeType":"param","modifierIds":["uami6lc","fjxrwyf","69b924p","r1hkim3"],"optionIds":["pdinq5y","1yhtcuj","embnl0p","ryirlfb"],"linkableActions":{"toggleActivate":"c8jlx2p"},"linkType":"node"},"tm2kokn":{"id":"tm2kokn","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"v5fyoen","sketchId":"dw55ipc","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true},"o3td0fr":{"id":"o3td0fr","value":0.33734782608695657,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"v5fyoen","sketchId":"dw55ipc","key":"gain","title":"Gain","passToNext":false,"valueType":"float","subNode":true},"u5ab6ie":{"id":"u5ab6ie","value":0.20384615384615384,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"v5fyoen","sketchId":"dw55ipc","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true},"9a7yfl1":{"id":"9a7yfl1","value":0.817391304347826,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"v5fyoen","sketchId":"dw55ipc","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true},"ne9njjm":{"id":"ne9njjm","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"v5fyoen","sketchId":"dw55ipc","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true},"ht4ldus":{"id":"ht4ldus","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Audio Band","key":"audioBand","valueType":"enum","subNode":true,"options":[{"value":0,"label":"Low"},{"value":1,"label":"Low-Mid"},{"value":2,"label":"Mid"},{"value":3,"label":"High"}],"sketchId":"dw55ipc","parentNodeId":"v5fyoen"},"plaqjma":{"id":"plaqjma","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"cmmwo8l","linkId":"v5fyoen"}},"sketchId":"dw55ipc","parentNodeId":"v5fyoen"},"v5fyoen":{"id":"v5fyoen","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"audio","type":"inputLink","input":{"id":"audio","type":"audio"},"nodeId":"cmmwo8l","sketchId":"dw55ipc","parentNodeId":"cmmwo8l","nodeType":"param","modifierIds":["tm2kokn","o3td0fr","u5ab6ie","9a7yfl1","ne9njjm"],"optionIds":["ht4ldus"],"linkableActions":{"toggleActivate":"plaqjma"},"linkType":"node"},"s2cd93v":{"id":"s2cd93v","value":0.2381927212572374,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"tmt1sxq","title":"Fog Density","valueType":"float","type":"param","key":"fogDensity","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1},"o23haqu":{"id":"o23haqu","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"ms39bl5","sketchId":"dw55ipc","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true},"mmmvq0x":{"id":"mmmvq0x","value":0.5471889055472263,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"ms39bl5","sketchId":"dw55ipc","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true},"yqvumkm":{"id":"yqvumkm","value":0.7077586206896552,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"ms39bl5","sketchId":"dw55ipc","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true},"7r7gvcl":{"id":"7r7gvcl","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"ms39bl5","sketchId":"dw55ipc","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true},"639heyn":{"id":"639heyn","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"dw55ipc","parentNodeId":"ms39bl5"},"k0qstp3":{"id":"k0qstp3","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"dw55ipc","parentNodeId":"ms39bl5"},"9y26nv6":{"id":"9y26nv6","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"dw55ipc","parentNodeId":"ms39bl5"},"tt8lp64":{"id":"tt8lp64","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"dw55ipc","parentNodeId":"ms39bl5"},"hxxuke1":{"id":"hxxuke1","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"5myfd2p","linkId":"ms39bl5"}},"sketchId":"dw55ipc","parentNodeId":"ms39bl5"},"ms39bl5":{"id":"ms39bl5","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"5myfd2p","sketchId":"dw55ipc","parentNodeId":"5myfd2p","nodeType":"param","modifierIds":["o23haqu","mmmvq0x","yqvumkm","7r7gvcl"],"optionIds":["639heyn","k0qstp3","9y26nv6","tt8lp64"],"linkableActions":{"toggleActivate":"hxxuke1"},"linkType":"node"},"t20ka1u":{"id":"t20ka1u","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"sjtuu43","sketchId":"n4m7wdw","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true},"ta65mkn":{"id":"ta65mkn","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"sjtuu43","sketchId":"n4m7wdw","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true},"2uvs02e":{"id":"2uvs02e","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"sjtuu43","sketchId":"n4m7wdw","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true},"4436id9":{"id":"4436id9","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"sjtuu43","sketchId":"n4m7wdw","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true},"94fq780":{"id":"94fq780","value":"sawtooth","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"n4m7wdw","parentNodeId":"sjtuu43"},"aq8b837":{"id":"aq8b837","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"n4m7wdw","parentNodeId":"sjtuu43"},"4kx7g73":{"id":"4kx7g73","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"n4m7wdw","parentNodeId":"sjtuu43"},"masqrqn":{"id":"masqrqn","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"n4m7wdw","parentNodeId":"sjtuu43"},"4r9s2it":{"id":"4r9s2it","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"pox1jn8","linkId":"sjtuu43"}},"sketchId":"n4m7wdw","parentNodeId":"sjtuu43"},"sjtuu43":{"id":"sjtuu43","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"pox1jn8","sketchId":"n4m7wdw","parentNodeId":"pox1jn8","nodeType":"param","modifierIds":["t20ka1u","ta65mkn","2uvs02e","4436id9"],"optionIds":["94fq780","aq8b837","4kx7g73","masqrqn"],"linkableActions":{"toggleActivate":"4r9s2it"},"linkType":"node"},"fyl4b9o":{"id":"fyl4b9o","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"692ick4","sketchId":"fk7bien","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true},"a063dyh":{"id":"a063dyh","value":0.333,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"692ick4","sketchId":"fk7bien","key":"gain","title":"Gain","passToNext":false,"valueType":"float","subNode":true},"3euovme":{"id":"3euovme","value":0.2222222222222222,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"692ick4","sketchId":"fk7bien","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true},"u4nhanc":{"id":"u4nhanc","value":0.8333333333333334,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"692ick4","sketchId":"fk7bien","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true},"191ny8p":{"id":"191ny8p","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"692ick4","sketchId":"fk7bien","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true},"gd0g6a1":{"id":"gd0g6a1","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Audio Band","key":"audioBand","valueType":"enum","subNode":true,"options":[{"value":0,"label":"Low"},{"value":1,"label":"Low-Mid"},{"value":2,"label":"Mid"},{"value":3,"label":"High"}],"sketchId":"fk7bien","parentNodeId":"692ick4"},"ksqukub":{"id":"ksqukub","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"ll5vfqa","linkId":"692ick4"}},"sketchId":"fk7bien","parentNodeId":"692ick4"},"692ick4":{"id":"692ick4","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"audio","type":"inputLink","input":{"id":"audio","type":"audio"},"nodeId":"ll5vfqa","sketchId":"fk7bien","parentNodeId":"ll5vfqa","nodeType":"param","modifierIds":["fyl4b9o","a063dyh","3euovme","u4nhanc","191ny8p"],"optionIds":["gd0g6a1"],"linkableActions":{"toggleActivate":"ksqukub"},"linkType":"node"}},"scenes":{"items":{"rw26kix":{"id":"rw26kix","title":"logo","selectedSketchId":"dw55ipc","sketchIds":["dw55ipc","tmt1sxq","n4m7wdw","fk7bien"],"linkableActionIds":{"addToA":"0se125p","addToB":"y0asgm8","addToActive":"b6a0rq8","addToOpposite":"tiswwhm","clear":"co8204m"},"settings":{}}},"sceneIds":["rw26kix"],"currentSceneId":"rw26kix","channels":{"A":"rw26kix","B":false}},"sketches":{"dw55ipc":{"title":"Hedron Logo","moduleId":"logo","paramIds":["6h1fqwa","rn1tlmr","meat9hl","5myfd2p","cmmwo8l"],"shotIds":["k8w5p4u"],"openedNodeId":"cmmwo8l"},"tmt1sxq":{"title":"Env","moduleId":"env","paramIds":["92f4fhb","8882exg","orvcrcg","s2cd93v"],"shotIds":[]},"n4m7wdw":{"title":"Color","moduleId":"color","paramIds":["5hohdwt","4b3jprf","24idl9v","diwhgop","hrrxejx","pox1jn8","xww18ei","kcwl0t7"],"shotIds":[],"openedNodeId":"pox1jn8"},"fk7bien":{"title":"Trails","moduleId":"trails","paramIds":["ll5vfqa","us6ypa0","5q6c594"],"shotIds":[],"openedNodeId":"ll5vfqa"}},"project":{"filePath":"C:\\Users\\alex\\Sites\\hedron\\example-projects\\logo.json","sketchesPath":"C:\\Users\\alex\\Sites\\hedron\\example-projects\\sketches","errors":[],"errorPopup":false},"inputs":{"audio":{"value":[0.17854779894083903,0.056649772799505914,0.026217832694221337,0.07715969863139521],"assignedLinkIds":["v5fyoen","692ick4"]},"lfo":{"value":843.1666666666666,"assignedLinkIds":["t59l3h8","ms39bl5","sjtuu43"]}},"inputLinks":{"nodeIds":[null,null]},"midi":{"learning":false,"devices":{"IAC Driver IAC Bus 1":{"title":"IAC Driver IAC Bus 1","id":"IAC Driver IAC Bus 1","manufacturer":"Apple Inc.","settings":{"forceChannel":{"value":false,"label":"-"}}}},"connectedDeviceIds":[]},"macros":{"learningId":false,"nodeIds":[]},"ui":{"panelWidths":{"left":53.53855059924195},"isEditing":false,"openedNode":false,"auxOpen":["sketchcat_post"],"addSketchOpen":{}},"router":{"location":{"pathname":"/scenes/view","search":"","hash":"","key":"vbe5zc"},"action":"PUSH"},"settings":{"clockGenerated":true,"clockBpm":120,"aspectW":16,"aspectH":9,"throttledFPS":60,"watchSketchesDir":true},"form":{"device_IAC Driver IAC Bus 1":{"registeredFields":{"forceChannel":{"name":"forceChannel","type":"Field","count":5}},"values":{"forceChannel":{"value":false,"label":"-"}},"initial":{"forceChannel":{"value":false,"label":"-"}}},"sceneManager":{"registeredFields":{"globalPostProcessingEnabled":{"name":"globalPostProcessingEnabled","type":"Field","count":6}},"values":{},"initial":{}}}} diff --git a/example-projects/postprocessing.json b/example-projects/postprocessing.json new file mode 100644 index 00000000..c4667e2e --- /dev/null +++ b/example-projects/postprocessing.json @@ -0,0 +1 @@ +{"nodes":{"sceneCrossfader":{"id":"sceneCrossfader","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Scene Crossfader","type":"param","valueType":"float","optionIds":[]},"viewerMode":{"id":"viewerMode","value":"mix","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Viewer Mode","valueType":"enum","options":[{"value":"mix","label":"Mix"},{"value":"A","label":"A"},{"value":"B","label":"B"}],"optionIds":[]},"sketchOrganization":{"id":"sketchOrganization","value":"folder","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Sketch Organization","valueType":"enum","options":[{"value":"folder","label":"Folder"},{"value":"category","label":"Category"},{"value":"author","label":"Author"}],"optionIds":[]},"audioLevelsFalloff":{"id":"audioLevelsFalloff","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Falloff","type":"param","valueType":"float","optionIds":[]},"audioLevelsPower":{"id":"audioLevelsPower","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Power","type":"param","min":0.5,"max":3,"valueType":"float","optionIds":[]},"audioLevelsSmoothing":{"id":"audioLevelsSmoothing","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Smoothing","type":"param","valueType":"float","optionIds":[]},"audioNormalizeLevels":{"id":"audioNormalizeLevels","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalize Levels","type":"param","valueType":"float","optionIds":[]},"audioNormalizeRangeFalloff":{"id":"audioNormalizeRangeFalloff","value":0.01,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalized Range Falloff","type":"param","valueType":"float","optionIds":[]},"4cgjr6h":{"id":"4cgjr6h","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"4n281vi","channel":"A"}},"title":"Add to A","optionIds":[]},"xp6seer":{"id":"xp6seer","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"4n281vi","channel":"B"}},"title":"Add to B","optionIds":[]},"xqgp6g9":{"id":"xqgp6g9","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"4n281vi","channel":"active"}},"title":"Add to Active","optionIds":[]},"4pb80la":{"id":"4pb80la","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"4n281vi","channel":"opposite"}},"title":"Add to Opposite","optionIds":[]},"5xw7soj":{"id":"5xw7soj","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"SCENE_CLEAR_CHANNEL","payload":{"id":"4n281vi"}},"title":"Clear","optionIds":[]},"wptfrem":{"id":"wptfrem","value":0.5476190476190477,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"yfh9agp","title":"Rotation Speed X","valueType":"float","type":"param","key":"rotSpeedX","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"vp458j6":{"id":"vp458j6","value":0.6547619047619048,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"yfh9agp","title":"Rotation Speed Y","valueType":"float","type":"param","key":"rotSpeedY","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"6v3yinl":{"id":"6v3yinl","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"yfh9agp","title":"Rotation Speed Z","valueType":"float","type":"param","key":"rotSpeedZ","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"nwcruot":{"id":"nwcruot","value":0.32110703435506,"inputLinkIds":["mbt5945"],"shotCount":0,"connectedMacroIds":[],"sketchId":"yfh9agp","title":"Scale","valueType":"float","type":"param","key":"scale","hidden":false,"min":0.00001,"max":4,"defaultMin":0.00001,"defaultMax":4,"openedLinkId":"mbt5945","activeInputLinkId":"mbt5945","optionIds":[]},"71dgehw":{"id":"71dgehw","value":true,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"yfh9agp","title":"Wireframe","valueType":"boolean","type":"param","key":"isWireframe","hidden":false,"optionIds":[]},"8j8ck0u":{"id":"8j8ck0u","value":"icosa","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"yfh9agp","title":"geomName","valueType":"enum","type":"param","key":"geomName","hidden":false,"options":[{"value":"cube","label":"Cube"},{"value":"tetra","label":"Tetra"},{"value":"octa","label":"Octa"},{"value":"icosa","label":"Icosa"},{"value":"dodeca","label":"Dodeca"}],"optionIds":[]},"oyvor29":{"id":"oyvor29","value":0,"inputLinkIds":[],"shotCount":7,"connectedMacroIds":[],"sketchId":"yfh9agp","type":"shot","valueType":"shotFloat","title":"Random Geom","method":"randomGeom","optionIds":[]},"5smpa81":{"id":"5smpa81","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"mbt5945","sketchId":"yfh9agp","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"rjn2jpt":{"id":"rjn2jpt","value":0.29838709677419356,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"mbt5945","sketchId":"yfh9agp","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true,"optionIds":[]},"g4d9dpg":{"id":"g4d9dpg","value":0.5080645161290323,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"mbt5945","sketchId":"yfh9agp","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"9536abr":{"id":"9536abr","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"mbt5945","sketchId":"yfh9agp","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true,"optionIds":[]},"donx5px":{"id":"donx5px","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"yfh9agp","parentNodeId":"mbt5945","optionIds":[]},"c07gwwp":{"id":"c07gwwp","value":0.0625,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"yfh9agp","parentNodeId":"mbt5945","optionIds":[]},"f9lnb4w":{"id":"f9lnb4w","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"yfh9agp","parentNodeId":"mbt5945","optionIds":[]},"6ujsh3y":{"id":"6ujsh3y","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"yfh9agp","parentNodeId":"mbt5945","optionIds":[]},"w3byfjy":{"id":"w3byfjy","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"nwcruot","linkId":"mbt5945"}},"sketchId":"yfh9agp","parentNodeId":"mbt5945","optionIds":[]},"mbt5945":{"id":"mbt5945","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"nwcruot","sketchId":"yfh9agp","parentNodeId":"nwcruot","nodeType":"param","modifierIds":["5smpa81","rjn2jpt","g4d9dpg","9536abr"],"optionIds":["donx5px","c07gwwp","f9lnb4w","6ujsh3y"],"linkableActions":{"toggleActivate":"w3byfjy"},"linkType":"node"},"0pektyi":{"id":"0pektyi","value":0.8511904761904762,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"fi4l7p4","title":"scale","valueType":"float","type":"param","key":"scale","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"c3yb4x8":{"id":"c3yb4x8","value":0.17261904761904762,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"fi4l7p4","title":"rotAngle","valueType":"float","type":"param","key":"rotAngle","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"eurln1e":{"id":"eurln1e","value":0.5595238095238095,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"fi4l7p4","title":"mixAmp","valueType":"float","type":"param","key":"mixAmp","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"um9y6ks":{"id":"um9y6ks","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"u1vjor2","channel":"A"}},"title":"Add to A","optionIds":[]},"65dli7t":{"id":"65dli7t","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"u1vjor2","channel":"B"}},"title":"Add to B","optionIds":[]},"uist6q2":{"id":"uist6q2","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"u1vjor2","channel":"active"}},"title":"Add to Active","optionIds":[]},"19e1dg3":{"id":"19e1dg3","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"u1vjor2","channel":"opposite"}},"title":"Add to Opposite","optionIds":[]},"4rf4qxe":{"id":"4rf4qxe","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"SCENE_CLEAR_CHANNEL","payload":{"id":"u1vjor2"}},"title":"Clear","optionIds":[]},"nu1o7i8":{"id":"nu1o7i8","value":0.7380952380952381,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"tujep7b","title":"scale","valueType":"float","type":"param","key":"scale","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"oliy5ke":{"id":"oliy5ke","value":0.6726190476190476,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"tujep7b","title":"lumThreshold","valueType":"float","type":"param","key":"lumThreshold","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"on6px1g":{"id":"on6px1g","value":0.6785714285714285,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"tujep7b","title":"lumSmoothing","valueType":"float","type":"param","key":"lumSmoothing","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"vuynupk":{"id":"vuynupk","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"tujep7b","title":"opacity","valueType":"float","type":"param","key":"opacity","hidden":false,"min":0,"max":5,"defaultMin":0,"defaultMax":5,"optionIds":[]},"ekcjqws":{"id":"ekcjqws","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"rj3jgwf","channel":"A"}},"title":"Add to A","optionIds":[]},"r7k3b5e":{"id":"r7k3b5e","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"rj3jgwf","channel":"B"}},"title":"Add to B","optionIds":[]},"4wp19xb":{"id":"4wp19xb","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"rj3jgwf","channel":"active"}},"title":"Add to Active","optionIds":[]},"4ckidda":{"id":"4ckidda","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"rj3jgwf","channel":"opposite"}},"title":"Add to Opposite","optionIds":[]},"gcifr8j":{"id":"gcifr8j","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"SCENE_CLEAR_CHANNEL","payload":{"id":"rj3jgwf"}},"title":"Clear","optionIds":[]},"bhpkprh":{"id":"bhpkprh","value":0.5833333333333334,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"phhmlx5","title":"brightness","valueType":"float","type":"param","key":"brightness","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"gumkune":{"id":"gumkune","value":0.5904761904761906,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"phhmlx5","title":"contrast","valueType":"float","type":"param","key":"contrast","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"4wnjhe6":{"id":"4wnjhe6","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"phhmlx5","title":"Bright/Contr Opacity","valueType":"float","type":"param","key":"brightnessContrastOpacity","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"d1aqmji":{"id":"d1aqmji","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"phhmlx5","title":"gamma","valueType":"float","type":"param","key":"gamma","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"2c26f5r":{"id":"2c26f5r","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"phhmlx5","title":"gammaOpacity","valueType":"float","type":"param","key":"gammaOpacity","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"ak8ai1j":{"id":"ak8ai1j","value":0.48214285714285715,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"phhmlx5","title":"hue","valueType":"float","type":"param","key":"hue","hidden":false,"min":-3.141592653589793,"max":3.141592653589793,"defaultMin":-3.141592653589793,"defaultMax":3.141592653589793,"optionIds":[]},"0pny178":{"id":"0pny178","value":0.7347619047619047,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"phhmlx5","title":"saturation","valueType":"float","type":"param","key":"saturation","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"oaa8c7v":{"id":"oaa8c7v","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"phhmlx5","title":"hueSaturationOpacity","valueType":"float","type":"param","key":"hueSaturationOpacity","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"rg3im30":{"id":"rg3im30","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"bhvbob2","title":"delayMin","valueType":"float","type":"param","key":"delayMin","hidden":false,"min":0,"max":10,"defaultMin":0,"defaultMax":10,"optionIds":[]},"hplvx4m":{"id":"hplvx4m","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"bhvbob2","title":"delayMax","valueType":"float","type":"param","key":"delayMax","hidden":false,"min":0,"max":10,"defaultMin":0,"defaultMax":10,"optionIds":[]},"30qqfqx":{"id":"30qqfqx","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"bhvbob2","title":"durationMin","valueType":"float","type":"param","key":"durationMin","hidden":false,"min":0,"max":10,"defaultMin":0,"defaultMax":10,"optionIds":[]},"ea9bp1c":{"id":"ea9bp1c","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"bhvbob2","title":"durationMax","valueType":"float","type":"param","key":"durationMax","hidden":false,"min":0,"max":10,"defaultMin":0,"defaultMax":10,"optionIds":[]},"dph4ujw":{"id":"dph4ujw","value":0.059523809523809514,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"bhvbob2","title":"glitchAmpWeak","valueType":"float","type":"param","key":"glitchAmpWeak","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"6ae78fv":{"id":"6ae78fv","value":0.20833333333333331,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"bhvbob2","title":"glitchAmpStrong","valueType":"float","type":"param","key":"glitchAmpStrong","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"6ysryhj":{"id":"6ysryhj","value":0.5226190476190475,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"bhvbob2","title":"strongWeakRatio","valueType":"float","type":"param","key":"strongWeakRatio","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"oudamq4":{"id":"oudamq4","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"bhvbob2","title":"columns","valueType":"float","type":"param","key":"columns","hidden":false,"min":0,"max":0.5,"defaultMin":0,"defaultMax":0.5,"optionIds":[]},"srlvvj3":{"id":"srlvvj3","value":0.875,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"9q1d6w7","title":"BG Color H","valueType":"float","type":"param","key":"colorH","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"xdsr1hp":{"id":"xdsr1hp","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"9q1d6w7","title":"BG Color S","valueType":"float","type":"param","key":"colorS","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"6ut8gdp":{"id":"6ut8gdp","value":0.1547619047619048,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"9q1d6w7","title":"BG Color L","valueType":"float","type":"param","key":"colorL","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"areErrorPopupsDisabled":{"title":"Disable Error Popups","id":"areErrorPopupsDisabled","valueType":"boolean","value":false}},"scenes":{"items":{"4n281vi":{"id":"4n281vi","title":"scene 1","selectedSketchId":"9q1d6w7","sketchIds":["yfh9agp","fi4l7p4","9q1d6w7"],"linkableActionIds":{"addToA":"4cgjr6h","addToB":"xp6seer","addToActive":"xqgp6g9","addToOpposite":"4pb80la","clear":"5xw7soj"},"settings":{}},"u1vjor2":{"id":"u1vjor2","title":"scene 2","selectedSketchId":"tujep7b","sketchIds":["aq0mewx","tujep7b"],"linkableActionIds":{"addToA":"um9y6ks","addToB":"65dli7t","addToActive":"uist6q2","addToOpposite":"19e1dg3","clear":"4rf4qxe"},"settings":{}},"rj3jgwf":{"id":"rj3jgwf","title":"global","selectedSketchId":"phhmlx5","sketchIds":["phhmlx5","bhvbob2"],"linkableActionIds":{"addToA":"ekcjqws","addToB":"r7k3b5e","addToActive":"4wp19xb","addToOpposite":"4ckidda","clear":"gcifr8j"},"settings":{"globalPostProcessingEnabled":true}}},"sceneIds":["4n281vi","u1vjor2","rj3jgwf"],"currentSceneId":"4n281vi","channels":{"A":"4n281vi","B":"u1vjor2"}},"sketches":{"yfh9agp":{"title":"Solid","moduleId":"solid","paramIds":["wptfrem","vp458j6","6v3yinl","nwcruot","71dgehw","8j8ck0u"],"shotIds":["oyvor29"],"openedNodeId":"nwcruot"},"fi4l7p4":{"title":"Trails","moduleId":"trails","paramIds":["0pektyi","c3yb4x8","eurln1e"],"shotIds":[]},"aq0mewx":{"title":"Space","moduleId":"space","paramIds":[],"shotIds":[]},"tujep7b":{"title":"Bloom","moduleId":"bloom","paramIds":["nu1o7i8","oliy5ke","on6px1g","vuynupk"],"shotIds":[]},"phhmlx5":{"title":"Color","moduleId":"color","paramIds":["bhpkprh","gumkune","4wnjhe6","d1aqmji","2c26f5r","ak8ai1j","0pny178","oaa8c7v"],"shotIds":[]},"bhvbob2":{"title":"Glitch","moduleId":"glitch","paramIds":["rg3im30","hplvx4m","30qqfqx","ea9bp1c","dph4ujw","6ae78fv","6ysryhj","oudamq4"],"shotIds":[]},"9q1d6w7":{"title":"Env","moduleId":"env","paramIds":["srlvvj3","xdsr1hp","6ut8gdp"],"shotIds":[]}},"project":{"filePath":"/Users/alex/Sites/GitHub/hedron/example-projects/sketches/postprocessing.json","sketchesPath":"/Users/alex/Sites/GitHub/hedron/example-projects/sketches","errors":[],"errorPopup":false},"inputs":{"audio":{"value":[0.03328674742462026,0.004931120302339014,0.002571158699959153,0],"assignedLinkIds":[]},"lfo":{"value":1082.2916666666667,"assignedLinkIds":["mbt5945"]}},"inputLinks":{"nodeIds":[null]},"midi":{"learning":false,"devices":{"IAC Driver IAC Bus 1":{"title":"IAC Driver IAC Bus 1","id":"IAC Driver IAC Bus 1","manufacturer":"Apple Inc.","settings":{"forceChannel":{"value":false,"label":"-"}}}},"connectedDeviceIds":["IAC Driver IAC Bus 1"]},"macros":{"learningId":false,"nodeIds":[]},"ui":{"panelWidths":{"left":50},"isEditing":false,"openedNode":false,"auxOpen":["sketchcat_simple","sketchcat_post"],"addSketchOpen":{}},"router":{"location":{"pathname":"/scenes/view","search":"","hash":"","key":"26a8a4"},"action":"PUSH"},"settings":{"clockGenerated":true,"clockBpm":120,"aspectW":16,"aspectH":9,"throttledFPS":60,"watchSketchesDir":true},"form":{"device_IAC Driver IAC Bus 1":{"values":{"forceChannel":{"value":false,"label":"-"}},"initial":{"forceChannel":{"value":false,"label":"-"}},"registeredFields":{"forceChannel":{"name":"forceChannel","type":"Field","count":1}}},"sceneManager":{"registeredFields":{"globalPostProcessingEnabled":{"name":"globalPostProcessingEnabled","type":"Field","count":1}},"values":{},"initial":{}}}} \ No newline at end of file diff --git a/example-projects/scenes.json b/example-projects/scenes.json new file mode 100644 index 00000000..c7763148 --- /dev/null +++ b/example-projects/scenes.json @@ -0,0 +1 @@ +{"nodes":{"sceneCrossfader":{"id":"sceneCrossfader","value":0.0024076366639022573,"inputLinkIds":["1cppfrk"],"shotCount":0,"connectedMacroIds":[],"title":"Scene Crossfader","type":"param","valueType":"float","optionIds":[],"openedLinkId":"1cppfrk","activeInputLinkId":"1cppfrk"},"viewerMode":{"id":"viewerMode","value":"mix","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Viewer Mode","valueType":"enum","options":[{"value":"mix","label":"Mix"},{"value":"A","label":"A"},{"value":"B","label":"B"}],"optionIds":[]},"sketchOrganization":{"id":"sketchOrganization","value":"category","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Sketch Organization","valueType":"enum","options":[{"value":"folder","label":"Folder"},{"value":"category","label":"Category"},{"value":"author","label":"Author"}],"optionIds":[]},"audioLevelsFalloff":{"id":"audioLevelsFalloff","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Falloff","type":"param","valueType":"float","optionIds":[]},"audioLevelsPower":{"id":"audioLevelsPower","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Power","type":"param","min":0.5,"max":3,"valueType":"float","optionIds":[]},"audioLevelsSmoothing":{"id":"audioLevelsSmoothing","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Smoothing","type":"param","valueType":"float","optionIds":[]},"audioNormalizeLevels":{"id":"audioNormalizeLevels","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalize Levels","type":"param","valueType":"float","optionIds":[]},"audioNormalizeRangeFalloff":{"id":"audioNormalizeRangeFalloff","value":0.01,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalized Range Falloff","type":"param","valueType":"float","optionIds":[]},"w1ks5w7":{"id":"w1ks5w7","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"qdiglvt","channel":"A"}},"title":"Add to A","optionIds":[]},"gcd03bb":{"id":"gcd03bb","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"qdiglvt","channel":"B"}},"title":"Add to B","optionIds":[]},"c52aweb":{"id":"c52aweb","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"qdiglvt","channel":"active"}},"title":"Add to Active","optionIds":[]},"1gxfaxq":{"id":"1gxfaxq","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"qdiglvt","channel":"opposite"}},"title":"Add to Opposite","optionIds":[]},"4lwkp1j":{"id":"4lwkp1j","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"SCENE_CLEAR_CHANNEL","payload":{"id":"qdiglvt"}},"title":"Clear","optionIds":[]},"b3q1kmd":{"id":"b3q1kmd","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"tmmgjxc","channel":"A"}},"title":"Add to A","optionIds":[]},"35mcro3":{"id":"35mcro3","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"tmmgjxc","channel":"B"}},"title":"Add to B","optionIds":[]},"3k68884":{"id":"3k68884","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"tmmgjxc","channel":"active"}},"title":"Add to Active","optionIds":[]},"aw4y2uy":{"id":"aw4y2uy","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"tmmgjxc","channel":"opposite"}},"title":"Add to Opposite","optionIds":[]},"2n503nx":{"id":"2n503nx","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"SCENE_CLEAR_CHANNEL","payload":{"id":"tmmgjxc"}},"title":"Clear","optionIds":[]},"k80ia5j":{"id":"k80ia5j","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"67rplxy","title":"Rotation Speed X","valueType":"float","type":"param","key":"rotSpeedX","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"aurbrha":{"id":"aurbrha","value":0.5952380952380952,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"67rplxy","title":"Rotation Speed Y","valueType":"float","type":"param","key":"rotSpeedY","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"y69sdsa":{"id":"y69sdsa","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"67rplxy","title":"Rotation Speed Z","valueType":"float","type":"param","key":"rotSpeedZ","hidden":false,"min":-1,"max":1,"defaultMin":-1,"defaultMax":1,"optionIds":[]},"49yac1f":{"id":"49yac1f","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"67rplxy","title":"Scale","valueType":"float","type":"param","key":"scale","hidden":false,"min":0.00001,"max":4,"defaultMin":0.00001,"defaultMax":4,"optionIds":[]},"846g04r":{"id":"846g04r","value":true,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"67rplxy","title":"Wireframe","valueType":"boolean","type":"param","key":"isWireframe","hidden":false,"optionIds":[]},"mla6f4b":{"id":"mla6f4b","value":"icosa","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"67rplxy","title":"geomName","valueType":"enum","type":"param","key":"geomName","hidden":false,"options":[{"value":"cube","label":"Cube"},{"value":"tetra","label":"Tetra"},{"value":"octa","label":"Octa"},{"value":"icosa","label":"Icosa"},{"value":"dodeca","label":"Dodeca"}],"optionIds":[]},"4l6qnb7":{"id":"4l6qnb7","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"67rplxy","type":"shot","valueType":"shotFloat","title":"Random Geom","method":"randomGeom","optionIds":[]},"rhxwgoi":{"id":"rhxwgoi","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"k4ty7u0","title":"delayMin","valueType":"float","type":"param","key":"delayMin","hidden":false,"min":0,"max":10,"defaultMin":0,"defaultMax":10,"optionIds":[]},"sqlamix":{"id":"sqlamix","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"k4ty7u0","title":"delayMax","valueType":"float","type":"param","key":"delayMax","hidden":false,"min":0,"max":10,"defaultMin":0,"defaultMax":10,"optionIds":[]},"nuracvl":{"id":"nuracvl","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"k4ty7u0","title":"durationMin","valueType":"float","type":"param","key":"durationMin","hidden":false,"min":0,"max":10,"defaultMin":0,"defaultMax":10,"optionIds":[]},"2maqcfi":{"id":"2maqcfi","value":0.326007326007326,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"k4ty7u0","title":"durationMax","valueType":"float","type":"param","key":"durationMax","hidden":false,"min":0,"max":10,"defaultMin":0,"defaultMax":10,"optionIds":[]},"s864p7q":{"id":"s864p7q","value":0.27380952380952384,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"k4ty7u0","title":"glitchAmpWeak","valueType":"float","type":"param","key":"glitchAmpWeak","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"f7b187l":{"id":"f7b187l","value":0.16666666666666666,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"k4ty7u0","title":"glitchAmpStrong","valueType":"float","type":"param","key":"glitchAmpStrong","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"pfp70xu":{"id":"pfp70xu","value":0.85,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"k4ty7u0","title":"strongWeakRatio","valueType":"float","type":"param","key":"strongWeakRatio","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"l3i395b":{"id":"l3i395b","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"k4ty7u0","title":"columns","valueType":"float","type":"param","key":"columns","hidden":false,"min":0,"max":0.5,"defaultMin":0,"defaultMax":0.5,"optionIds":[]},"areErrorPopupsDisabled":{"title":"Disable Error Popups","id":"areErrorPopupsDisabled","valueType":"boolean","value":false},"81f535o":{"id":"81f535o","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"1cppfrk","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true},"t5m5950":{"id":"t5m5950","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"1cppfrk","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true},"g3q49gy":{"id":"g3q49gy","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"1cppfrk","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true},"9n1k8ve":{"id":"9n1k8ve","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"1cppfrk","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true},"y7uk6cn":{"id":"y7uk6cn","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"parentNodeId":"1cppfrk"},"5hn0457":{"id":"5hn0457","value":0.125,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"parentNodeId":"1cppfrk"},"e4u3b6a":{"id":"e4u3b6a","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"parentNodeId":"1cppfrk"},"rvpgh2q":{"id":"rvpgh2q","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"parentNodeId":"1cppfrk"},"224lc1s":{"id":"224lc1s","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"sceneCrossfader","linkId":"1cppfrk"}},"parentNodeId":"1cppfrk"},"1cppfrk":{"id":"1cppfrk","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"sceneCrossfader","parentNodeId":"sceneCrossfader","nodeType":"param","modifierIds":["81f535o","t5m5950","g3q49gy","9n1k8ve"],"optionIds":["y7uk6cn","5hn0457","e4u3b6a","rvpgh2q"],"linkableActions":{"toggleActivate":"224lc1s"},"linkType":"node"}},"scenes":{"items":{"qdiglvt":{"id":"qdiglvt","title":"scene 1","selectedSketchId":"uamks02","sketchIds":["uamks02"],"linkableActionIds":{"addToA":"w1ks5w7","addToB":"gcd03bb","addToActive":"c52aweb","addToOpposite":"1gxfaxq","clear":"4lwkp1j"},"settings":{}},"tmmgjxc":{"id":"tmmgjxc","title":"scene 2","selectedSketchId":"k4ty7u0","sketchIds":["67rplxy","k4ty7u0"],"linkableActionIds":{"addToA":"b3q1kmd","addToB":"35mcro3","addToActive":"3k68884","addToOpposite":"aw4y2uy","clear":"2n503nx"},"settings":{}}},"sceneIds":["qdiglvt","tmmgjxc"],"currentSceneId":"qdiglvt","channels":{"A":"qdiglvt","B":"tmmgjxc"}},"sketches":{"uamks02":{"title":"Space","moduleId":"space","paramIds":[],"shotIds":[]},"67rplxy":{"title":"Solid","moduleId":"solid","paramIds":["k80ia5j","aurbrha","y69sdsa","49yac1f","846g04r","mla6f4b"],"shotIds":["4l6qnb7"]},"k4ty7u0":{"title":"Glitch","moduleId":"glitch","paramIds":["rhxwgoi","sqlamix","nuracvl","2maqcfi","s864p7q","f7b187l","pfp70xu","l3i395b"],"shotIds":[]}},"project":{"filePath":"C:\\Users\\alex\\Sites\\hedron\\example-projects\\scenes.json","sketchesPath":"C:\\Users\\alex\\Sites\\hedron\\example-projects\\sketches","errors":[],"errorPopup":false},"inputs":{"audio":{"value":[0.2251354566507141,0.07787896060911825,0.04464973225301879,0.09079368487669992],"assignedLinkIds":[]},"lfo":{"value":317.875,"assignedLinkIds":["1cppfrk"]}},"inputLinks":{"nodeIds":[null]},"midi":{"learning":false,"devices":{"IAC Driver IAC Bus 1":{"title":"IAC Driver IAC Bus 1","id":"IAC Driver IAC Bus 1","manufacturer":"Apple Inc.","settings":{"forceChannel":{"value":false,"label":"-"}}}},"connectedDeviceIds":[]},"macros":{"learningId":false,"nodeIds":[]},"ui":{"panelWidths":{"left":53.046875},"isEditing":false,"openedNode":false,"auxOpen":["sketchcat_simple"],"addSketchOpen":{}},"router":{"location":{"pathname":"/scenes/view","search":"","hash":"","key":"mad6kj"},"action":"PUSH"},"settings":{"clockGenerated":true,"clockBpm":120,"aspectW":16,"aspectH":9,"throttledFPS":60,"watchSketchesDir":true},"form":{"device_IAC Driver IAC Bus 1":{"values":{"forceChannel":{"value":false,"label":"-"}},"initial":{"forceChannel":{"value":false,"label":"-"}},"registeredFields":{"forceChannel":{"name":"forceChannel","type":"Field","count":1}}},"sceneManager":{"values":{},"initial":{},"registeredFields":{"globalPostProcessingEnabled":{"name":"globalPostProcessingEnabled","type":"Field","count":1}}}}} diff --git a/example-projects/sketches/env/config.js b/example-projects/sketches/env/config.js index a58994b0..27263aac 100644 --- a/example-projects/sketches/env/config.js +++ b/example-projects/sketches/env/config.js @@ -17,5 +17,10 @@ module.exports = { title: 'BG Color L', defaultValue: 0, }, + { + key: 'fogDensity', + title: 'Fog Density', + defaultValue: 0, + }, ], } diff --git a/example-projects/sketches/env/index.js b/example-projects/sketches/env/index.js index 9fa89c29..b31597be 100644 --- a/example-projects/sketches/env/index.js +++ b/example-projects/sketches/env/index.js @@ -4,11 +4,15 @@ class Env { constructor ({ scene }) { this.scene = scene this.clearColor = new THREE.Color() + this.fog = new THREE.FogExp2() + scene.fog = this.fog } update ({ params: p }) { this.clearColor.setHSL(p.colorH, p.colorS, p.colorL) this.scene.background = this.clearColor + this.fog.color = this.clearColor + this.fog.density = p.fogDensity } } diff --git a/example-projects/sketches/logo/config.js b/example-projects/sketches/logo/config.js index 579d9e9c..17b9286a 100644 --- a/example-projects/sketches/logo/config.js +++ b/example-projects/sketches/logo/config.js @@ -1,33 +1,6 @@ module.exports = { defaultTitle: 'Hedron Logo', params: [ - { - key: 'colorH', - title: 'Color H', - defaultValue: 0.5, - }, - { - key: 'colorS', - title: 'Color S', - defaultValue: 0.5, - }, - { - key: 'colorL', - title: 'Color L', - defaultValue: 0.5, - }, - { - key: 'aInt', - title: 'Ambient Light Intensity', - defaultValue: 0.1, - }, - { - key: 'pInt', - title: 'Point Light Intensity', - defaultValue: 0.5, - defaultMin: 0, - defaultMax: 5, - }, { key: 'logoRotSpeedX', title: 'Logo Rot Speed X', diff --git a/example-projects/sketches/logo/index.js b/example-projects/sketches/logo/index.js index dc776fd2..2115db58 100644 --- a/example-projects/sketches/logo/index.js +++ b/example-projects/sketches/logo/index.js @@ -1,32 +1,33 @@ const { THREE, TWEEN } = window.HEDRON.dependencies -const loader = new THREE.GLTFLoader() +const gltfLoader = new THREE.GLTFLoader() +const textureLoader = new THREE.TextureLoader() + +const matcapMat = new THREE.MeshMatcapMaterial() class Logo { - constructor () { + constructor ({ sketchesDir }) { + const dir = `${sketchesDir}/logo` this.root = new THREE.Group() - // Add lights - this.aLight = new THREE.AmbientLight(null, 0.2) - this.pLight = new THREE.PointLight(null, 3, 10) - this.root.add(this.pLight) - this.root.add(this.aLight) - // Add inner sphere const sphereGeom = new THREE.IcosahedronBufferGeometry(1, 3) - const sphereMat = new THREE.MeshBasicMaterial() - this.sphere = new THREE.Mesh(sphereGeom, sphereMat) + this.sphere = new THREE.Mesh(sphereGeom, matcapMat) this.root.add(this.sphere) // Load logo model - loader.load(`${__dirname}/hedron-logo.glb`, obj => { + gltfLoader.load(`${dir}/hedron-logo.glb`, obj => { this.model = obj.scene.getObjectByName('Hedron') + this.model.material = matcapMat this.root.add(this.model) const s = 0.75 this.model.scale.set(s, s, s) - this.model.material = new THREE.MeshStandardMaterial({ color: 0xffffff }) - this.resetLogoRot() + + textureLoader.load(`${dir}/matcap.jpg`, matcap => { + matcapMat.matcap = matcap + matcapMat.needsUpdate = true + }) }) } @@ -57,15 +58,6 @@ class Logo { let s - // Adjust colour of sphere and lighting - this.pLight.color.setHSL(p.colorH, p.colorS, p.colorL) - this.aLight.color.setHSL(p.colorH, p.colorS, p.colorL) - this.sphere.material.color.setHSL(p.colorH, p.colorS, p.colorL) - - // Intensity of lighting - this.aLight.intensity = p.aInt - this.pLight.intensity = p.pInt - // Logo Rotation if (this.isTweeningRot) { this.model.rotation.x = this.props.rotX diff --git a/example-projects/sketches/logo/matcap.jpg b/example-projects/sketches/logo/matcap.jpg new file mode 100644 index 00000000..df2913c0 Binary files /dev/null and b/example-projects/sketches/logo/matcap.jpg differ diff --git a/example-projects/sketches/post/space/assets/nx.jpg b/example-projects/sketches/space/assets/nx.jpg similarity index 100% rename from example-projects/sketches/post/space/assets/nx.jpg rename to example-projects/sketches/space/assets/nx.jpg diff --git a/example-projects/sketches/post/space/assets/ny.jpg b/example-projects/sketches/space/assets/ny.jpg similarity index 100% rename from example-projects/sketches/post/space/assets/ny.jpg rename to example-projects/sketches/space/assets/ny.jpg diff --git a/example-projects/sketches/post/space/assets/nz.jpg b/example-projects/sketches/space/assets/nz.jpg similarity index 100% rename from example-projects/sketches/post/space/assets/nz.jpg rename to example-projects/sketches/space/assets/nz.jpg diff --git a/example-projects/sketches/post/space/assets/px.jpg b/example-projects/sketches/space/assets/px.jpg similarity index 100% rename from example-projects/sketches/post/space/assets/px.jpg rename to example-projects/sketches/space/assets/px.jpg diff --git a/example-projects/sketches/post/space/assets/py.jpg b/example-projects/sketches/space/assets/py.jpg similarity index 100% rename from example-projects/sketches/post/space/assets/py.jpg rename to example-projects/sketches/space/assets/py.jpg diff --git a/example-projects/sketches/post/space/assets/pz.jpg b/example-projects/sketches/space/assets/pz.jpg similarity index 100% rename from example-projects/sketches/post/space/assets/pz.jpg rename to example-projects/sketches/space/assets/pz.jpg diff --git a/example-projects/sketches/post/space/config.js b/example-projects/sketches/space/config.js similarity index 100% rename from example-projects/sketches/post/space/config.js rename to example-projects/sketches/space/config.js diff --git a/example-projects/sketches/post/space/index.js b/example-projects/sketches/space/index.js similarity index 96% rename from example-projects/sketches/post/space/index.js rename to example-projects/sketches/space/index.js index ff334fb9..ee3dc3a5 100644 --- a/example-projects/sketches/post/space/index.js +++ b/example-projects/sketches/space/index.js @@ -2,13 +2,13 @@ const { THREE } = window.HEDRON.dependencies const cubeTextureLoader = new THREE.CubeTextureLoader() class Space { - constructor ({ camera, scene }) { + constructor ({ camera, scene, sketchesDir }) { this.root = new THREE.Group() camera.position.z = 40 scene.background = cubeTextureLoader - .setPath(`${__dirname}/assets/`) + .setPath(`${sketchesDir}/space/assets/`) .load([ 'px.jpg', 'nx.jpg', 'py.jpg', 'ny.jpg', diff --git a/example-projects/text.json b/example-projects/text.json new file mode 100644 index 00000000..00cc3df3 --- /dev/null +++ b/example-projects/text.json @@ -0,0 +1 @@ +{"nodes":{"sceneCrossfader":{"id":"sceneCrossfader","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Scene Crossfader","type":"param","valueType":"float","optionIds":[]},"viewerMode":{"id":"viewerMode","value":"mix","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Viewer Mode","valueType":"enum","options":[{"value":"mix","label":"Mix"},{"value":"A","label":"A"},{"value":"B","label":"B"}],"optionIds":[]},"sketchOrganization":{"id":"sketchOrganization","value":"category","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Sketch Organization","valueType":"enum","options":[{"value":"folder","label":"Folder"},{"value":"category","label":"Category"},{"value":"author","label":"Author"}],"optionIds":[]},"audioLevelsFalloff":{"id":"audioLevelsFalloff","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Falloff","type":"param","valueType":"float","optionIds":[]},"audioLevelsPower":{"id":"audioLevelsPower","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Power","type":"param","min":0.5,"max":3,"valueType":"float","optionIds":[]},"audioLevelsSmoothing":{"id":"audioLevelsSmoothing","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Smoothing","type":"param","valueType":"float","optionIds":[]},"audioNormalizeLevels":{"id":"audioNormalizeLevels","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalize Levels","type":"param","valueType":"float","optionIds":[]},"audioNormalizeRangeFalloff":{"id":"audioNormalizeRangeFalloff","value":0.01,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalized Range Falloff","type":"param","valueType":"float","optionIds":[]},"85paqu1":{"id":"85paqu1","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"c4vh6vf","channel":"A"}},"title":"Add to A","optionIds":[]},"fmj6hvl":{"id":"fmj6hvl","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"c4vh6vf","channel":"B"}},"title":"Add to B","optionIds":[]},"ms3bg0t":{"id":"ms3bg0t","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"c4vh6vf","channel":"active"}},"title":"Add to Active","optionIds":[]},"ywg1mxv":{"id":"ywg1mxv","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"c4vh6vf","channel":"opposite"}},"title":"Add to Opposite","optionIds":[]},"17pclwn":{"id":"17pclwn","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"SCENE_CLEAR_CHANNEL","payload":{"id":"c4vh6vf"}},"title":"Clear","optionIds":[]},"q6gndg8":{"id":"q6gndg8","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"posX","valueType":"float","type":"param","key":"posX","hidden":false,"min":-10,"max":10,"defaultMin":-10,"defaultMax":10,"optionIds":[]},"ycwxf8w":{"id":"ycwxf8w","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"posY","valueType":"float","type":"param","key":"posY","hidden":false,"min":-10,"max":10,"defaultMin":-10,"defaultMax":10,"optionIds":[]},"qkyoc48":{"id":"qkyoc48","value":0.01666666666666672,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"posZ","valueType":"float","type":"param","key":"posZ","hidden":false,"min":-20,"max":0,"defaultMin":-20,"defaultMax":0,"optionIds":[]},"rwa0mav":{"id":"rwa0mav","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"rotX","valueType":"float","type":"param","key":"rotX","hidden":false,"min":-3.1415,"max":3.1415,"defaultMin":-3.1415,"defaultMax":3.1415,"optionIds":[]},"vhx5pws":{"id":"vhx5pws","value":0.9322916666666643,"inputLinkIds":["roodmrg"],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"rotY","valueType":"float","type":"param","key":"rotY","hidden":false,"min":-3.1415,"max":3.1415,"defaultMin":-3.1415,"defaultMax":3.1415,"openedLinkId":"roodmrg","activeInputLinkId":"roodmrg","optionIds":[]},"p3pix4m":{"id":"p3pix4m","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"rotZ","valueType":"float","type":"param","key":"rotZ","hidden":false,"min":-3.1415,"max":3.1415,"defaultMin":-3.1415,"defaultMax":3.1415,"optionIds":[]},"5u88t8e":{"id":"5u88t8e","value":0.8166666666666667,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"colorHue","valueType":"float","type":"param","key":"colorHue","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"fuvht0t":{"id":"fuvht0t","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"colorSat","valueType":"float","type":"param","key":"colorSat","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"ai400ud":{"id":"ai400ud","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"colorLight","valueType":"float","type":"param","key":"colorLight","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"wsbb6vh":{"id":"wsbb6vh","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"alpha","valueType":"float","type":"param","key":"alpha","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"ombvtk7":{"id":"ombvtk7","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"scale","valueType":"float","type":"param","key":"scale","hidden":false,"min":0.00001,"max":10,"defaultMin":0.00001,"defaultMax":10,"optionIds":[]},"cebk0a3":{"id":"cebk0a3","value":0.20438071450436845,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"thickness","valueType":"float","type":"param","key":"thickness","hidden":false,"min":0.0001,"max":1,"defaultMin":0.0001,"defaultMax":1,"activeInputLinkId":"7f7roa5","optionIds":[]},"l3n1m2d":{"id":"l3n1m2d","value":"Hello world!","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"4qlfsgo","title":"text","valueType":"string","type":"param","key":"text","hidden":false,"optionIds":[]},"dp0xja4":{"id":"dp0xja4","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"4qlfsgo","parentNodeId":"7f7roa5","optionIds":[]},"cqgcgu2":{"id":"cqgcgu2","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"4qlfsgo","parentNodeId":"7f7roa5","optionIds":[]},"03e6iva":{"id":"03e6iva","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"4qlfsgo","parentNodeId":"7f7roa5","optionIds":[]},"t9y2myk":{"id":"t9y2myk","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"4qlfsgo","parentNodeId":"7f7roa5","optionIds":[]},"w8mmg9r":{"id":"w8mmg9r","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"roodmrg","sketchId":"4qlfsgo","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"r3xn8lw":{"id":"r3xn8lw","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"roodmrg","sketchId":"4qlfsgo","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true,"optionIds":[]},"lngsm5m":{"id":"lngsm5m","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"roodmrg","sketchId":"4qlfsgo","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"5kb936w":{"id":"5kb936w","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"roodmrg","sketchId":"4qlfsgo","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true,"optionIds":[]},"vv9rs21":{"id":"vv9rs21","value":"sawtooth","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"4qlfsgo","parentNodeId":"roodmrg","optionIds":[]},"t2qgvqb":{"id":"t2qgvqb","value":0.125,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"4qlfsgo","parentNodeId":"roodmrg","optionIds":[]},"rbmhlfm":{"id":"rbmhlfm","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"4qlfsgo","parentNodeId":"roodmrg","optionIds":[]},"fjxmpty":{"id":"fjxmpty","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"4qlfsgo","parentNodeId":"roodmrg","optionIds":[]},"9lqwaxj":{"id":"9lqwaxj","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"vhx5pws","linkId":"roodmrg"}},"sketchId":"4qlfsgo","parentNodeId":"roodmrg","optionIds":[]},"roodmrg":{"id":"roodmrg","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"vhx5pws","sketchId":"4qlfsgo","parentNodeId":"vhx5pws","nodeType":"param","modifierIds":["w8mmg9r","r3xn8lw","lngsm5m","5kb936w"],"optionIds":["vv9rs21","t2qgvqb","rbmhlfm","fjxmpty"],"linkableActions":{"toggleActivate":"9lqwaxj"},"linkType":"node"},"areErrorPopupsDisabled":{"title":"Disable Error Popups","id":"areErrorPopupsDisabled","valueType":"boolean","value":false}},"scenes":{"items":{"c4vh6vf":{"id":"c4vh6vf","title":"Text","selectedSketchId":"4qlfsgo","sketchIds":["4qlfsgo"],"linkableActionIds":{"addToA":"85paqu1","addToB":"fmj6hvl","addToActive":"ms3bg0t","addToOpposite":"ywg1mxv","clear":"17pclwn"},"settings":{}}},"sceneIds":["c4vh6vf"],"currentSceneId":"c4vh6vf","channels":{"A":"c4vh6vf","B":false}},"sketches":{"4qlfsgo":{"title":"Text Basic","moduleId":"textBasic","paramIds":["q6gndg8","ycwxf8w","qkyoc48","rwa0mav","vhx5pws","p3pix4m","5u88t8e","fuvht0t","ai400ud","wsbb6vh","ombvtk7","cebk0a3","l3n1m2d"],"shotIds":[],"openedNodeId":"cebk0a3"}},"project":{"filePath":"/Users/alex/Sites/GitHub/hedron/example-projects/text.json","sketchesPath":"/Users/alex/Sites/GitHub/hedron/example-projects/sketches","errors":[],"errorPopup":false},"inputs":{"audio":{"value":[0.20162481783378694,0.2874239617590741,0.23903642555747207,0.20048961703454868],"assignedLinkIds":[]},"lfo":{"value":295.4583333333333,"assignedLinkIds":["roodmrg"]}},"inputLinks":{"nodeIds":[]},"midi":{"learning":false,"devices":{"IAC Driver IAC Bus 1":{"title":"IAC Driver IAC Bus 1","id":"IAC Driver IAC Bus 1","manufacturer":"Apple Inc.","settings":{"forceChannel":{"value":false,"label":"-"}}}},"connectedDeviceIds":["IAC Driver IAC Bus 1"]},"macros":{"learningId":false,"nodeIds":[]},"ui":{"panelWidths":{"left":50},"isEditing":false,"openedNode":false,"auxOpen":[],"addSketchOpen":{}},"router":{"location":{"pathname":"/scenes/view/c4vh6vf","search":"","hash":"","key":"ah4cuj"},"action":"PUSH"},"settings":{"clockGenerated":true,"clockBpm":120,"aspectW":16,"aspectH":9,"throttledFPS":60,"watchSketchesDir":true},"form":{"device_IAC Driver IAC Bus 1":{"values":{"forceChannel":{"value":false,"label":"-"}},"initial":{"forceChannel":{"value":false,"label":"-"}},"registeredFields":{"forceChannel":{"name":"forceChannel","type":"Field","count":1}}},"sceneManager":{"values":{},"initial":{},"registeredFields":{"globalPostProcessingEnabled":{"name":"globalPostProcessingEnabled","type":"Field","count":1}}}}} \ No newline at end of file diff --git a/example-projects/trig.json b/example-projects/trig.json new file mode 100644 index 00000000..445959d1 --- /dev/null +++ b/example-projects/trig.json @@ -0,0 +1 @@ +{"nodes":{"sceneCrossfader":{"id":"sceneCrossfader","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Scene Crossfader","type":"param","valueType":"float","optionIds":[]},"viewerMode":{"id":"viewerMode","value":"mix","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Viewer Mode","valueType":"enum","options":[{"value":"mix","label":"Mix"},{"value":"A","label":"A"},{"value":"B","label":"B"}],"optionIds":[]},"sketchOrganization":{"id":"sketchOrganization","value":"category","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Sketch Organization","valueType":"enum","options":[{"value":"folder","label":"Folder"},{"value":"category","label":"Category"},{"value":"author","label":"Author"}],"optionIds":[]},"audioLevelsFalloff":{"id":"audioLevelsFalloff","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Falloff","type":"param","valueType":"float","optionIds":[]},"audioLevelsPower":{"id":"audioLevelsPower","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Power","type":"param","min":0.5,"max":3,"valueType":"float","optionIds":[]},"audioLevelsSmoothing":{"id":"audioLevelsSmoothing","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Levels Smoothing","type":"param","valueType":"float","optionIds":[]},"audioNormalizeLevels":{"id":"audioNormalizeLevels","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalize Levels","type":"param","valueType":"float","optionIds":[]},"audioNormalizeRangeFalloff":{"id":"audioNormalizeRangeFalloff","value":0.01,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Normalized Range Falloff","type":"param","valueType":"float","optionIds":[]},"nfvpxr5":{"id":"nfvpxr5","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"wp4x68x","channel":"A"}},"title":"Add to A","optionIds":[]},"w0lrg75":{"id":"w0lrg75","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"wp4x68x","channel":"B"}},"title":"Add to B","optionIds":[]},"3forys1":{"id":"3forys1","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"wp4x68x","channel":"active"}},"title":"Add to Active","optionIds":[]},"avd503v":{"id":"avd503v","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"U_SCENE_SELECT_CHANNEL","payload":{"id":"wp4x68x","channel":"opposite"}},"title":"Add to Opposite","optionIds":[]},"vngva4s":{"id":"vngva4s","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","action":{"type":"SCENE_CLEAR_CHANNEL","payload":{"id":"wp4x68x"}},"title":"Clear","optionIds":[]},"2kr4yf4":{"id":"2kr4yf4","value":0.7500000000000002,"inputLinkIds":["s187tud"],"shotCount":0,"connectedMacroIds":[],"sketchId":"v51llf1","title":"Pos X","valueType":"float","type":"param","key":"posX","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"openedLinkId":"s187tud","activeInputLinkId":"s187tud","optionIds":[]},"mcnrifk":{"id":"mcnrifk","value":0.9330127018922205,"inputLinkIds":["w8bl21x"],"shotCount":0,"connectedMacroIds":[],"sketchId":"v51llf1","title":"Pos Y","valueType":"float","type":"param","key":"posY","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"openedLinkId":"w8bl21x","activeInputLinkId":"w8bl21x","optionIds":[]},"p1abkol":{"id":"p1abkol","value":0.5,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"sketchId":"v51llf1","title":"Pos Z","valueType":"float","type":"param","key":"posZ","hidden":false,"min":0,"max":1,"defaultMin":0,"defaultMax":1,"optionIds":[]},"trf7g03":{"id":"trf7g03","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"s187tud","sketchId":"v51llf1","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"qwtg6u1":{"id":"qwtg6u1","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"s187tud","sketchId":"v51llf1","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true,"optionIds":[]},"ouoe6tw":{"id":"ouoe6tw","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"s187tud","sketchId":"v51llf1","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"ak5v48c":{"id":"ak5v48c","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"s187tud","sketchId":"v51llf1","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true,"optionIds":[]},"8miykns":{"id":"8miykns","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"v51llf1","parentNodeId":"s187tud","optionIds":[]},"5beqp2d":{"id":"5beqp2d","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"v51llf1","parentNodeId":"s187tud","optionIds":[]},"wnudhvv":{"id":"wnudhvv","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"v51llf1","parentNodeId":"s187tud","optionIds":[]},"n3g6udy":{"id":"n3g6udy","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"v51llf1","parentNodeId":"s187tud","optionIds":[]},"c876of7":{"id":"c876of7","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"2kr4yf4","linkId":"s187tud"}},"sketchId":"v51llf1","parentNodeId":"s187tud","optionIds":[]},"s187tud":{"id":"s187tud","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"2kr4yf4","sketchId":"v51llf1","parentNodeId":"2kr4yf4","nodeType":"param","modifierIds":["trf7g03","qwtg6u1","ouoe6tw","ak5v48c"],"optionIds":["8miykns","5beqp2d","wnudhvv","n3g6udy"],"linkableActions":{"toggleActivate":"c876of7"},"linkType":"node"},"t9x71da":{"id":"t9x71da","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"w8bl21x","sketchId":"v51llf1","key":"threshold","title":"Threshold","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"kr2p3g7":{"id":"kr2p3g7","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"w8bl21x","sketchId":"v51llf1","key":"range","title":"Lower Range","passToNext":true,"valueType":"float","subNode":true,"optionIds":[]},"cye3l3w":{"id":"cye3l3w","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"w8bl21x","sketchId":"v51llf1","key":"range","title":"Upper Range","passToNext":false,"valueType":"float","subNode":true,"optionIds":[]},"xfiqftg":{"id":"xfiqftg","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"parentNodeId":"w8bl21x","sketchId":"v51llf1","key":"increment","title":"Increment","passToNext":false,"valueType":"enum","options":[{"value":0,"label":"Off"},{"value":1,"label":"Increment"},{"value":2,"label":"Decrement"}],"subNode":true,"optionIds":[]},"72bggu9":{"id":"72bggu9","value":"sine","inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Shape","key":"shape","valueType":"enum","subNode":true,"options":[{"value":"sine","label":"Sine"},{"value":"square","label":"Square"},{"value":"sawtooth","label":"Sawtooth"},{"value":"rSawtooth","label":"Revese Sawtooth"},{"value":"triangle","label":"Triangle"},{"value":"noise","label":"Noise"}],"sketchId":"v51llf1","parentNodeId":"w8bl21x","optionIds":[]},"frw4cdf":{"id":"frw4cdf","value":1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Rate","key":"rate","valueType":"enum","subNode":true,"options":[{"value":32,"label":"32"},{"value":16,"label":"16"},{"value":8,"label":"8"},{"value":4,"label":"4"},{"value":2,"label":"2"},{"value":1,"label":"1"},{"value":0.5,"label":"1/2"},{"value":0.25,"label":"1/4"},{"value":0.125,"label":"1/8"},{"value":0.0625,"label":"1/16"},{"value":0.03125,"label":"1/32"}],"sketchId":"v51llf1","parentNodeId":"w8bl21x","optionIds":[]},"mnnngb2":{"id":"mnnngb2","value":0.25,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Phase","key":"phase","valueType":"float","subNode":true,"sketchId":"v51llf1","parentNodeId":"w8bl21x","optionIds":[]},"80u64bc":{"id":"80u64bc","value":-1,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"Seed","key":"seed","valueType":"enum","subNode":true,"options":[{"value":-1,"label":"auto"},{"value":0,"label":"0"},{"value":1,"label":"1"},{"value":2,"label":"2"},{"value":3,"label":"3"},{"value":4,"label":"4"},{"value":5,"label":"5"},{"value":6,"label":"6"},{"value":7,"label":"7"},{"value":8,"label":"8"},{"value":9,"label":"9"},{"value":10,"label":"10"},{"value":11,"label":"11"},{"value":12,"label":"12"},{"value":13,"label":"13"},{"value":14,"label":"14"},{"value":15,"label":"15"},{"value":16,"label":"16"},{"value":17,"label":"17"},{"value":18,"label":"18"},{"value":19,"label":"19"},{"value":20,"label":"20"},{"value":21,"label":"21"},{"value":22,"label":"22"},{"value":23,"label":"23"},{"value":24,"label":"24"}],"sketchId":"v51llf1","parentNodeId":"w8bl21x","optionIds":[]},"i6r82rc":{"id":"i6r82rc","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"type":"linkableAction","title":"Toggle Activate","action":{"type":"NODE_ACTIVE_INPUT_LINK_TOGGLE","payload":{"nodeId":"mcnrifk","linkId":"w8bl21x"}},"sketchId":"v51llf1","parentNodeId":"w8bl21x","optionIds":[]},"w8bl21x":{"id":"w8bl21x","value":0,"inputLinkIds":[],"shotCount":0,"connectedMacroIds":[],"title":"lfo","type":"inputLink","input":{"id":"lfo","type":"lfo"},"nodeId":"mcnrifk","sketchId":"v51llf1","parentNodeId":"mcnrifk","nodeType":"param","modifierIds":["t9x71da","kr2p3g7","cye3l3w","xfiqftg"],"optionIds":["72bggu9","frw4cdf","mnnngb2","80u64bc"],"linkableActions":{"toggleActivate":"i6r82rc"},"linkType":"node"},"areErrorPopupsDisabled":{"title":"Disable Error Popups","id":"areErrorPopupsDisabled","valueType":"boolean","value":false}},"scenes":{"items":{"wp4x68x":{"id":"wp4x68x","title":"Trig","selectedSketchId":"v51llf1","sketchIds":["v51llf1"],"linkableActionIds":{"addToA":"nfvpxr5","addToB":"w0lrg75","addToActive":"3forys1","addToOpposite":"avd503v","clear":"vngva4s"},"settings":{}}},"sceneIds":["wp4x68x"],"currentSceneId":"wp4x68x","channels":{"A":"wp4x68x","B":false}},"sketches":{"v51llf1":{"title":"Point","moduleId":"point","paramIds":["2kr4yf4","mcnrifk","p1abkol"],"shotIds":[],"openedNodeId":"mcnrifk"}},"project":{"filePath":"/Users/alex/Sites/GitHub/hedron/example-projects/trig.json","sketchesPath":"/Users/alex/Sites/GitHub/hedron/example-projects/sketches","errors":[],"errorPopup":false},"inputs":{"audio":{"value":[0.15305378962341487,0.1729028001665264,0.2636422328527456,0.16362095707258095],"assignedLinkIds":[]},"lfo":{"value":39.083333333333336,"assignedLinkIds":["s187tud","w8bl21x"]}},"inputLinks":{"nodeIds":[null]},"midi":{"learning":false,"devices":{"IAC Driver IAC Bus 1":{"title":"IAC Driver IAC Bus 1","id":"IAC Driver IAC Bus 1","manufacturer":"Apple Inc.","settings":{"forceChannel":{"value":false,"label":"-"}}}},"connectedDeviceIds":["IAC Driver IAC Bus 1"]},"macros":{"learningId":false,"nodeIds":[]},"ui":{"panelWidths":{"left":50},"isEditing":false,"openedNode":false,"auxOpen":[],"addSketchOpen":{}},"router":{"location":{"pathname":"/scenes/view/wp4x68x","search":"","hash":"","key":"4wn1s6"},"action":"REPLACE"},"settings":{"clockGenerated":true,"clockBpm":120,"aspectW":16,"aspectH":9,"throttledFPS":60,"watchSketchesDir":true},"form":{"device_IAC Driver IAC Bus 1":{"registeredFields":{"forceChannel":{"name":"forceChannel","type":"Field","count":1}},"values":{"forceChannel":{"value":false,"label":"-"}},"initial":{"forceChannel":{"value":false,"label":"-"}}},"sceneManager":{"registeredFields":{"globalPostProcessingEnabled":{"name":"globalPostProcessingEnabled","type":"Field","count":2}},"values":{},"initial":{}}}} \ No newline at end of file diff --git a/mockTests/scenes.test.js b/mockTests/scenes.test.js index c202be55..86a426ff 100644 --- a/mockTests/scenes.test.js +++ b/mockTests/scenes.test.js @@ -1,3 +1,5 @@ +/* eslint-disable no-unused-expressions */ + import listen from 'redux-action-listeners' import { createStore, applyMiddleware, combineReducers } from 'redux' import createSagaMiddleware from 'redux-saga' diff --git a/package.json b/package.json index 10d1f80b..bb9bf5f2 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "Hedron", "author": "Nudibranch Records", "description": "Perform live shows with your three.js creations", - "version": "0.5.1", + "version": "0.6.0", "homepage": "https://github.com/nudibranchrecords/hedron", "repository": {}, "license": "AGPL-3.0+", diff --git a/projectFixScripts/.eslintrc b/projectFixScripts/.eslintrc new file mode 100644 index 00000000..f047327a --- /dev/null +++ b/projectFixScripts/.eslintrc @@ -0,0 +1,5 @@ +{ + "rules": { + "no-console" : 0 + } +} \ No newline at end of file diff --git a/projectFixScripts/0.5-0.6.js b/projectFixScripts/0.5-0.6.js index dc17018d..6ad1eb7f 100644 --- a/projectFixScripts/0.5-0.6.js +++ b/projectFixScripts/0.5-0.6.js @@ -8,11 +8,13 @@ const parseOldOptions = (key, node) => { } fix(data => { + // Loop through nodes in project for (const key in data.nodes) { const node = data.nodes[key] if (!node.optionIds) { - // option Ids now share the same array property + // option IDs now share the same array property + console.log(`${node.id}: Converting option IDs into one array`) node.optionIds = [] parseOldOptions('lfoOptionIds', node) parseOldOptions('midiOptionIds', node) @@ -22,10 +24,14 @@ fix(data => { // We now have valueType, default is "float" const becomeFloat = ['param', 'macro', 'macroTargetParamLink'] - if (!node.valueType && becomeFloat.includes(node.type)) node.valueType = 'float' + if (!node.valueType && becomeFloat.includes(node.type)) { + console.log(`${node.id}: ${node.type} set to "float" valueType by default`) + node.valueType = 'float' + } // Shots become shotFloat if (node.type === 'shot') { + console.log(`${node.id}: added "shotFloat" valueType for shot`) node.valueType = 'shotFloat' } @@ -33,13 +39,17 @@ fix(data => { if (node.type === 'select') { delete node.type node.valueType = 'enum' + console.log(`${node.id}: "select" type becomes "enum" valueType`) } // Convert macro param link start values from "false" to "null" if (node.type === 'macro' && node.targetParamLinks) { for (let key in node.targetParamLinks) { const obj = node.targetParamLinks[key] - if (obj.startValue === false) obj.startValue = null + if (obj.startValue === false) { + console.log(`${node.id}: false macro start value becomes null`) + obj.startValue = null + } } } @@ -51,6 +61,7 @@ fix(data => { node.action.payload && node.action.payload.type && !node.action.payload.channel ) { + console.log(`${node.id}: linkableAction U_SCENE_SELECT_CHANNEL payload.type becomes payload.channel`) const p = node.action.payload const channel = p.type delete p.type @@ -58,6 +69,19 @@ fix(data => { } } + // Check if new core nodes are missing + if (data.nodes.areErrorPopupsDisabled === undefined) { + console.log(`adding missing areErrorPopupsDisabled core node`) + data.nodes.areErrorPopupsDisabled = { + title: 'Disable Error Popups', + id: 'areErrorPopupsDisabled', + valueType: 'boolean', + value: false, + } + } + + console.log(`Checked ${Object.keys(data.nodes).length} nodes`) + return data }) diff --git a/projectFixScripts/lib/index.js b/projectFixScripts/lib/index.js index 4312f2fe..04d8a7ba 100644 --- a/projectFixScripts/lib/index.js +++ b/projectFixScripts/lib/index.js @@ -3,7 +3,7 @@ const path = require('path') const args = process.argv.slice(2) const inputPath = args[0] -const outputPath = './output' +const outputPath = args[1] || './output' const fileName = path.basename(inputPath) const fix = cb => { diff --git a/readme.md b/readme.md index 89c439aa..5ec22853 100644 --- a/readme.md +++ b/readme.md @@ -6,16 +6,18 @@ Perform live shows with your three.js creations. ## Features -- πŸ“₯Import [three.js](https://github.com/mrdoob/three.js/) sketches without having to recompile -- 🎊 Place multiple sketches in the same scene -- πŸ”Š Control variables using audio, MIDI and BPM based LFO +- πŸ“₯ Import [three.js](https://github.com/mrdoob/three.js/) sketches on the fly +- 🎊 Compose scenes with multiple sketches +- πŸ”Š Control parameters using audio, MIDI and BPM based LFO - πŸ•ΉοΈ Call functions using audio, MIDI and BPM based sequencer - ⚑ Define macros to control multiple variables at once -- ⏲️ Use MIDI clock input or tap tempo to get BPM -- πŸŒ‡πŸŽšοΈπŸŒ‹ Create many scenes and crossfade between them +- ⏲️ Control timing using MIDI clock input or tap the tempo +- 🎚️ Create many scenes and crossfade between them +- ✨ Apply post processing effects - πŸ” Preview and compose scenes before displaying them to the audience - πŸ’‘ Use MIDI Learn to quickly assign controls - πŸ”₯ Hot reload your sketches on code changes, without affecting the rest of the scene +- πŸ”§ Different UI controls based on value type (e.g. float, boolean, string) - βš™οΈ Support for multiple MIDI control modes (abs, rel1, rel2, rel3) - πŸ“½οΈ Easily send output picture to external display - πŸ’Ύ Save / load using JSON project files @@ -33,15 +35,15 @@ Download the latest [release](https://github.com/nudibranchrecords/hedron/releas ### Load example project 1. Download the latest example projects zip from the [releases](https://github.com/nudibranchrecords/hedron/releases) page. If you've compiled from source, you'll already have the example projects, found in `/example-projects`. -2. In Hedron, choose "Load Existing Project". Choose a folder from the example projects (`Logo` is a good start!) and open `project.json`. +2. In Hedron, choose "Load Existing Project". Select one of the project JSON files included in the example projects folder (`logo.json` is a good start!). 4. Play it some music, tap BPM, experiment with the controls 5. πŸ‘½ ## User Guide -Head to the [User Guide](docs/user-guide/index.md) to learn how to use Hedron. +Head to the [User Guide](blob/stable/docs/user-guide/index.md) to learn how to use Hedron. ## Creating Sketches -Head to the [Creating Sketches Guide](docs/dev/index.md) to learn how to create sketches. +Head to the [Creating Sketches Guide](blob/stable/docs/dev/index.md) to learn how to create sketches. ## Get in touch Made something awesome in Hedron you'd like to share? Need help or have some cool ideas? Let's talk! Find Alex on Twitter: [@funtriangles](https://twitter.com/funtriangles), or email: [alex@funwithtriangles.net](mailto:https://twitter.com/funtriangles). @@ -65,9 +67,9 @@ If you are having fun with Hedron, we'd love you to help with development. See t Don't worry too much if the tests aren't passing, we can work on that together. :) ### Build From Source -Building from source gives you some extra development features such as setting a default project that will always load on start. +Build from source for the latest features (expect bugs!). This also gives you some extra development features such as setting a default project that will always load on start. -1. Make sure [Node.js](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/en/docs/install) are installed on your machine. +1. Make sure [Node.js](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/en/docs/install) are installed on your machine. (_Hedron 0.6.0 has been tested with Node 12.14.1 and Yarn 1.21.1_) 2. Open terminal and run the commands below. ```bash $ git clone https://github.com/nudibranchrecords/hedron.git @@ -90,3 +92,12 @@ Run `yarn dist` to package up the app for best performance and no dev tools. Onc | `yarn lint` | Run linting | | `yarn test` | Run pre deployment tests (including linting) | | `yarn test:dev` | Run tests on file changes (does not include linting) | + +### Acknowledgements +Hedron has been created using some amazing open-source libraries. Most notably: + +- [three.js](https://github.com/mrdoob/three.js/) +- [postprocessing](https://github.com/vanruesc/postprocessing) +- [React](https://github.com/facebook/react) +- [Redux](https://github.com/reduxjs/redux) + diff --git a/src/components/Col/index.js b/src/components/Col/index.js index ae8b7719..7c83a9b9 100644 --- a/src/components/Col/index.js +++ b/src/components/Col/index.js @@ -1,9 +1,9 @@ import styled from 'styled-components' const Col = styled.div` - ${props => props.width + ${props => !props.noWidth && (props.width ? `flex: 0 0 ${props.width};` - : `flex: 1;` + : `flex: 1;`) } padding-right: 1rem; diff --git a/src/components/ErrorOverlay/index.js b/src/components/ErrorOverlay/index.js index da88993c..482e5541 100644 --- a/src/components/ErrorOverlay/index.js +++ b/src/components/ErrorOverlay/index.js @@ -3,6 +3,9 @@ import styled from 'styled-components' import PropTypes from 'prop-types' import OverlayModal from '../OverlayModal' import Button from '../Button' +import Col from '../Col' +import Row from '../Row' +import Control from '../../containers/Control' const ErrorMessage = styled.p` opacity: 0.5; @@ -16,11 +19,22 @@ const Wrapper = styled.div` user-select: text; ` +const PopupControl = styled(Row)` + margin-top: 1rem; + font-size: 0.7rem; + background: rgba(100,100,100,0.5); + border-radius: 2px; + padding: 0.5rem; + text-align: left; +` + const ErrorOverlay = ({ isVisible, onCancelClick, code, message, onChooseSketchFolderClick }) => { let inner =

Whoops!

+ let showPopupControl = true switch (code) { case 'NO_SKETCH_FOLDER': + showPopupControl = false inner = (

The sketches folder for this project could not be located, please find the folder on your computer. @@ -41,6 +55,13 @@ const ErrorOverlay = ({ isVisible, onCancelClick, code, message, onChooseSketchF {inner} {message} + { + showPopupControl && + + Stop errors from popping up (Can be enabled again in settings) + + } + ) } diff --git a/src/components/Settings/index.js b/src/components/Settings/index.js index 865b982c..45c17ac6 100644 --- a/src/components/Settings/index.js +++ b/src/components/Settings/index.js @@ -49,6 +49,15 @@ const Settings = () => ( +

GUI

+ + +

Disable Error Popups

+ + + + +
) diff --git a/src/engine/index.js b/src/engine/index.js index 6ecd7701..61ce9c1d 100644 --- a/src/engine/index.js +++ b/src/engine/index.js @@ -151,7 +151,7 @@ export const addSketchToScene = (sceneId, sketchId, moduleId, shouldSetPost = tr }) sketches[sketchId] = module - module.root && scene.scene.add(module.root) + if (module.root) scene.scene.add(module.root) if (shouldSetPost) renderer.setPostProcessing() } diff --git a/src/externals/sketches.js b/src/externals/sketches.js index b9c913df..cf002fa2 100644 --- a/src/externals/sketches.js +++ b/src/externals/sketches.js @@ -25,7 +25,11 @@ const loadFile = resolvedPath => { } if (!file) { - throw new Error(`File not found: ${resolvedPath}`) + throw errcode( + new Error(`File not found: ${resolvedPath}`), + 'FILE_NOT_FOUND', + { forcePopup: true } + ) } return file @@ -45,7 +49,11 @@ const loadIndex = (file) => { return loadFile(indexUrl) } catch (error) { - throw new Error(`No index file found: ${error.message}`) + throw errcode( + new Error(`No index file found: ${error.message}`), + 'SKETCH_INDEX_NOT_FOUND', + { forcePopup: true } + ) } } @@ -56,7 +64,11 @@ const loadConfig = (file) => { return loadFile(configUrl) } catch (error) { - throw new Error(`No config file found: ${error.message}`) + throw errcode( + new Error(`No config file found: ${error.message}`), + 'SKETCH_CONFIG_NOT_FOUND', + { forcePopup: true } + ) } } @@ -98,7 +110,11 @@ const findSketches = (file, all, pathArray) => { break case 1: // If only one file is missing (e.g. config but no index or index but no config) - throw new Error(`File not found: ${badFile}`) + throw errcode( + new Error(`File not found: ${badFile}`), + 'FILE_NOT_FOUND', + { forcePopup: true } + ) case 2: // If both files are missing, keep looking at child folders glob.sync(file + '/*').forEach(function (childFile) { @@ -118,7 +134,8 @@ const loadSketches = globUrl => { if (Object.keys(all).length === 0) { throw errcode( new Error('No sketches found in folder.'), - 'NO_SKETCH_FOLDER' + 'NO_SKETCH_FOLDER', + { forcePopup: true } ) } diff --git a/src/store/rootListener.js b/src/store/rootListener.js index 49ac3cda..542c2d98 100644 --- a/src/store/rootListener.js +++ b/src/store/rootListener.js @@ -25,8 +25,10 @@ export default { fileWatchListener(action, store) await projectListener(action, store) } catch (error) { + const state = store.getState() + const shouldPopup = !state.nodes.areErrorPopupsDisabled.value || error.forcePopup console.error(error) - store.dispatch(projectError(error.message, { popup: true, code: error.code })) + store.dispatch(projectError(error.message, { popup: shouldPopup, code: error.code })) } }, } diff --git a/src/store/setCoreState.js b/src/store/setCoreState.js index 6679a825..6e420013 100644 --- a/src/store/setCoreState.js +++ b/src/store/setCoreState.js @@ -4,45 +4,39 @@ import { uNodeCreate } from './nodes/actions' -export default store => { - store.dispatch(uNodeCreate('sceneCrossfader', - { - title: 'Scene Crossfader', - id: 'sceneCrossfader', - value: 0, - type: 'param', - valueType: 'float', - } - )) - - store.dispatch(uNodeCreate('viewerMode', - { - title: 'Viewer Mode', - valueType: 'enum', - id: 'viewerMode', - value: 'mix', - inputLinkIds: [], - options: [ - { - value: 'mix', - label: 'Mix', - }, - { - value: 'A', - label: 'A', - }, - { - value: 'B', - label: 'B', - }, - ], - } - )) - - store.dispatch(uNodeCreate('sketchOrganization', { +const coreNodes = [ + { + title: 'Scene Crossfader', + id: 'sceneCrossfader', + value: 0, + type: 'param', + valueType: 'float', + }, + { + title: 'Viewer Mode', + valueType: 'enum', + id: 'viewerMode', + value: 'mix', + inputLinkIds: [], + options: [ + { + value: 'mix', + label: 'Mix', + }, + { + value: 'A', + label: 'A', + }, + { + value: 'B', + label: 'B', + }, + ], + }, + { title: 'Sketch Organization', valueType: 'enum', - value: 'category', + value: 'folder', id: 'sketchOrganization', options:[ { @@ -58,16 +52,21 @@ export default store => { label: 'Author', }, ], - })) - - store.dispatch(uNodeCreate('audioLevelsFalloff', { + }, + { + title: 'Disable Error Popups', + id: 'areErrorPopupsDisabled', + valueType: 'boolean', + value: false, + }, + { title: 'Levels Falloff', type: 'param', value: 1, id: 'audioLevelsFalloff', valueType: 'float', - })) - store.dispatch(uNodeCreate('audioLevelsPower', { + }, + { title: 'Levels Power', type: 'param', value: 0.25, @@ -75,27 +74,32 @@ export default store => { max: 3, id: 'audioLevelsPower', valueType: 'float', - })) - store.dispatch(uNodeCreate('audioLevelsSmoothing', { + }, + { title: 'Levels Smoothing', type: 'param', value: 0, id: 'audioLevelsSmoothing', valueType: 'float', - })) - - store.dispatch(uNodeCreate('audioNormalizeLevels', { + }, + { title: 'Normalize Levels', type: 'param', value: 0.5, id: 'audioNormalizeLevels', valueType: 'float', - })) - store.dispatch(uNodeCreate('audioNormalizeRangeFalloff', { + }, + { title: 'Normalized Range Falloff', type: 'param', value: 0.01, id: 'audioNormalizeRangeFalloff', valueType: 'float', - })) + }, +] + +export default store => { + coreNodes.forEach(node => { + store.dispatch(uNodeCreate(node.id, node)) + }) } diff --git a/src/valueTypes/FloatValueType/index.js b/src/valueTypes/FloatValueType/index.js index 87ed7cbc..95d64d00 100644 --- a/src/valueTypes/FloatValueType/index.js +++ b/src/valueTypes/FloatValueType/index.js @@ -43,7 +43,7 @@ export class FloatValueType extends BaseValueType { }, lfo: { valueProcess: ({ inputLink, value, options: { shape, rate, phase, seed } }) => { - seed === -1 ? inputLink.id : seed + seed = seed === -1 ? inputLink.id : seed return lfoProcess(value, shape, rate, phase, seed) }, },