From:
                                                            7/28/97 11:00 PM
Subject: MAX Digest - 27 Jul 1997 to 28 Jul
1997To: Recipients of MAX digests 

There are 9 messages totalling 302 lines in this issue.

Topics of the day:

  1. Some programming questions...
  2. Tracing problems
  3. Trace
  4. (1) tracing problems (2) semi, bi, etc
  5. bi-annual / bienneal (2)
  6. =?ISO-8859-1?Q?=80_error:_inlet_method_out_of_range ?=
  7. freeobject:xxxxxxxx:bad object?
  8. send and receive
  9. Can a window know when it is open?

----------------------------------------------------------------------

Date:    Sun, 27 Jul 1997 22:41:53 -0700
From:    David Zicarelli 
Subject: Re: Some programming questions...

Jean Piche  writes:

>We are developping a program/object called "Drummer" which is a lot of
>fun. The object is self-sufficient and lives in its own world, a la
>detonate. We are quite advanced but are encountering some puzzling
>difficulties.

>1- We have a pop-up menu in a window. The first two menu items dont get
>selected properly. A number is returned that has to be changed by hand
>by adding 2... Is it possible to obtain the sources for a MDEF
>procedure? This would allow us to use 9-point characters (as in the
>detonate object)...

In detonate I don't use a custom MDEF, rather I use some hack that
I found in an Apple tech note that works some of the time (often
the menus are 12-point for no reason I can determine). Here's a
function you can call with two variables set to the desired font and
size. Call this before you call InsertMenu and PopUpMenuSelect and
then again with what it returns before DeleteMenu.

void setsysfont(short *font, short *size)
{
  short tempfont,tempsize;

  tempfont = *font;
  tempsize = *size;
  *font = LMGetSysFontFam();
  *size = LMGetSysFontSize();
  LMSetSysFontFam(tempfont);
  LMSetSysFontSize(tempsize);
  LMSetLastSPExtra(-1L);
}

>2- Has anyone used the Drag-and-Drop Manager within Max? If so, how?
>This would allow to easily transport data from one instance to
>another...

There shouldn't be any problem doing this; drag-and-drop is independent
of anything the application does or doesn't do. Just follow some
example code Apple provides.

>4- Our goal is to make a standard dbl-clickable application. For
>example, when "New..." under File is selected, a new instance of our
>object would be created instead of opening a new empty patcher. I
>suppose this brings up the question of whether Max is an appropriate way
>of designing standard Macintosh apps... What we have now, unless there
>is a way we are not aware, is really a program within a program and to
>the user, this can lead to undesirable confusion ...

I suspect you'll get into trouble trying to take over the menu bar in
Max. You might, as an alternative, use the quasi-Windows style of
having a menu "bar" that appears below the title bar of your window,
or you could do what Vision does and have some kind of icon in the
title bar of the window (a la the Max lock icon) that, when you
click on it, brings down a menu.

David Z.

------------------------------

Date:    Mon, 28 Jul 1997 08:58:45 +0200
From:    Roby Steinmetzer 
Subject: Re: Tracing problems

