4/28/97 11:00 PM
Subject: MAX Digest - 27 Apr 1997 to 28 Apr
1997To: Recipients of MAX digests 

There are 6 messages totalling 273 lines in this issue.

Topics of the day:

  1. wishes for MAX 3.5.2 (2)
  2. Learning C++
  3. MAX Digest - 7 Apr 1997 to 8 Apr 1997
  4. K-) Peter's questions...
  5. An apology on going back to go forward...


Date:    Mon, 28 Apr 1997 19:23:20 +0200
From:    Jeffrey Burns 
Subject: wishes for MAX 3.5.2

David Z. is certainly magnanimous in his approch to this digest, and I
agree with all those who have praised him recently. Since he has said he is
doing some corrections, here are a few more problems and ideas:

bag and sustain: When I play a chord, press the sustaining pedal, re-play
the chord and lift the pedal while holding the chord down, bag thinks that
the chord has been released, although it hasn't.

bag and minimum: The manual says "The value stored in minimum is replaced
by the next smallest value in the list." This works on lists coming from
bag via thresh only if they have been previously run through sort.
Otherwise the value stored in minimum is unpredictable. I suppose maximum
works similarly.

movie: How about adding arguments to position the movie window and knock
off its title bar, just as is possible with the graphic window? (Peter
Castine is presently working on this for me.)

; max: How about making a message to turn on and off overdrive from within
a patcher?

OMS: David Z. has recently claimed that the best way to communicate between
two machines using MAX is MIDI using 2 interfaces. MIDI may not be a
bottleneck, but OMS seems to be - at least, I found that drawing functions
in MAX 3.0 worked faster if I turned off OMS and used the built-in MIDI
driver. Is there any way of optimizing OMS to overcome this slowdown?



Date:    Mon, 28 Apr 1997 13:19:19 -0500
From:    "Brian K. Shepard" 
Subject: Learning C++

Greetings fellow MAXers,

I have been using MAX for a couple of years now and would like to take it
further by creating my own objects.  From monitoring this list it seems
that most people seem to suggest using C++.  Is this the best language to
use?  If so, is there a particular version or compiler that seems to work
best?  Learning to do this is one of my summer projects, so any advice
would be greatly appreciated.  Thanks.


Dr. Brian K. Shepard
University of Oklahoma
School of Music


Date:    Mon, 28 Apr 1997 18:13:52 +0100
From:    "K-) Peter" 
Subject: Re: MAX Digest - 7 Apr 1997 to 8 Apr 1997

After several hours I found some things in the manual however....

This is all with V3.0 Opcode Max.

0) I found the custom Mac menu object but this didn't seem to appear in
the final compiled program as a menu - instead still an object. It still
said about Maxplay :-(((

1) I understand I can set the path of the folder object but is there a
way to get that path GRAPHICALY from a load/save dialogue box, as I
don't want to second guess what the users CD-ROM might be named for
instance ?

2) Also despite the book saying that the menu object can output a TEXT
version out the right outlet (from said folder object), nothing seems to
come out of it at all. The left output is fine, but it is just a number.
Any ideas ?

3) The Poly object is still giving me severe relaibilty grief so I await
reading any comments, but in the meantime, is there any other way of
splitting a chord input into a separate event list so that I can process
each one separately ? Of course whats a chord - that might need setting
in time interval too :-(

4) I guess I'm thick but I had a lot of trouble remembering a sequence
of keyboard characters form key, and just triggering them out again in
the same sequential order. My current solution uses a COLL object and
counters, but this seems like a hammer cracking a nut. Any other easy
ideas ? I've tried CAPTURE and TEXT but these then send it out too
quickly as a single list, rather than elements. I'm obviously missing
something very basic about making and breaking lists but neither pack or
unpack seem the right way round for what I need. I'd really just like a
PIPE object that delayed each element and not ignored the inbetween
ones. I guess it's a TABLE but I'm having problems with those :-(

5) I'll get past chapter 29 soon so I'll stop asking so many stupid
questions. Till then I humbly request your patience and help ;-)

6) If anyone wants to start a magazine subscription club or a custom
patcher programming object service I guess I'd subscribe money ;-)



Date:    Mon, 28 Apr 1997 16:04:29 EDT
From:    Tom Ritchford 
Subject: Re: K-) Peter's questions...

    If you use a specific subject instead of the not-so-informative
Re: MAX Digest - 7 Apr 1997 to 8 Apr 1997 then it's easier to keep
track of the responses!

>2) Also despite the book saying that the menu object can output a TEXT
>version out the right outlet (from said folder object), nothing seems to
>come out of it at all. The left output is fine, but it is just a number.
>Any ideas ?

