<div dir="ltr"><br><br>Hi All,<br><br>Sorry for the cross/multiple posts.&nbsp; I have a C program that uses libecasoundc to control 4
oscillators in ecasound.&nbsp; I took a break from developing this for about
a year.&nbsp; I have recently returned to it and I&#39;m finding that ecasound
stops running very early in the program. &nbsp;&nbsp; A year ago this code was working very well
on a Fedora core 5 machine with Planet ccrma kernel and ecasound <a href="http://3.4.6.1">3.4.6.1</a>.&nbsp; Now I am running Fedora 8
with ccrma but the same code only runs for about 5 seconds before
ecasound stops.&nbsp; I set the ECASOUND_LOGFILE environment variable and found this after about 5 seconds in operation:<br>
<br>
[OBJECTS ] (eca-control) command: q &lt;17850&gt;<br>
<br>...after
which there are a bunch of messages that indicate ecasound is stoppng.&nbsp;
I definitely haven&#39;t programmed in that command.&nbsp; Why would that show
up?<br>I&#39;ve compiled the example c program from the ECI guide and found similar behaviour.&nbsp; I have included at the end of this email a small test c program that produces these results on my system.<br><br>Any help is greatly appreciated.<br>
<br>
Thanks a lot,<br>Francis<br><br>Current system info:<br><br>Hardware: Pentium 4, 1.5 G RAM<br>OS: Fedora 8, ccrma<br>#rpm -qa | grep ecasound:<br>ecasound-2.4.6.1-1.fc8.ccrma<br>pyecasound-2.4.6.1-1.fc8.ccrma<br>libecasoundc-2.4.6.1-1.fc8.<div dir="ltr">

ccrma<br><br>TEST C PROGRAM:<br><br>#include &lt;stdio.h&gt;<br>#include &lt;unistd.h&gt;<br>#include &lt;ecasoundc.h&gt;<br>#include &lt;unistd.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*sleep */<br><br>//COMPILE: gcc -g -o example example.c `libecasoundc-config --cflags --lib`<br>
<br>int<br>main (int argc, char *argv[])<br>{<br><br>//start jack<br>&nbsp; system (&quot;jackd -R -dalsa -dhw:0 -r44100 -p1024 -n2 2&gt;&amp;1 &amp;&quot;);<br>&nbsp; sleep (3);<br>//ecasound stuff<br>&nbsp; eci_init ();<br>&nbsp; eci_command (&quot;cs-add waveup_cs&quot;);<br>
<br>&nbsp; //oscillator 1<br>&nbsp; eci_command (&quot;c-add osc1&quot;);<br>&nbsp; eci_command (&quot;ai-add null&quot;);<br>&nbsp; eci_command (&quot;ao-add jack_generic,osc1&quot;);<br>&nbsp; eci_command (&quot;cop-add -el:sine_fcac,0,0&quot;);<br>
&nbsp; eci_command (&quot;copp-select 1&quot;);<br>&nbsp; eci_command_float_arg (&quot;copp-set&quot;, 440);<br>&nbsp; eci_command (&quot;copp-select 2&quot;);<br>&nbsp; eci_command_float_arg (&quot;copp-set&quot;, 5);<br>&nbsp; eci_command (&quot;cop-add -ea:150&quot;);<br>
&nbsp; eci_command (&quot;ctrl-add -kos:1,25,50,1,0&quot;);<br>&nbsp; eci_command (&quot;ctrlp-select 4&quot;);<br>&nbsp; eci_command_float_arg (&quot;ctrlp-set&quot;, 1);<br>&nbsp; <br>&nbsp; eci_command (&quot;cs-connect&quot;);<br>&nbsp; eci_command (&quot;start&quot;);<br>
&nbsp; usleep (500000);<br><br>&nbsp; //connect jack outputs<br>&nbsp; system (&quot;jack_connect ecasound:osc1_1 alsa_pcm:playback_1&quot;);<br>&nbsp; usleep (500000);<br><br>&nbsp; while (1)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i = 60; i &lt;= 400; i++)<br>
&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; usleep(1000);<br>&nbsp;&nbsp;&nbsp; &nbsp; eci_command (&quot;c-select osc1&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp; eci_command (&quot;cop-select 1&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp; eci_command (&quot;copp-select 1&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp; eci_command_float_arg (&quot;copp-set&quot;, i);<br>
&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i = 400; i &gt;= 60;i--)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; usleep(1000);<br>&nbsp;&nbsp;&nbsp; &nbsp; eci_command (&quot;c-select osc1&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp; eci_command (&quot;cop-select 1&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp; eci_command (&quot;copp-select 1&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp; eci_command_float_arg (&quot;copp-set&quot;, i);<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eci_command (&quot;engine-status&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (strcmp (eci_last_string (), &quot;running&quot;) != 0) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; puts (&quot;ECASOUND STOPPED!&quot;);<br>
&nbsp;&nbsp;&nbsp; //break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; <br>&nbsp; eci_command (&quot;stop&quot;);<br>&nbsp; eci_command (&quot;cs-disconnect&quot;);<br>&nbsp; eci_command (&quot;cop-status&quot;);<br>&nbsp; printf (&quot;Chain operator status: %s&quot;, eci_last_string ());<br>
&nbsp; eci_cleanup ();<br>&nbsp;<br>&nbsp; return (0);<br>}<br></div></div>