[gambit-list] iTunes plugin success.. not so much
Marc Feeley
feeley at iro.umontreal.ca
Sat Nov 8 09:50:03 EST 2008
On 7-Nov-08, at 11:48 PM, Neil Baylis wrote:
> Ah well, egg on face and all that.
>
> I've uploaded a new version of my iTunes visualizer with Scheme REPL.
> The version I uploaded previously was accidentally linked against
> libgambc.dylib and required that to be in the right place to work.
> This version is correctly linked against libgambc.a and should work
> even if you don't have Gambit installed.
>
> For anyone interested, you can download scmviz.tar.gz
>
> If you download it and unpack the archive, you'll find a README file
> with instructions.
Great! I got the original version working by configuring with --enable-
shared and doing a "make install".
I also hooked up your plugin to the remote debugger I am working on
with Guillaume Cartier, which will be integrated in his Jedi IDE. The
debugger and the program being debugged (the debuggee) are separate
processes which communicate over TCP. Currently the debugger is
rather simplistic; it pops up a new xterm for each REPL that is
created. Conceptually each Gambit thread has its own REPL, but the
actual REPL is created lazily when there is an error, a REPL output,
such as with (pp 123), or an explicit call to create a REPL, such as
(##repl-debug-main).
The code is attached below. To try it out you need to have Gambit
v4.3.0 and X11 installed (for xterm), then do this:
% cd ~
% tar zxf rm.tar.gz
% cd rm
% gsi debugger - # final dash is important!
then start iTunes, start playing some music and the visualizer by
typing clover-T and ask the plugin for a REPL by typing ctrl-R. In
that REPL type
(load "~/rm/itunes")
This creates 2 threads which each start a REPL (so 2 xterms will pop
up). In REPL #1 enter (top) to get a continuously update of the state
of the threads. You might want to widen the window a bit to avoid
scrolling problems. Then in REPL #2 you can evaluate expressions
concurrently with the music playing. For example (expt 3 1000000).
Note that the thread's state shows up in REPL #1 and that this does
not stop iTunes from playing music or refreshing the visualizer.
The debugger can also start REPLs for any other Gambit programs. For
example, in a different shell you can run
% gsi ~/rm/debuggee -
And an xterm will popup with the REPL of the primordial thread. You
can type (start-new-repl) to create a new thread which starts a REPL
in a new xterm.
It will be neat when this remote debugging system is fully integrated
into Gambit and Jedi!
Marc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rm.tar.gz
Type: application/x-gzip
Size: 4947 bytes
Desc: not available
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20081108/ebf4d53e/attachment.bin>
-------------- next part --------------
More information about the Gambit-list
mailing list