Dataflow @ ITP

Dataflow


ITP Help Pages


rss feed for this site


apple

RodsAndCones

This syllabus is liable to change

Boxes and Lines for Rods and Cones

Spring 2012

Participation & Attendance

Showing up on time, engaging in the class discussion, and offering advice and critique on other projects in the class is a major part of your grade. Please be present and prompt. Lateness will hurt your grade. If you're going to be late or absent, please email me in advance. If you have an emergency, please let me know as soon as you can. Please turn in assignments on time as well.

Laptops

It's probably best to BYO laptop to class. It is very helpful to use while we go over particular topics, and learn by doing in class. However, they can also be a super distraction. Whenever classmates are presenting or we're in the midst of a class discussion, however, please keep your laptop closed. The quality of the class depends in large part on the quality of your attention and active participation, so please respect that and close your lid.

Mobile Phones

Please put them on vibrate or turn them off before you come to class unless they are part of your project.

Assignments

There is a homework assignment for nearly every class. They are very short, simple activities. These are the basic steps you need to go through to understand the principles discussed in class each week. They're designed to help you not only to understand the technical details, but also to get a feel for what the technology can do, so that you can incorporate it into actual projects. You should at least complete the steps outlined each week, so that you understand practically what it is we're talking about. Document on your blog any discoveries you make, pitfalls you hit, and details not covered in the class that you think will be useful for your fellow students and future students in this class.

I expect you to have a blog/journal/publicly available website where you will be posting the weekly work.

Final Project

At the end of the semester, you will be expected to present a final project that uses dataflow language for video in some compelling fashion. This can take the form of an installation, performance, software, what have you. You are free to combine this final with that of another class, but make sure you let the other instructor know what you're doing. We will start to discuss these in week 4.

Student pages

<<<<<<<

=======

>>>>>>>

Week 1:

  • why are we here, not in a metaphysical sense, but in a practical fashion?
  • What is video, how is it treated in Max via Jitter?
  • basics : you already know how to patch things together (thanks Hans!). Now we’re going to apply that knowledge to the world of video and matrices.

differences between Max6 and PD. If you want to use an alternative (like softVNS for max5 or gridflow in PD or Quartz Composer, knock yourself out, but I will be of significantly less help)

  • Quick tour of the interface : browser, sidebar, attributes window. help patches and reference.
  • keyboard shortcuts for object creation.
  • Play a movie!
    • jit.qt.movie
    • attributes and arguments in Jitter
    • jit.pwindow vs jit.window
  • jit.fpsgui : matrix name
  • The jitter matrix!
    • Screen coordinates
    • planes, dims, types, named matricies, setcell, getcell, sends and receives in matrices.

Assignment : create a video player that moves to random points in a timeline. In class, we looked at building a scrubber with a mouse, expand on that idea and combine the player it with different types of input (ideas include Arduino, keypress, audio detection, etc etc etc). Look at the framebyframe.maxpat example for a starter.

Patches from class
Jitter Tutorials 1,2,3, 5, 14 & 16 are analogous to what we covered in class

Week 2:

  • using live video as an input
  • some built in matrix based effects
    • jit.xfade
    • jit.rota
    • feeback
  • building effect chains

Assignment : Use at least one of the built in effects in Jitter, plus feedback, to make something interesting! If the built in tools aren't your cup of tea, try using a third party library like Auv-i.

Patches from class

We covered things that are in Jitter tutorial 8, 10, 11, 15, 16, & 17

Links and things mentioned :

Week 3

  • computer vision and additional libraries in Jitter
    • basic tracking and presence detection
    • cv.jit package
  • pattr and presets

This week covers the cv.jit help patches, and Jitter tutorial 25. Also the max patcher storage Tutorials.

Supplemental readings

Assignment
We looked at means of storing and retrieving data with the pattr system, as well as different video tracking techniques. Either take the effect based patch you had from last week and incorporate some sort of presets system using pattr, or create a fun* use of the computer vision tools we looked at in class.

Patches from class

Week 4

  • how to automate things with LFOs (transport, phasor~, snapshot~)
  • audio to video (jit.poke~, jit.buffer~, jit.graph, jit.catch~)
  • video to audio (jit.release~, jit.peek~)
  • javascript in max for video
  • mxj and java in max for video

This week includes items from Jitter tutorials 27, 28, 45, 46, 47, 48, 51. There's also the above named objects. Additionally, there's a .pdf that explains (somewhat) what's going on with mxj.

Supplements

Patches from class

Week 5

  • Intro to openGL for optimization.
  • jit.gl.gridshape
  • drawing with jit.gl.sketch

This week includes items from Jitter tutorials 31, 32, 33, 34, 37, 40.

