class: center, middle .title[Creative Coding and Software Design 2]
.subtitle[Week 6: Data and signal flow]
.date[Mar 2022]
.note[Created with [Liminal](https://github.com/jonathanlilly/liminal) using [Remark.js](http://remarkjs.com/) + [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) + [KaTeX](https://katex.org)] ??? Author: Grigore Burloiu, UNATC --- name: toc class: left # ★ Table of Contents ★ 1. [Max/Pd objects](#maxpd-objects) 2. [Data and signals](#data-and-signals) 3. [Types and basic objects](#types-and-basic-objects) 4. [Examples](#examples) 5. [Assignment](#assignment) --- layout: true .toc[[★](#toc)] --- name: maxpd-objects # Max/Pd objects .left-column[Keyboard shortcuts:* - **N**: new object - **M**: new message object - **B**: [bang] - **T**: [toggle] - **I**: [number] (int)** - **F**: [float] (float) - **C**: new comment - **Ctrl+E** or **Ctrl+click**: edit on/off - **Ctrl+M**: console (Max Window) - **Alt+click**: open object's help ] .right-column[![](../attachments/max-plus-object.png)]
*Pd: copy maxhotkey-plugin.tcl to ```/Documents/Pd/externals/``` to enable Max-like hotkeys **Pd doesn't have an ```int``` type: all its numbers are ```float``` precision. Shift+drag on a number box to access its decimals. --- ## Object inlets:
hot
and
cold
.left-column[
setting the internal state
of an object setting the state and
triggering output
] .right-column[![](../attachments/max-plus-object.png)] --
Techniques: | | | | |:---|-|:---| | basic flow | |
hot
inlet →
hot
inlet → ... | | store data, use later | |
cold
inlet → do something →
hot
inlet | | use
hot
inlet as a cold one (
no output
) | | "set $1" message | | send to several inlets at once | | list →
hot
inlet | --- class: center ## Focus: the [message] object
| | | | |:---|-|:---| |
basic flow
| |
hot
inlet →
hot
inlet → ...
| | store data, use later | |
cold
inlet → do something →
hot
inlet | | use
hot
inlet as a cold one (
no output
) | | "set $1" message | |
send to several inlets at once
| |
list →
hot
inlet
| --- name: data-and-signals # Data and signals .left-column[ Max "messages through a tube" *atoms*
] .right-column[ MSP "water down a pipe" *signals*
] --
What about Jitter? --- name: types-and-basic-objects # Types and basic objects | Type | Container | Hotkey | Operations | |---|---|-|:---| |bang|bang|**B**|delay trigger| |int|number|**I**| + - * / > pipe sel route ... | |float|flonum|**F**| scale slide ... | |symbol|message|**M**| coll "set " | |list|message|**M**| pack/pak unpack zl | |signal|number~| | cycle~ +~ *~ abs~ avg~ ... | |matrix|jit.matrix| **J** | jit.op jit.fill ... | --- class:center ## Max type conversion table
- https://www.kadenze.com/courses/programming-max-structuring-interactive-software-for-digital-arts-i/resources/1777 --- name: examples # Examples A. [Simple patch: visualise a signal](#ex1) B. [Sensor-based interfaces](#ex2) C. [Hardware integration](#ex3) D. [Software integration](#ex4) E. [Live electronics](#ex5) F. [Audiovisual](#ex6) G. [Sonification](#ex7) --- name: ex1 class: center ## example patch ![](../attachments/jitter-pixel-done.gif) --- name: ex2 class: center ## Leafcutter John
--- class: center ## David Wessel
--- class: center ## Eduardo Miranda
[more](https://vimeo.com/163673832) --- class: center ## jasch
[more](https://www.jasch.ch/island.html) --- name: ex3 class: center ## Organelle
--- class: center ## Impractical Musical Devices
[more](https://www.impracticaldevices.com/) --- name: ex4 class: center ## Loop/stutter device
--- class: center ## Amazing Noises
--- class: center ## Generative drum machine
[more](https://www.congburn.co.uk/strokes) --- class: center ## Procedural audio / Unity
[more](https://github.com/LibPdIntegration/LibPdIntegration) . [more](https://youtu.be/0xr4aL1C24E) --- name: ex5 class: center ## Pierre Boulez: *Anthemes 2*
--- name: ex6 class: center ## Chi Po-Hao
[more](http://chipohao.com/projects/autogenous-noise/) --- class: center ## Federico Foderaro
[more](https://www.federicofoderaro.com/) --- name: ex7 class: center ## Maria Năstase
--- class: center ## Tom Zicarelli
[more](https://github.com/tkzic/internet-sensors) --- name: assignment class: left # Assignment Tutorials 1-5: Hello, Bang, Numbers, Metro, Debugging Ask (at least) one question: - something you didn’t understand / were surprised by - *(if you got everything)* something that might stump your peers See also: [resources](https://rvirmoors.github.io/ccia/resources#max)