>I'm having no luck accessing any of the TRACE menu items. I turn off
>Overdrive, but the menu items under TRACE remain greyed out. This is
>particularly perplexing because I have ONCE been able to access the TRACE
>commands and do a step through--but only once.
>
>What am I doing wrong? (I'm running MAX 3.0 on a 7100/66AV)
>

If I remember well, there is a bug in 3.0.
I think you have to turn off Overdrive, save your patch, close it and reopen
it
 again.
This should enable the trace menu.

Roby Steinmetzer
Luxembourg, Europe

------------------------------

Date:    Mon, 28 Jul 1997 03:20:19 EDT
From:    Roland Hemming <100414.2220@COMPUSERVE.COM>
Subject: Trace

There is a bug in 3.0 where you can't access trace even if you turn
overdrive
off. What you must do is turn overdrive off, quit MAX, restart MAX and then
you
can trace.

Alternatively you can upgrade to 3.5

If you ever get bored try using trace in a patcher where an 'active' object
sends a number to another window...

Roland

------------------------------

Date:    Mon, 28 Jul 1997 10:12:15 +0200
From:    Dominique David 
Subject: Re: (1) tracing problems (2) semi, bi, etc

Hello

C. Todd Robbins wrote yesterday:

> I'm having no luck accessing any of the TRACE menu items. I turn off
> Overdrive, but the menu items under TRACE remain greyed out. This is
> particularly perplexing because I have ONCE been able to access the TRACE
> commands and do a step through--but only once.
>
> What am I doing wrong? (I'm running MAX 3.0 on a 7100/66AV)

I don't know if the problem has been adressed here, but I encountred it when
working with MAX 3.0. As far as I remember, in order to access TRACE mode, I
turned "overdrive" OFF and quit MAX (after savimg my patch!) and re-launched
MAX, and TRACE was OK. Not very comfortable but...

This has been fixed in MAX 3.5

> semi, bi, hebdo ...

Merveilleux! I am now learning french (and Latin) from the MAX forum. Sure
you
are right, Chris: "hebdomadaire" means seven-daily, I never noticed it. So
this
suggests to use "tetradecamadaire" in place of the confusing
"bi-hebdomadaire".
And finally, we can perhaps suggest to IRCAM to announce an

"unocento-octodeca-duo-daire" CD-ROM

(well, this is surely not exactely right: I don't know the exact translation
of
182 into Latin).

But the definitive advantage of such a formulation, is that it is no longer
confusing, since - as far as I know - we do not expect from IRCAM a new
CD-ROM
182-times-a-day. So, it becomes clear for everyone that the CD-ROM comes
every
182 days.

However, what is more important? Definitely avoiding such confusion, or
having
so fresh and regenerating discussions on the MAX forum?

Dominique David
dominique.david@cea.fr

------------------------------

Date:    Mon, 28 Jul 1997 08:55:14 +0100
From:    Josh Mailman 
Subject: bi-annual / bienneal (2)

>On  Sat, 26 Jul 1997 21:40:37 +0200   dudas  wrote:
>
>>I shoulda just said it that way.  Which is which? (bi-annual / bienneal)
>>I'm always getting the two messed up anyway
>
>Well, this goes to show how screwed up the English language can be:
>
>My Webster's Ninth defines "biannual" as "occurring twice a year" (so you
>were right), BUT it also defines it secondarily as equivalent to "biennial"
>which means "occurring every two years" (so I was also right to be
>confused).
>
>Also, "bimonthly" can mean either "every two months" or "twice a month,"
>and "biweekly" can mean "every two weeks" or "twice a week."

What about "semiannual"?  Doesn't that unambiguously mean twice a year?

------------------
Josh Mailman
jmailman@panix.com

------------------------------

Date:    Mon, 28 Jul 1997 11:02:33 -0400
From:    pseudo 
Subject: =?ISO-8859-1?Q?=80_error:_inlet_method_out_of_range ?=

I've been working on a number of Fat externals on a PPC.  They work =
fine on a PPC machine, but when I try to use them on a 68k machine I =
get errors whenever I try to create additional inlets.

=80 error: inlet method out of range

I cannot for the life of me figure out what I'm doing different than =
the example externals which do work fine on either platform.

Has anybody else encountered this problem and knows the solution?

[fletcher]

------------------------------

Date:    Mon, 28 Jul 1997 11:01:29 -0500
From:    "M. Abidh Waugh" 
Subject: freeobject:xxxxxxxx:bad object?

Greetings Max Enthusiasts:

I am reposting this message with the hope that one of the many max pros who
may read it may be so kind as to offer me some advice.

        One of my recent patches is provoking max to tell me messages like
the following : 'freeobject 1809e78: bad object'.   and then causing the
system to freeze up.  I have been looking over the patch to make sure there
is nothing obviously causing this problem and can't find anything. [it's a
patch which alternates pre-composed material which has been stored as lists
in a coll object, with continuously evolving mutations of itself (swapping
pitches for pitches from arrays of rows, and changing the rhythm by
performing mathmatical operations on the original rhytmic values) - a total
of 4 coll objects are used to juggle these various components.

        If anyone has any suggestions about ways to trouble shoot this
problem please email me.    What does the 'freeobject...' message tell us
about the nature of the problem?

        I am worried that I may have crossed the line into excessive
complexity for max to handle,  so perhaps this will be an incentive for me
to learn C faster.  Although, for most of the operations that I am
attempting,  the existing max objects work wonderfully, so I can't imagine
how any objects that I might conceive of would handle this type of
processing better than the built in ones.

        On a somewhat related issue:  I recently installed the academic
version of codewarrior which was reccommended by D. Zicarrelli, et. al. ,
.    Does the debugging program that came with the compiler hold any
benifits for use with max.  Often times when max has behaved as I mentioned
above, the debugger will appear.  The two commands that I have stumbled
upon (es & rb) sometimes do something,  and I haven't taken the time to
study the items that are described when the help command is entered.   Any
comments about this?  Does anyone know of particular literature on this
topic?

Salaams,

M. Abidh Waugh

------------------------------

Date:    Mon, 28 Jul 1997 20:59:07 +0200
From:    Oeyvind Brandtsegg 
Subject: send and receive

Hi dear Maxers

I'm a newbie maxer, but I feel that max is very much worth the effort of =
learning it. Wonderful tool. Anyway, in one of my first more complex=20
patches I came across something that I can't find any documentation of. I=
 had a lot of cables running in sort of a spagetti manner, and tried=20
to clean things up using several send and receives. The strange thing to =
me is that receive objects with the same argument (name) received=20
signals in a LEFT-TO-RIGHT order. This caused me a lot of trouble since I=
 couldn't conceive what was wrong with my patch. Finally, thanks to=20
Trace I found it. But still I don't understand it. Is this a consistent b=
ehavior?=20
Thanks

=D8yvind Brandtsegg - Electric Vibes / Composition
Trondheim, Norway
mailto:obrandts@sn.no

------------------------------

Date:    Tue, 29 Jul 1997 08:27:51 +1000
From:    David Rodger 
Subject: Can a window know when it is open?

Hello MAXers,
a little problem, whose solution is not essential.  It would just make a
nice touch, and I know that most of you are aesthetes and like such things!

Can a window know when it is open?  I have a p MyObject in a patch which I'd
like to be able to double click and simultaneously have p MySecondObject
open as well as p MyObject.  This would be a bit liek some of the help
files,
except that my p's are already loaded, so a loadbang wouldn't work.

Using active won't work either, because it only signals when an already open
window is in the foreground.  If I use it to send an open (via pcontrol) to
p MySecondObject, the latter opens OK.  But if I then click on MyObject's
window, it becomes active and immediately activates MySecondObject.  The
result: I can't close either of them!

It would be very fine if there were an object like thispatcher which
indicated whether an object or patcher's window were open (whether in the
foreground or background).  e.g. emit a 1 when it is opened, and a 0 when
it is closed.  I couldn't find a way of doing this.

As I said, it's not essential, just nice.

Thanks for your thoughts,
David
musdr@lure.latrobe.edu.au
http://farben.latrobe.edu.au/d_rodger/

------------------------------

End of MAX Digest - 27 Jul 1997 to 28 Jul 1997
**********************************************