Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
b1ed2bc
Add gen support design spec
katiewangmt Apr 3, 2026
0ef44d4
Add gen support implementation plan
katiewangmt Apr 3, 2026
1a8a62a
feat: add gen patcher template for gen sub-patchers
katiewangmt Apr 3, 2026
4d921fe
feat: add gen_type parameter to MaxPatch for gen sub-patchers
katiewangmt Apr 3, 2026
5462cbb
feat: add gen_patcher parameter to place() for embedding gen sub-patc…
katiewangmt Apr 3, 2026
9467dd2
feat: add gen operator extraction from local Max reference files
katiewangmt Apr 3, 2026
433e09d
feat: add online gen operator scraping and comparison report
katiewangmt Apr 3, 2026
e2c76d6
feat: generate OBJ_INFO metadata for all gen operators
katiewangmt Apr 3, 2026
853b425
feat: generate gen.py stubs and add gen import to objects package
katiewangmt Apr 3, 2026
c5fc970
test: add end-to-end integration tests for gen patcher support
katiewangmt Apr 3, 2026
4407518
docs: add gen patcher documentation to package docstring
katiewangmt Apr 3, 2026
29e1db8
feat: add 5 gen~ example scripts demonstrating core gen concepts
katiewangmt Apr 3, 2026
651e46b
feat: add 11 gen~ examples covering core DSP concepts
katiewangmt Apr 3, 2026
4d7eef6
fix: correct inlet/outlet counts for all gen operators
katiewangmt Apr 3, 2026
7a53c5f
fix: align gen operator I/O counts with Cycling '74 docs
katiewangmt Apr 3, 2026
629ac46
fix: handle case-insensitive filesystem for gen operator lookup
katiewangmt Apr 3, 2026
ac716b2
fix: correct I/O counts from Cycling '74 individual reference pages
katiewangmt Apr 3, 2026
80a9c28
fix: correct phasor, cartopol, poltocar I/O + add verification test
katiewangmt Apr 3, 2026
71e4db8
docs: add gen support verification results
katiewangmt Apr 3, 2026
3d94a7a
chore: clean up PR — remove planning docs, add generated example patches
katiewangmt Apr 3, 2026
27bf531
fix: skip Max-dependent tests in CI
katiewangmt Apr 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
265 changes: 265 additions & 0 deletions docs/gen_operator_comparison.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,265 @@
# Gen Operator Comparison: Local vs. Cycling '74 Online Docs

**Local operators:** 240
**Online operators:** 240
**In both:** 231
**Local only:** 9
**Online only:** 9

## Operators Found Only in Local Installation

- `&&`
- `<`
- `<=`
- `<=p`
- `<p`
- `>`
- `>=`
- `>=p`
- `>p`

## Operators Found Only in Online Docs

- `&amp;&amp;`
- `&gt;`
- `&gt;=`
- `&gt;=p`
- `&gt;p`
- `&lt;`
- `&lt;=`
- `&lt;=p`
- `&lt;p`

## Operators Found in Both Sources

- `!`
- `!%`
- `!-`
- `!/`
- `!=`
- `!=p`
- `%`
- `*`
- `*=`
- `+`
- `+=`
- `-`
- `/`
- `==`
- `==p`
- `?`
- `DEGTORAD`
- `E`
- `FFTFULLSPECT`
- `FFTHOP`
- `FFTOFFSET`
- `FFTSIZE`
- `HALFPI`
- `INVPI`
- `LN10`
- `LN2`
- `LOG10E`
- `LOG2E`
- `PHI`
- `PI`
- `Param`
- `RADTODEG`
- `SAMPLERATE`
- `SQRT1_2`
- `SQRT2`
- `TWOPI`
- `VECTORSIZE`
- `^^`
- `abs`
- `absdiff`
- `accum`
- `acos`
- `acosh`
- `add`
- `and`
- `asin`
- `asinh`
- `atan`
- `atan2`
- `atanh`
- `atodb`
- `bool`
- `buffer`
- `cartopol`
- `ceil`
- `cell`
- `change`
- `channels`
- `circle`
- `clamp`
- `clip`
- `concat`
- `cone`
- `constant`
- `cos`
- `cosh`
- `counter`
- `cross`
- `cycle`
- `cylinder`
- `data`
- `dbtoa`
- `dcblock`
- `degrees`
- `degtorad`
- `delay`
- `delta`
- `dim`
- `div`
- `dot`
- `e`
- `elapsed`
- `eq`
- `eqp`
- `exp`
- `exp2`
- `expr`
- `f`
- `faceforward`
- `fastcos`
- `fastexp`
- `fastpow`
- `fastsin`
- `fasttan`
- `fftfullspect`
- `ffthop`
- `fftinfo`
- `fftoffset`
- `fftsize`
- `fixdenorm`
- `fixnan`
- `float`
- `floor`
- `fold`
- `fract`
- `ftom`
- `gate`
- `gen`
- `gt`
- `gte`
- `gtep`
- `gtp`
- `halfpi`
- `history`
- `hsl2rgb`
- `hypot`
- `i`
- `in`
- `int`
- `interp`
- `invpi`
- `isdenorm`
- `isnan`
- `latch`
- `length`
- `ln`
- `ln10`
- `ln2`
- `log`
- `log10`
- `log10e`
- `log2`
- `log2e`
- `lookup`
- `lt`
- `lte`
- `ltep`
- `ltp`
- `max`
- `maximum`
- `mc_channel`
- `mc_channelcount`
- `min`
- `minimum`
- `mix`
- `mod`
- `mstosamps`
- `mtof`
- `mul`
- `mulequals`
- `nearest`
- `nearestpix`
- `neg`
- `neq`
- `neqp`
- `noise`
- `norm`
- `normalize`
- `not`
- `or`
- `out`
- `param`
- `pass`
- `peek`
- `phasewrap`
- `phasor`
- `phi`
- `pi`
- `plane`
- `plusequals`
- `poke`
- `poltocar`
- `pow`
- `qconj`
- `qmul`
- `qrot`
- `r`
- `radians`
- `radtodeg`
- `rate`
- `rdiv`
- `receive`
- `reflect`
- `refract`
- `rgb2hsl`
- `rmod`
- `rotor`
- `round`
- `rsub`
- `s`
- `sah`
- `sample`
- `samplepix`
- `samplerate`
- `sampstoms`
- `scale`
- `selector`
- `send`
- `setparam`
- `sign`
- `sin`
- `sinh`
- `slide`
- `smoothstep`
- `snorm`
- `sphere`
- `splat`
- `sqrt`
- `sqrt1_2`
- `sqrt2`
- `step`
- `sub`
- `switch`
- `swiz`
- `t60`
- `t60time`
- `tan`
- `tanh`
- `torus`
- `train`
- `triangle`
- `trunc`
- `twopi`
- `vec`
- `vectorsize`
- `voice`
- `voicecount`
- `wave`
- `wrap`
- `xor`
- `||`
Loading
Loading