Supplemental reading

Patches from class

Here's a patch with the correct way to fade between 2 videoplanes :


----------begin_max5_patcher----------
1278.3oc4YssbpaCE8Y3qP0SejiGc218I5i8anSmLBr.bJXQrkykdly+d2Rf
IPgDrMACSOSx.Xgrzxq8dsuH99vAASLupKCP+F5OQCF78gCF3GxMvfsWOHXk
50oKUk9oEL0rZkN2FLZy2Y0uZ2L9xro+MZgtPirFzLUpFMQaeQqyQqLOmAax
16XYVtdpoJ2eazsCNyjaKy9GsaLBMDuc30J6zEY4yenPO0tAkLIMjvivR9HD
S.yDQDb2aL3Uzes25kqV4WufeuHSsrd6yR8iYl732Hw0ClWsJKeo15eDIuOn
oxVOJ1M3OFNz8xnKjqrKznrxxJ30bje5nWTkH6BkE49tT8Z6hGz4pIK0Hk0V
jMoxp8yoTac7Kwcmto9XlMb9xvmyR0l0KU45xPzeLC8loBo.SwbCvdGYPfab
0H+RMF1g7z5shfFevViOoMKp01LRDIjKYQbwHDkEFySXzHvvIkd6Gl0ZKm7J
a4VoKKUy0GY4vg.dCQTLdG27AzvF.XeasdCGDDr6QbcgtDbKT1LS99d1wzP4
VO6HwNVB63H7dLzYDEQxc2pLxyuwsld4mjdomjdIcfdy0u.6yQr6u7MfbaKu
NaoQYC9L1gCrIMAywBmOWbXBPTBfdXzPmCItszSxsgcbhPvQn09ciNv26DzC
msyuifkgrHIkCel6UmsmdNs1jcR5g9EpMIgNcx0QatOGEwBY3XLMoYZyCt0K
WaRuxNeeD6N0rzTf9Uxt+u.N9DjjLILJlwDRPV5zkDQDOZatgtPSrqLMAQcf
Eoawp.A4DU97OkPjrjvXLSPiOLlk.2MQIemlXsp.lrUWrMKuOEYyylRuCIq8
CvSSfkjvvRZ2IKVxMjrtMBPIlFFIkXAPajjjPAiAdeWh.TdaxRdTAwPMvyMn
w1BUd4LSwpGbQ3sHJZrpxZVAQ5mhvmqPXzXO8ux.UQW81yu0klYNxf.P8AX+
Kxd8r4nEIhcgCnBXMY7DA7YQLoa89vXAWW23epLOTvL3DLTP8vhngwIQTW5q
Nadnjai4whlbve5BUotsAZ7wqG0922rYeJOSC4P8TtBUA.TWnJgD0s37TbKX
43ubQPA3RqK1J.7O7OrIHOTE6l+ae2P0bYCoQFTlgHBpXNx0YNsazHII31jR
rPqRGgfxDRgrzesoC2q7KHzqjGCryHTrniMTSucICexF5O.Nz3p7rmp7QOUo
p0V2GNcXyqQBrX760yBjqiQofCHcCk1AmtaXBrWxxSMurU35HJjjiQLIjGxW
zp6L2pyQMoZ1LPj6tzTAIqpu9JKr4TnmANzPEzkJmjzMNN9+c5ZFTla8IQRR
jgTLVjbAB6ne100zn2OzR2mcmLB+Rz0hqrOm0Le9xctbG8nmk+4mkHkTqv16
froG2m49sd+E0L4Wn+yS.LJLHZmBB0r.P6cTWh3NFhuihK+t3q8++7Ka4Ara
7CYrRSUwz5Gw55BQQ6.aptDBo6ORv8ljqpGz6OQKxRS046aRSyJcV4zO92fn
U3AemgGwYviqCydBOtyZ3r7SOhGB6NCOzl3+v5W+G4cFdXmAOtVx6K+4FXt5
Q3Htufi2ZwOCdD8FbhZ.6zenw8S2dV3H6M3jz.zvw8FbZRdhj6Jzv5wr52Ud
N7lTyCqGwSSRg1eYHZhvpGKvnIYH5pLeS47p0qeVWTtcM8HAZ04QSg6R4H+k
Y4atzuhAE5mypmOena09wv+EQPoRT
-----------end_max5_patcher-----------

Week 6

  • More GL
    • slabs
    • shaders
  • Using Jitter with other applications
    • syphon
    • networking

This week roughly will cover Jitter tutorials 41,42,43 and Appendix C

Additional resources:

Week 7

  • show your work
  • final questions
  Edit | View | History | Print | Recent Changes | Search Page last modified on April 26, 2012, at 12:31 PM