ofzach / dayfornightsfpc Goto Github PK
View Code? Open in Web Editor NEWday for night project from SFPC
License: MIT License
day for night project from SFPC
License: MIT License
To visually distinguish them from the pseudocode, and make it look just a little bit more like an editor.
would be good to have a system for recording parameter change over time (and saving to an xml file) and or controlling params via noise, sin waves or random smooth to values....
this would be a meta level controller maybe at the scene manager level.
this isn't a biggy since we're all on mac, but just a reminder that we can help out folks on other platforms by being more verbose in our addons.make...
right now, typeManager is calculating stats on the scene, I think some of this is better done in seperate objects, so it's easy to follow logic, I see this working as a setup:
sceneManager
typeManager (handles param replacement)
sceneStats (calculates paramter changes and / or other info about the scene)
audioManager (turn stats and type info into sound)
things like animate type, animation time, etc....
I was curious about making pieces not static (as requested by the project guidelines). Should we simply be exposing values so they can be controlled (and I assume ultimately animated) by the project organizers? Or should we be including animations in our submissions?
This leads me pretty quickly toward questions about authorship which may become more troublesome with living artists, but it sounds like we have:
ie, do we use c++? OF? pseudo code?
this is for the text template that people will see with the visuals...
seems like a midi controller would be an ideal way to alter these parameters. Try hooking up the korg nano controller to this....
think about drawing bigger into an fbo and scaling down, ie 2x fbo and lineWidth(3) instead of 1.... as discussed in slack channel.
I was going to translate http://recodeproject.com/artwork/v3n2untitled-3-marcus for this project. Should I comb through the 5 "approved" artist to find something else instead?
smoothing should happen every every frame not on midi event -- (afaik I can see, smoothing is happening here....
I can't find an easy way to duplicate a parameterGroup (having a kind of shadow param group might be one way to do this, one gets update from midi, the other catches up to the unsmooth value)....
one simple solution (but requires editing projects) is to add variables that track, and add a function called smooth to baseScene, ie for yosukeJhonWhitneyMtrix:
// ofParameter param;
ofParameter numOfGroup;
ofParameter numOfBall;
ofParameter radius;
ofParameter speed;
ofParameter ballRadius;
//----------------------------------------- if it can be smoothed, smooth it
ofParameter<float> radiusSmooth;
ofParameter<float> speedSmooth;
ofParameter<float> ballRadiusSmooth;
void smooth(){
radiusSmooth = SMOOTH_AMOUNT * radiusSmooth + (1-SMOOTH_AMOUNT) * radius;
speedSmooth = SMOOTH_AMOUNT * speedSmooth + (1-SMOOTH_AMOUNT) * radius;
ballRadiusSmooth = SMOOTH_AMOUNT * ballRadiusSmooth + (1-SMOOTH_AMOUNT) * radius;
}
//-----------------------------------------
SMOOTH_AMOUNT can be defined in baseScene or appConstants (like 0.95, etc).
you will need to call smooth in scene manager before update....
can't seem to find a way to do this more automatically.... at least the params are pretty clear per project and it's just the floats to smooth.
I hope this helps!
zach
for handling the typing of code (ala https://www.google.com/trends/hottrends/visualize?pn=p1&nrow=3&ncol=4) and for do brett victor style focus on parameters....
the link is not working:)
when scenes start drawing, after the pseudo code finishes its animation, these must be reset so you actually see the scene running from it's begining.
as we start to have settings files, fonts, sounds, etc, it's a bit messy to have scene folders at the root level of data. good to make a folder called scenes, and then put these folders in scenes. This would require changing every scene's "load(...)" if we do this but I think for keeping things clean it will help.
a) type could be height centered, and recenter as new lines get typed in.... (small ones end up quite high). We could do this by monitoring the bounding box of the type as it's drawn and (smoothly) recentering based on that.
b) on parameter change, it would be good if the lines that do have parameters up stay mid-bright, but ones that don't fade out even more so your eye can focus on the given line...
c) we could try fading out everything but changing parameters alot or completely, so you just see numbers changing....
d) blinking cursor might emphasize the typing a bit more (blinking when typing slow, solid when typing is fast.. disappears when typing is done
ie, the line at the end of the type:
need to fill out scene manager
I assume this is only happening in Linux since it has not been fixed yet, but I'm getting a "multiple definition" errors when I make
. looks like I'm getting them from ofxTween/example/map_example_src
I'm not sure how to remedy these on Linux, should I be able to do it with the command-line project generator? Or editing some project file?
the midi control of params is great, it feels like it needs a bit of smoothing since it's so sensative, smoothing can be part of the overall control panel
Implementation note: when calculating parameter energy, which is used to determine the brightness of the parameters in the pseudocode, changes to boolean parameters should be picked up.
When TYPE_ANIMATION
is defined, these scenes cause the app to crash once they load:
submotionOrchestraScene
veraMolnarTrapezium
veraMolnarLines68
Example error message from the exception, triggered inside submotionOrchestraScene::draw()
...
libc++abi.dylib: terminating with uncaught exception of type std::out_of_range: vector
(lldb)
As a quick workaround, I've disabled the above scenes when type animation is on.
@sarahgp we in houston were wondering whether the weeArc
variable in your sketch means "wee" like small or "wee" like "weeee i'm on a roller coaster". please let us know ๐ป
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.