Look at the dialog you get when you perform Command-I on
a menu object.  There's a switch in the lower right corner
that says something like "Output as Text" and you need to
turn this on.  (I don't have Max right here...)


Tom Ritchford              

    Verge's "Little Idiot" -- Music for the mentally peculiar.


Date:    Mon, 28 Apr 1997 17:33:22 -0700
From:    Issac Roth 
Subject: Re: wishes for MAX 3.5.2

> ; max: How about making a message to turn on and off overdrive from within
> a patcher?

This is already available, although unsupported. I remember David Z. telling
us how to do this before.

Here are some extracts from past messages from David Z:

On Fri, 17 May 1996, David Zicarelli wrote:

> 3) This is a dangerous and unsupported secret feature. Put the
> following in a message box: "; max preempt 0" (without the quotes)
> to turn overdrive off and "; max preempt 1" to turn it on. This
> won't update the Options menu properly, it's not designed to be used
> while a lot of stuff is going on, and if it doesn't work for you, I'm
> not going to fix it.

And the followup was this list:

On Wed, 10 Jul 1996, David Zicarelli wrote:

> Nick Longo <71477.2332@COMPUSERVE.COM> writes:
> >>You can turn overdrive on and off by send a message to MAX itself.
> >What other messages can you send to MAX itself?
> Here's the list:
> v2 -- this message is sent at the beginning of every file saying that
> the version of the file is 2. It does nothing. However, if you
> have a message other than v2 and not one of the messages listed
> below (which is actually a bug I guess--these messages should be
> disallowed too), MAX will complain and not read in the file.
> bpatcher N -- sets whether bpatcher pop-up menus are allowed (yes =
> no = zero). They're allowed by default. This is the same as the "bpatcher
> Pop Up Menu" checkbox in the installer dialog.
> clock N -- If N is non-zero, set the current logical time to N. The effect
> of this is unclear. It could lose tasks in the scheduler if you set the
> to something less than what it was. But how do you find out what the
> current time is anyway? (See below.)
> counter/reset -- I'm not sure if this still works, but I used to use
> and "reset" as a way to find memory leaks. counter shows the total
> of bytes allocated using getbytes and the total number of bytes
> freed with freebytes. So, for instance: load a patcher, make a new
> patcher, put the counter and reset messages in it, close the other
> patcher, hit reset, open it again, then close it, hit counter. The
> getbytes and freebytes total should be equal. If they're not, you (or
> I, if it's not your external object in the patcher) have a memory leak.
> install  -- Installs an external from a file in the search path
> or from an open collective.
> debug N -- set the variable "max_debug" to N. Also reports the current
> time. When max_debug is non-zero, more things print out in the MAX
> window. However, what all these messages mean is something I don't want
> to get into.
> symcount -- report the number of symbols in the symbol table
> dump -- print out the current contents of the scheduler
> goto M D Y -- translate a date into a hex number that represents the
> number of seconds since 1904.
> pupdate X Y -- move the mouse to X,Y in global coordinates.
> preempt N -- Turn overdrive on and off.
> By publicizing this list, I am not saying these are "features"
> of the program, nor am I promising to support them or even
> keep these behaviors around in subsequent versions.
> David Z.
> PS - there's no way to quit MAX from a MAX patch, unless someone
> wrote an object to send a "quit application" Apple event to MAX.

Hope this helps,



Date:    Mon, 28 Apr 1997 18:43:26 PDT
From:    "Patrick T. Rost" 
Subject: An apology on going back to go forward...

I wish to apologize for my over-zealous postings.  I didn't mean to offend
you or anyone on the list but in a hastily written message I'm afraid i
did.  Maybe if I explain my  situation you'll understand better my
motivation behind my remarks, which I now regret having made.

As a recent college graduate, I was lucky enough to be introduced to Max
for the Macintosh through my curriculum.  I quickly latched on to it,
finding it to be THE best application for making the music that I wanted
to.  Since I am still living in the hand-to-mouth stage of early career
existence, I am forced to keep
the costs on my studio low, without sacrificing functionality and quality.
Max not only allows me to do this, but to do it portably and inexpensively
with a small investment in a PowerBook100.  Although I have had many
before with v3.0, and to a lesser extent 3.5, I have been running 2.5.2
stably on my '100.  I have even begun to use it for applications for live
shows as well as studio work.  Unfortunately, I do can't afford a more
expensive PowerBook in the near future, but at the same time I'm trying to
continue my foray into further performances outside my own studio.  Being
an idealistic believer that music technology should accessible to private,
independent users (like me who don't have much money for gear), I'm always
looking to accomplish as much as possible for the least cost. But I guess I
need to accept the fact that if I'm going to use inexpensive, sometimes
obsolete equipment, its probably not realistic to think that new software
functionality will always be made backwards compatible for old computers.

I should clarify that my views were my own, and in no way representative of
anyone else or my department.  I have been known to be quite stubborn (and
not very tactful) and unfortunately my comment to you was a result.

I am grateful for the work and improvements that I know you are responsible
for in the develpment and support of Max.  I did not really mean that you
were in any way unethical, or lacking in integrity.  I am truly sorry that
I offended you. I also wish to apologize to amyone on the list who was also
offended.  I am thorougly enthralled with Max (just ask my fiance) and hope
that it will remain with your help the superior program it is.

With all sincerety,
Patrick T. Rost


End of MAX Digest - 27 Apr 1997 to 28 Apr 1997