Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 551377
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T11:23:14+00:00 2026-05-13T11:23:14+00:00

I am considering audio and MIDI application in Max (or Max for Live, really),

  • 0

I am considering audio and MIDI application in Max (or Max for Live, really), but I am totally comfortable in Java, so something like this also seems attractive. Does anybody have any experience with Max? Is it really geared to people who do not code, or is the goofy/friendly looking UI much more efficient than writing straight code in, say, Java? Also, has anyone wrote a VST plugin in Java, and can share any experiences there?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T11:23:15+00:00Added an answer on May 13, 2026 at 11:23 am

    Max is a dataflow language. I am more familiar with PD, which is by the same author.

    The advantage of dataflow as a programming style is that most data dependencies are explicit – you can literally follow the connections between subroutines visually, and they are usually displayed as a line on the screen between them. The difficulty is that order of operations is less explicit, because it is two dimensional in layout, rather than one dimensional as textual code would be.

    I do most of my audio stuff in supercollider nowadays, but for a quick sketch of an audio idea, and building a working rough model, pd works great.

    The main difficulty of programming in a visual dataflow language is comprehending order of operations. It is possible to create multiple connections from one outlet, but it behooves you to create an explicit [trigger] object to control which of those connections runs first (a line coming from an outlet is conceptually the same as a subroutine call). Also there is a difficulty with experienced programmers with getting used to anonymous parameters – the patching lines have no names, they just have the outlet they are coming from and the inlet they are connected to to identify them.

    Another tip is to use encapsulation – in a textual language you would have a library or a class file, in Max or PD you can load an external patch file by name – so you create a small patch with some outlets and inlets, and use that from your other patch in multiple places, rather than copying and pasting (just like you would call functions rather than copying and pasting blocks of code).

    [send] and [receive] are for globally setting / getting data, and have all the same problems that come with globals – a common workaround when they are needed is to prepend a unique identifier specific to the current subpatch, the $0 token evaluates to the unique ID of the current subpatch in object names / parameters, and is used for this purpose. This simulates a scoped variable.

    Debugging in dataflow is excellent, because it is very easy to detach a set of items from their surrounding patch and run them independently, and turning on trace for a part of the flow is as easy as attaching a number box to an outlet.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Considering this code, can I be absolutely sure that the finally block always executes,
Considering you have an MVVM Architecture in WPF like Josh Smith's examples How would
I've been reading up on some of the iPhone audio services in considering an
I am considering an app which takes sound (eventually an audio track) and applies
Is Java a suitable alternative to C / C++ for realtime audio processing? I
Considering such code: class ToBeTested { public: void doForEach() { for (vector<Contained>::iterator it =
Considering private is the default access modifier for class Members, why is the keyword
Considering the following architecture: a base object 'Entity' a derived object 'Entry:Base' and a
Considering the criteria listed below, which of Python, Groovy or Ruby would you use?
Considering a large system with hundreds of assemblies, what is the easiest way to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.