Subject: MAX Digest - 14 Jun 1998 to 15 Jun 1998
Date: Tue, 16 Jun 1998 00:01:06 -0400
From: Automatic digest processor 
Reply-To: MAX - interactive music/multimedia standard environments
     
To: Recipients of MAX digests 

There are 8 messages totalling 314 lines in this issue.

Topics of the day:

  1. Essl returned mail
  2. MAX object list?
  3. midi via scsi
  4. error question (4)
  5. Mac OS 8.0 compatible Key disk (was: error question)

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

Date:    Mon, 15 Jun 1998 08:25:41 +0200
From:    "Dr. Karlheinz Essl" 
Subject: Re: Essl returned mail

Dear MAXers!

Please excuse this off-topic...

Amy Knoles and several other musicians that were attempting to send emails
via earthlink.net to me reported that their emails got bounced.

Yesterday I found out that - due to a draconic anti-spam policy - my
Internet provider does not accept emails sent form earthlink.net.

Fortunately, I have another email account at the SAMT studio which I have
to activate. I'll tell you the alternative email address as soos as it
works.

Cheers,

   Dr. Karlheinz Essl - Composer
   Vienna / Austria
   Studio for Advanced Music & Media Technology
   http://www.essl.at/

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

Date:    Mon, 15 Jun 1998 01:00:18 -0700
From:    David Zicarelli 
Subject: Re: MAX object list?

Trond & Laila Linde Lossius  writes:

>This brings up a related issue: There should be a way to extend the
>number of categories in the object list, e.g. to include categories for
>MSP objects. Apparently this is not possible to do, or do anyone know a
>way around???

This information has been posted to the list several times. Here it
is again:

To add categories to the Max Object List, do the following. Due
to the way the internal Max objects work, you need to add the
category to the end of the list. In other words, in must be
alphabetically after "Timeline."

1. ResEdit the STR# resource 7000 in Max. Append the category
name to the end of the string.
2. Add a new STR# resource. Number it 7017 (or one higher, when
adding an additional category). Put one of the objects you'll
be adding via the Max Object List in the string.
3. Save Max and quit ResEdit.
4. Now you can add items in the new category to the Max Object
List file. For example, if the category name is ZMSP, you can
put

ZMSP    cycle~

into the Max Object List. Note that a single tab character must
occur between the category name and the object name.

If you just want to add objects to categories that already
exist, you don't need to do any ResEditing of Max. Just add them to
the Max Object List.

>By the way: Max 3.5.9 can be downloaded from
>
>http://www.opcode.com/
>
>(seperate OS 7.x and OS8 versions). You got to be aware that (at least
>with OS 7.x) the 3.8 authorization doesn't work with 3.9: You have to
>insert the floppy disc each time (or order a new authorization disc for
>3.9).

No! No one at Opcode, even after repeated complaints on my part,
will change these stupid and misleading filenames. Let me repeat: the
Sys7 and Sys8 filenames have *nothing* to do with operating systems
but refer to different versions of the copy protection that
were used on different key disks. So, if you have a 3.5 or 3.5.1
key disk, download the Sys7 version. If you have a 3.5.8 or
3.5.9 key disk, download the Sys8 version. It doesn't matter
what system you're using.

David Z.

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

Date:    Mon, 15 Jun 1998 20:21:53 +1000
From:    "Sensor E. Overlobe" 
Subject: midi via scsi

is there an object to send midi (sysex) via scsi?

tia

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

Date:    Mon, 15 Jun 1998 10:42:21 -0000
From:    Nick Rothwell 
Subject: Re: error question

> This patcher also generates long lists. Even though I'm keeping >
>  them under 256 members, could I be over-filing some sort of memory
>  buffer?

Yes, in short. There's a limited amount of memory available for new
data objects at each interrupt-level call (i.e. overdrive) - 64K, I
think? - and more seriously, the amount you can claim as a single
vector is limited (512 bytes, as I recall). 256 longs, or (Symbol or
Atom) pointers is more than 512 bytes.

--
        Nick Rothwell, CASSIEL            contemporary dance projects
        http://www.cassiel.com            music synthesis and control

        NOTICE - this vessel has triple screws - keep clear of blades

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

Date:    Mon, 15 Jun 1998 12:50:26 +0200
From:    Peter Castine 
Subject: Re: error question

On Sun, 14 Jun 1998 16:14:41 -0400 Ed Hartley
 asked:
>In a patcher that generates a lot of data at once, I'm getting the
following
> error
>message:"check failed:t_newptr in overdrive," Can someone shed some light
on
> what's
>happening here?

Sounds like object in your Patcher (more likely: lots of objects) is
trying to allocate more memory than is currently available.

Since the normal Mac memory allocations are not safe at interrupt time
(i.e., the sort of state your computer is likely to be in when Max is in
Overdrive), Max provides its own memory allocation routines that are
"interrupt-safe", maintaining a moderate pool of memory for this purpose.
The pool is enlarged as necessary at non-interrupt time, but if too many
objects try to allocate too much memory in too close succession, you're
outa luck.

You write that you're generating lists with 256 elements. Symbols,
floats, or ints? I think even 256 Symbols ought to be OK (need to check
the developer docs, where you can work out how much memory a single
Symbol allocation requires and how big the memory pool for newptr() is).
But if you generate a couple of long lists before Max gets a chance to
grab more memory, well, things could get tight.

I don't know any way to ask Max to maintain a bigger buffer for the
newptr() routine. Perhaps David Z. knows some (probably evil) hack.

Cheers,

Peter

