java - Max for Live vs. JVAP Tools -


i considering audio , midi application in max (or max live, really), totally comfortable in java, something seems attractive. have experience max? geared people not code, or goofy/friendly looking ui more efficient writing straight code in, say, java? also, has wrote vst plugin in java, , can share experiences there?

max dataflow language. more familiar pd, same author.

the advantage of dataflow programming style data dependencies explicit - can literally follow connections between subroutines visually, , displayed line on screen between them. difficulty order of operations less explicit, because 2 dimensional in layout, rather 1 dimensional textual code be.

i of audio stuff in supercollider nowadays, quick sketch of audio idea, , building working rough model, pd works great.

the main difficulty of programming in visual dataflow language comprehending order of operations. possible create multiple connections 1 outlet, behooves create explicit [trigger] object control of connections runs first (a line coming outlet conceptually same subroutine call). there difficulty experienced programmers getting used anonymous parameters - patching lines have no names, have outlet coming , inlet connected to identify them.

another tip use encapsulation - in textual language have library or class file, in max or pd can load external patch file name - create small patch outlets , inlets, , use other patch in multiple places, rather copying , pasting (just call functions rather copying , pasting blocks of code).

[send] , [receive] globally setting / getting data, , have same problems come globals - common workaround when needed prepend unique identifier specific current subpatch, $0 token evaluates unique id of current subpatch in object names / parameters, , used purpose. simulates scoped variable.

debugging in dataflow excellent, because easy detach set of items surrounding patch , run them independently, , turning on trace part of flow easy attaching number box outlet.


Comments

Popular posts from this blog

unicode - Are email addresses allowed to contain non-alphanumeric characters? -

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -