[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

QuickTime Examples


   From: Peter Forster <Forster@informatik.uni-stuttgart.de>
   Date: Mon, 17 Feb 92 16:21:02 +0100

   But no luck. The only thing I got is the error message, that
   the trap #_Gestalt is unimplemted.

   ;;;try to compile QTSample.lisp
   ? (require :movies)
   ;Compiling "QTSample.lisp"...
   > Error: Can't find the trap #_GESTALT! Consider (reindex-interfaces)
   > While executing: CCL::LOAD-TRAP
   > Type Command-/ to continue, Command-. to abort.
   > If continued: pretend nothing happenned.
   See the Restarts... menu item for further choices.
   1 > 

Because #_Gestalt in GestaltEqu.lisp is commented out.

#| Not in ROM
(deftrap _gestalt ((selector :ostype) (response (:pointer :signed-long)))
   (:stack :signed-integer)
   (:stack-trap #x0))

And this is bill@cambrige.apple.com's comment posted to info-macl before.

    Return-Path: <bill@cambridge.apple.com>
    From: Bill St. Clair <bill@cambridge.apple.com>
    To: cdj@tc.pw.com (Cris Johnson)
    Cc: info-macl@cambridge.apple.com
    Subject: Re: MACL2.0b deftraps commented as "Not in ROM" - how to access? 
    In-Reply-To: Your message of Mon, 10 Jun 91 11:12:03 -0700.
    Date: Mon, 10 Jun 91 17:09:02 -0400

       Date: Mon, 10 Jun 91 11:12:03 PDT
       From: cdj@tc.pw.com (Cris Johnson)
       To: info-macl@cambridge.apple.com
       Subject: MACL2.0b deftraps commented as "Not in ROM" - how to access?

       Some of the traps mentioned in the interface files included with MACL2.0
       are commented out with the remark "Not in ROM" and coded with a
       (:stack-trap #x0) specification.  Is there some officially blessed way
       to access these things?

       I have access to MPW3.1 and have found in the past that I could include
       LISP access to MPW functions via the foreign function interface and one
       or more of the object files included with MPW.  While I was happy to get
       the access I wanted, it seemed like I was doing a lot of groping in the
       dark with one object file causing others to be needed in ways I couldn't
       predict, and it seemed that I ended up loading far more things than I
       truely needed or wanted despite my best efforts at specifying options
       to the foreign function interface calls.  Is a procedure such as this
       implied by the "Not in ROM" comment?


    Your "groping in the dark" is one of the reasons that we have not yet
    provided access to the "Not in ROM" traps.  The two ways to define
    them are by writing Lisp code to provide them (as in
    "examples;mac-file-io.lisp") or by using the foreign function
    interface to load the object files that would be used by a Pascal
    program that references those traps.  We don't have the people-time to
    do the former for more than a smattering of the traps.  We'll do the
    latter for 2.0 final if we can make it work in time.

       Do I have to acquire MPW3.2 to get
       functions new to MAC-OS 2.0?  If so, are (deftrap ) and the foreign
       function interface related? - deftrap isn't documented.

    I assume you mean 7.0, not 2.0.  I don't have a current APDAlog at my
    fingertips, but in the Spring 1990 issue, the "MPW Toobox Interfaces
    and Libraries:Macintosh Programmer's Workshop Toolbox Interfaces and
    Libraries v. 3.1" product was for sale for $25.00.  It contained
    interfaces and libraries for system software version 6.0.4.  I assume
    that the more recent version of the same product contains system 7.0
    interfaces and libraries at a similar price.  That failing, find a
    developer friend who has the System 7.0 golden master CD, and get them
    from there.  The only possible hitch is that MPW version 3.2 may be
    required to use the new libraries.  The same old version of APDAlog
    listed the MPW 3.1 update for $35.00.  The 3.2 update is probably
    similarly priced.

    You could certainly use DEFTRAP to generate FF-LOAD and FF-CALL forms,
    though the only reason I can think of to do it that way would be if
    you want to use the autoloading mechanism for the traps that you so
    define.  DEFTRAP is (badly) documented in Chapter 9 of the MCL 2.0b1
    documentation (p. 241 in my copy).

So, when I wrote movie-window.lisp, I used ccl::gestalt to determine
whether the movie toolbox is installed or not, but this function is
not documented in MCL2.0 Reference.

I found it from (disassemble 'software-version).

And this is bill@apple's advice for me.

  From: bill@cambridge.apple.com
  Return-Path: <bill@cambridge.apple.com>
  Date: Fri, 24 Jan 1992 10:39:11 -0500
  To: kddlab!shpcsl.sharp.co.jp!ueda@uunet.uu.net (UEDA masaya)

  >I used ccl::gestalt (It is not documented too) to determine whether
  >the movie toolbox is installed.
  >Is this right or not recommended?

  I can't officially sanction the use of non-exported functions, but your
  use of ccl::gestalt is correct and I doubt that we're going to remove
  it any time soon.

Thank you.