---------------- http://www.prz.tu-berlin.de/~pcastine/ ----------------
Dr. Peter Castine           | I would put him over my knee, give him
pcastine@prz.tu-berlin.de   | twenty-five of the best, and make him
                            | promise to keep his mouth shut and stick to
                            | writing music        (Schoenberg on Eisler)

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

Date:    Mon, 15 Jun 1998 12:51:46 -0400
From:    Stephen Kay 
Subject: Re: error question

>>In a patcher that generates a lot of data at once, I'm getting the
following
>> error message:"check failed:t_newptr in overdrive,"

>You write that you're generating lists with 256 elements. Symbols,
>floats, or ints? I think even 256 Symbols ought to be OK (need to check
>the developer docs, where you can work out how much memory a single
>Symbol allocation requires and how big the memory pool for newptr() is).=

Many typical Max objects create lists as an array of Atoms. An Atom
is a structure which contains 2 Bytes to define what type the data
is (i.e. int, float, symbol) and a union which can hold *either* an
int, float, or symbol. From "ext_mess.h":

typedef struct atom             =

{
        short a_type;           =

        union word a_w;
} t_atom, Atom;

union word              =

{
        long w_long;
        float w_float;
        struct symbol *w_sym;
        struct object *w_obj;
};

Using a post("Atom size =3D %ld", sizeof(Atom)), one can determine that
an Atom takes 6 Bytes. Therefore, a list of 256 atoms will occupy
1536 Bytes.

Not to neccessarily worry: most Max objects allocate an array of
memory equal to the largest possible list size upon creation; therefore,
repeated generations of large lists does not cause any allocation
of memory.  But some Max objects allocate memory on the fly, using
"get_bytes" and "free_bytes", and if done at interrupt level, may
cause the dreaded "t_newptr" error.

Are you using only generic Max objects, or some custom ones from
3rd part providers?

Stephen Kay

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

Date:    Mon, 15 Jun 1998 10:34:54 -0700
From:    Peter Elsea 
Subject: error question

>In a patcher that generates a lot of data at once, I'm getting the
following
> error
>message:"check failed:t_newptr in overdrive," Can someone shed some light
on
> what's
>happening here?

This seems to happen when you set message boxes with lists longer than 63
items- it is also dependent in some weird way on what object is doing the
feeding- If I send 64 items into Lcatch then to prepend set and a message,
the error will occur, if I send the same items via Lchunk 64, the error
does not occur.
This situation is true even if I use a switch to choose which source is
feeding the message (so all objects are working on the data). Lchunk and
Lcatch have nearly identical code- the only difference is that Lcatch
invokes a clock_set. Apparently, the clock routine and the deferred
graphics (in overdrive all writes to the screen are put off) are
interacting at some subterranian level (thresh has the same effect.) In
point of fact the proper message gets written, there's just the perplexing
error.

>I am receiving the error: PowerPC version can't read old format files
>...and there are no old format files to be found. A couple patchers have
>already refused to re-open so I really need to get this fixed asap.
>what to do?

Open the old version file in Max68k (If it's not on your drive, go back to
the install disc and chose custom install.) Then Save As...  checking new
format.

>(seperate OS 7.x and OS8 versions). You got to be aware that (at least
>with OS 7.x) the 3.8 authorization doesn't work with 3.9: You have to
>insert the floppy disc each time (or order a new authorization disc for
>3.9).
More precisely, you have to match the CP scheme you got with your original
set- If you purchased before Fall 98, use the OS7 version. Sometime after
that, they started shipping keydiscs that were supposed to work with System
8. It's probably a good idea to order the new authorization disc even if
you have an old one that does work on system 8- you'll loose when you go to
8.1.

>>I wonder whether anyone has made a full list and is using it, or whether
>>anyone is working with alternative lists of objects.
>
>This brings up a related issue: There should be a way to extend the
>number of categories in the object list, e.g. to include categories for
>MSP objects. Apparently this is not possible to do, or do anyone know a
>way around???

A couple of months ago, David Z posted a how to for adding categories.
Since it involves ResEditing the Max application, it is not for the faint
of heart. It should be on the archive by now. As for a complete list,
everyone accumulates their own set of objects, so nothing is "standard".
After you've learned the basics, the list is really hinderance, and you'll
want to turn it off. A printout of the extensions folder pinned to the wall
is about as useful.

Peter Elsea
Electronic Music Studios
University of California, Santa Cruz
http://arts.ucsc.edu/EMS/Music/index.html
 elsea@cats.ucsc.edu

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

Date:    Mon, 15 Jun 1998 11:58:48 -0700
From:    Simon Gatrall 
Subject: Re: Mac OS 8.0 compatible Key disk (was: error question)

On Mon, 15 Jun 1998, Peter Elsea wrote:

> >(seperate OS 7.x and OS8 versions). You got to be aware that (at least
> >with OS 7.x) the 3.8 authorization doesn't work with 3.9: You have to
> >insert the floppy disc each time (or order a new authorization disc for
> >3.9).
> More precisely, you have to match the CP scheme you got with your original
> set- If you purchased before Fall 98, use the OS7 version. Sometime after
> that, they started shipping keydiscs that were supposed to work with
System
> 8. It's probably a good idea to order the new authorization disc even if
> you have an old one that does work on system 8- you'll loose when you go
to
> 8.1.

Another reminder, Opcode will charge you $15 for the priviledge of
upgrading to System 8.0.

-s!mon

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

End of MAX Digest - 14 Jun 1998 to 15 Jun 1998
**********************************************