hello, cffi is really great and im trying to move my program to it. my problem: foreign-slot-value indicates that i should be able to provide a "slot path":
        foreign-slot-value ptr type &rest slot-names => object
however the definition of the function (cffi-luis-051011-1339) apparently only allows one slot:

> Error in process listener(1): Extra arguments in (FOREIGN-SLOT-VALUE E 'TMIDI-EV 'INFO 'NOTE 'PITCH) don't match lambda list (CFFI::PTR TYPE CFFI::SLOT-NAME).
> While executing: CCL::%CHECK-EXTRA-ARGUMENTS
> Type :POP to abort.
Type :? for other options.
1 >

I searchd the mail list but didnt see a discussion of this, are "slot paths" supported some other way that im not seeing, or do you intend to add it? Ive got lots of functions like this to deal with:

(defun pitch (e &optional v)
  "read or set the pitch of an event"
  (if v
    (setf (cffi:foreign-slot-value e 'tmidi-ev 'info 'note 'pitch) v)
    (cffi:foreign-slot-value e 'tmidi-ev 'info 'note 'pitch)))


also, i was suprised that you dont push :cffi onto *features* when cffi is loaded -- i think this would be useful for client programs to adjust their compile/loading accordingly, is there some reason yhou dont do this?


Rick Taube
Associate Professor, Composition/Theory
School of Music
University of Illinois, Urbana IL 61821 USA
Net: [EMAIL PROTECTED]
Fax: 217 244 8319
Vox: 217 244 2684

_______________________________________________
cffi-devel mailing list
cffi-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel

Reply via email to