[CM] Re: Issues in running Snd-RT

David O'Toole dto@gnu.org
Sun, 22 Oct 2006 18:35:23 -0400


Ok, I did a "yum install ladspa-devel" and the compilation of
rt-compiler.scm worked fine. Oops :-) I am using PlanetCCRMA-FC5,
which doesn't have the "install everything" packages available yet, so
I forgot to install some stuff I guess.

I ran the "sinewave" example from your website, and heard the sound on
my monitors, so the RT-extension appears to be working.

Thanks so much for your help Kjetil and Bill!

Tomorrow I will play with the RT language and try writing some
routines to turn CL-FRAME dataflow graphs into Snd code.

I'm going to call the specialized Snd subclasses "SND-FRAME".

By the way, how do I pronounce "snd"? 



"Kjetil S. Matheussen" <k.s.matheussen@notam02.no> writes:

> You are missing ladspa.h:
> wget http://www.ladspa.org/ladspa_sdk/ladspa.h.txt
> cp ladspa.h.txt /usr/include/ladspa.h
>
>
> After that start snd and do the following:
>
> (set! %load-path (cons "/home/dto/src/snd-ls-0.9.7.5/snd-8/" %load-path))
> (define (gtk-events-pending) 0)
> (define srfi-loaded)
> (load-from-path "rt-compiler.scm")
>
>
>
>
> On Sun, 22 Oct 2006, David O'Toole wrote:
>
>>
>> Sorry, I introduced that last syntax error when I commented out the
>> body of the one function that referred to gtk.
>>
>> Fixing that, I was able to do the following:
>>
>>>> (load-from-path "oo.scm")
>>> #<unspecified>
>>>> (load-from-path "eval-c.scm")
>>> #<unspecified>
>>
>> And those worked fine.
>>
>> But then I try to load rt-compiler.scm:
>>
>>>> (load-from-path "rt-compiler.scm")
>>> compilation-failed: ()
>>> In unknown file:
>>>    ?:  0* [primitive-load-path "rt-compiler.scm"]
>>> In /home/dto/src/snd-ls-0.9.7.5/snd-8/rt-compiler.scm:
>>> 5539:  1* (eval-c (<-> "-I" snd-header-files-path ...) "#include <config.h>" ...)
>>> 5539:  2  (if (not #) (eval-c-cache-it # # #))
>>> In unknown file:
>>>    ?:  3  [eval-c-cache-it "-I/home/dto/src/snd-ls-0.9.7.5/snd-8 " # ...
>>>    ?:  4*  [eval-c-eval # "-I/home/dto/src/snd-ls-0.9.7.5/snd-8 " ...]
>>>    ?:  5   (let* () (let* (# #) (let # #)))
>>>    ?:  6   (let* (# #) (let # #))
>>>    ?:  7   (let ((compile-options #)) (let* () (let* # # # ...)))
>>>    ?:  8   (let* () (let* (# # # # ...) (if # #) (for-each # #) ...))
>>> In /home/dto/src/snd-ls-0.9.7.5/snd-8/eval-c.scm:
>>> 1715:  9   (let* (# # # # ...) (if # #) (for-each # #) ...)
>>> 1741: 10*  (if (not (= 0 #)) (begin (if eval-c-lazy-cleanup #) (throw #)))
>>> 1747: 11   (begin (if eval-c-lazy-cleanup #) (throw #))
>>> 1750: 12   [gsubr-apply #<primitive-procedure throw> compilation-failed]
>>
>>
>> The following is on standard output after this happens:
>>
>>> [root@localhost snd-8]# sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> sh: line 1: -s: command not found
>>> /tmp/fileYMX5Dm.c: In function ÿÿjack_port_name_eval_c_helperÿÿ:
>>> /tmp/fileYMX5Dm.c:267: warning: initialization discards qualifiers from pointer target type
>>> /tmp/fileYMX5Dm.c: In function ÿÿjack_port_short_name_eval_c_helperÿÿ:
>>> /tmp/fileYMX5Dm.c:276: warning: initialization discards qualifiers from pointer target type
>>> /tmp/fileYMX5Dm.c: In function ÿÿjack_port_type_eval_c_helperÿÿ:
>>> /tmp/fileYMX5Dm.c:294: warning: initialization discards qualifiers from pointer target type
>>> Alsa library loaded.
>>> /tmp/fileTQ4LlL.c:38:20: error: ladspa.h: No such file or directory
>>> /tmp/fileTQ4LlL.c:47: error: expected specifier-qualifier-list before ÿÿLADSPA_Descriptorÿÿ
>>> /tmp/fileTQ4LlL.c: In function ÿÿladspa_minus_set2ÿÿ:
>>> /tmp/fileTQ4LlL.c:99: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿnum_controls_inÿÿ
>>> /tmp/fileTQ4LlL.c:101: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿcontrolsÿÿ
>>> /tmp/fileTQ4LlL.c: In function ÿÿmake_minus_ladspa2ÿÿ:
>>> /tmp/fileTQ4LlL.c:119: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿinsÿÿ
>>> /tmp/fileTQ4LlL.c:119: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿnum_audio_insÿÿ
>>> /tmp/fileTQ4LlL.c:124: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿnum_audio_insÿÿ
>>> /tmp/fileTQ4LlL.c:128: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿinsÿÿ
>>> /tmp/fileTQ4LlL.c:129: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿdescriptorÿÿ
>>> /tmp/fileTQ4LlL.c:129: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿhandleÿÿ
>>> /tmp/fileTQ4LlL.c:129: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿaudioin_port_numsÿÿ
>>> /tmp/fileTQ4LlL.c:129: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿinsÿÿ
>>> /tmp/fileTQ4LlL.c:134: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿoutsÿÿ
>>> /tmp/fileTQ4LlL.c:134: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿnum_audio_outsÿÿ
>>> /tmp/fileTQ4LlL.c:139: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿnum_audio_outsÿÿ
>>> /tmp/fileTQ4LlL.c:143: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿoutsÿÿ
>>> /tmp/fileTQ4LlL.c:144: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿdescriptorÿÿ
>>> /tmp/fileTQ4LlL.c:144: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿhandleÿÿ
>>> /tmp/fileTQ4LlL.c:144: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿaudioout_port_numsÿÿ
>>> /tmp/fileTQ4LlL.c:144: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿoutsÿÿ
>>> /tmp/fileTQ4LlL.c:153: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿnum_controls_inÿÿ
>>> /tmp/fileTQ4LlL.c:157: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿdescriptorÿÿ
>>> /tmp/fileTQ4LlL.c:157: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿhandleÿÿ
>>> /tmp/fileTQ4LlL.c:157: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿcontrolin_port_numsÿÿ
>>> /tmp/fileTQ4LlL.c:157: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿcontrolsÿÿ
>>> /tmp/fileTQ4LlL.c:162: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿcontrols_outÿÿ
>>> /tmp/fileTQ4LlL.c:162: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿnum_controls_outÿÿ
>>> /tmp/fileTQ4LlL.c:167: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿnum_controls_outÿÿ
>>> /tmp/fileTQ4LlL.c:171: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿdescriptorÿÿ
>>> /tmp/fileTQ4LlL.c:171: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿhandleÿÿ
>>> /tmp/fileTQ4LlL.c:171: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿcontrolout_port_numsÿÿ
>>> /tmp/fileTQ4LlL.c:171: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿcontrols_outÿÿ
>>> /tmp/fileTQ4LlL.c:176: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿdescriptorÿÿ
>>> /tmp/fileTQ4LlL.c:178: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿdescriptorÿÿ
>>> /tmp/fileTQ4LlL.c:178: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿhandleÿÿ
>>> /tmp/fileTQ4LlL.c:181: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿscm_ladspaÿÿ
>>> /tmp/fileTQ4LlL.c: In function ÿÿmark_rt_ladspaÿÿ:
>>> /tmp/fileTQ4LlL.c:199: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿscm_outputÿÿ
>>> /tmp/fileTQ4LlL.c:200: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿscm_descriptorÿÿ
>>> /tmp/fileTQ4LlL.c:201: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿscm_handleÿÿ
>>> /tmp/fileTQ4LlL.c:202: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿscm_ladspaÿÿ
>>> /tmp/fileTQ4LlL.c: In function ÿÿfree_rt_ladspaÿÿ:
>>> /tmp/fileTQ4LlL.c:210: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿdescriptorÿÿ
>>> /tmp/fileTQ4LlL.c:212: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿdescriptorÿÿ
>>> /tmp/fileTQ4LlL.c:212: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿhandleÿÿ
>>> /tmp/fileTQ4LlL.c:214: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿdescriptorÿÿ
>>> /tmp/fileTQ4LlL.c:216: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿdescriptorÿÿ
>>> /tmp/fileTQ4LlL.c:216: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿhandleÿÿ
>>> /tmp/fileTQ4LlL.c:218: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿcontrolsÿÿ
>>> /tmp/fileTQ4LlL.c:219: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿcontrols_outÿÿ
>>> /tmp/fileTQ4LlL.c:224: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿnum_audio_insÿÿ
>>> /tmp/fileTQ4LlL.c:228: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿinsÿÿ
>>> /tmp/fileTQ4LlL.c:233: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿinsÿÿ
>>> /tmp/fileTQ4LlL.c:238: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿnum_audio_outsÿÿ
>>> /tmp/fileTQ4LlL.c:242: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿoutsÿÿ
>>> /tmp/fileTQ4LlL.c:247: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿoutsÿÿ
>>> /tmp/fileTQ4LlL.c:248: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿaudioin_port_numsÿÿ
>>> /tmp/fileTQ4LlL.c:249: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿaudioout_port_numsÿÿ
>>> /tmp/fileTQ4LlL.c:250: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿcontrolin_port_numsÿÿ
>>> /tmp/fileTQ4LlL.c:251: error: ÿÿstruct mus_rt_ladspaÿÿ has no member named ÿÿcontrolout_port_numsÿÿ
>>> /tmp/fileTQ4LlL.c: In function ÿÿmark_rt_ladspaÿÿ:
>>> /tmp/fileTQ4LlL.c:204: warning: control reaches end of non-void function
>>
>>
>>
>> "Kjetil S. Matheussen" <k.s.matheussen@notam02.no> writes:
>>
>>> On Sat, 21 Oct 2006, David O'Toole wrote:
>>>
>>>>
>>>> Hello Kjetil,
>>>>
>>>> We seem to have tracked down my errors to snd_conffile.scm not being
>>>> loaded.
>>>
>>> Ouch, the realtime stuff is supposed to work without
>>> snd_conffile.scm. Why is snd_conffile.scm needed? san_dysth works just
>>> fine without snd_conffile.scm...
>>>
>>>
>>>> I actually do have the file in my CVS download directory, so I
>>>> loaded that first, and got some errors about undefined GTK symbols. It
>>>> appears to depend on GTK.
>>>>
>>>> I'm reluctant to just use snd-ls, for several reasons.
>>>>
>>>> I want to configure Snd with -march=athlon-xp (for as much as 20%
>>>> speedup, i'm told) and --with-motif. Besides preferring the Motif
>>>> version visually, I am also experiencing a bug that prevents me from
>>>> running any GTK application under Distributed Multihead X (DMX) which
>>>> is what I use for my multihead desktop. So at this time the
>>>> GTK-version is not an option for me.
>>>>
>>>
>>> Okay, but you could use the SND source provided by snd-ls to do
>>> realtime work. You do that by running ./unpack.sh, and after that just
>>> configure and compile it the way you want. I guess this could
>>> be less frustrating for you, since snd from time to time is
>>> incompatible with rt-compiler and rt-engine because of api changes.
>>>
>>>
>>>> I would like to help get rt-compiler working with the Snd from
>>>> CVS. Perhaps you can point me in the right direction, so that I can
>>>> help write a different file to define all the symbols that rt-compiler
>>>> needs? I will take a look at it tonight but some pointers would
>>>> definitely help.
>>>>
>>>
>>> I'm not sure what I can point you to. Its supposed to work, really.
>>> But I think your %load-path is not set...
>>>
>>>
>>>> I am developing a graphical Common Lisp frontend for the Snd-RT stuff,
>>>> including realtime control. The home page for the project is
>>>> http://dto.freeshell.org/notebook/ClFrame.html
>>>>
>>>
>>> Yeah, it looks cool. :-)
>>>
>>>
>>>
>>
>> -- 
>> David O'Toole
>> dto@gnu.org
>> http://dto.freeshell.org/notebook/
>>

-- 
David O'Toole 
dto@gnu.org
http://dto.freeshell.org/notebook/