Rui,
One of the gents on this list did one of the CMUCL hacks to permit callbacks into CMUCL from C. Perhaps he can steer you in the right direction.
Also, he always tells me the CMUCL mailing list is the place to learn about new development. Do you follow that? I wish I could be more help, but I have flirted with CMUCL only briefly, and then with a standard release.
All that said, I do want to port my Cello GUI (CL+Cells+Freeglut) to an X-based Freeglut fairly soon, and someone else here volunteered to assist. Maybe we should all hunker down and at least get CMUCL+Freeglut working. Then Cello just falls into place.
Step one would be to do nothing but get Freeglut built on Linux, tested out with one of the "C" demos that comes with it. FG just had a major release and support there is very prompt. I built FG2 without a problem on win32, but got sidetracked before I could build the C demos.
Step 2 is driving FG2 and OpenGL from CL. I have somewhere a Lisp implementation of exercise 14 from the NeHe OpenGL site. That does not involve my Cells library, so it could be a good test case. I'll make sure it still works on FG2 on win32 first.
That would get Rui going, and then it would be easy for me to bring up Cello.
Who's down for any of this? I want to get /something/ out in the way of a Cells reference before doing any coding, and I am also doing stuff (with Cello!) for a Lisp+music group here in NYC, so it will be a few days before I can get involved, but then I think I will fire up my Linux box and see what I can see.
ps. If anyone is absolutely dying for the reference, I can send a horrific work in progress out at any time by email.
kenny
Rui PatrocĂnio wrote:
On Mon, 2003-11-17 at 18:38, Kenny Tilton wrote:
Rui PatrocĂnio wrote:
hi there,
I've seen some posts from you regarding lisp + glut in c.l.l. I'm currently with the "callbacks problem" and I suppose you had already solved that problem and others. :) Have you found a solution of using glut with CL?
Yes, it works for me on win32 with ACL and LW, but not CLisp or Corman. Perhaps people who know those two well could make it work.
On the X side, there are now two very recent additions to CMUCL which support callbacks into Lisp from C, but I have not tried those yet.
What is your environment?
I was trying to use glut+cmucl+uffi in linux, but I'm open to sugestions. :) What are the recent additions to CMUCL?
Rui
Rui:
Get the pre-19a binary snapshot from here:
ftp://cmucl.cons.org/pub/lisp/cmucl/snapshots/2003/11/
And get the source tarball, too. These snapshots have (and the next official release will have) support for callbacks on x86. Anyone interested in callbacks on the SPARC who wouldn't be able to write the assembly-language trampoline, can ask me for my callbacks module, or bug me to port the one in CVS. You'll have to look at the comments and docstrings in src/code/alieneval.lisp for details on how to use DEFCALLBACK and CALLBACK, because they're not documented in the manual yet.
Since UFFI doesn't support callbacks, you'll have to use ALIEN:DEFCALLBACK directly, or add callback support to UFFI yourself. This should be enough to get you started -- if you run into problems, crosspost your questions to here and cmcul-help.