[Csnd] Error or end of score when using performanceThread

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

[Csnd] Error or end of score when using performanceThread

moguillansky
I am testing ctcsound with python 3.6. When using PerformanceThread I keep
getting "Error or end of score" each time a new "i" event is sent. Here is
a minimal example. Related to this: how do I suppress ALL output from
csound?

Thanks!
Eduardo Moguillansky

csd = """
<CsoundSynthesizer>
<CsOptions>
-odac
</CsOptions>

<CsInstruments>
sr = 44100
ksmps = 64
nchnls = 2

instr 1
  puts "here!", 1
  turnoff
endin

</CsInstruments>
<CsScore>
f 0 3600
</CsScore>
</CsoundSynthesizer>
"""

import ctcsound
import time
cs = ctcsound.Csound()
cs.compileCsdText(csd)
cs.start()
pt = ctcsound.CsoundPerformanceThread(cs.csound())
pt.play()

try:
    while True:
        pt.scoreEvent(False, "i", (1, 0, -1))
        time.sleep(1)
except KeyboardInterrupt:
    pt.stop()
    cs.stop()
    cs.cleanup()

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

Tarmo Johannes-3
Jusr a guess -

compileCsdText is relatively new API function, If I am correct, it goes to realtime mode when there is no score and non-realtime, ie just plays the score, otherwise.

Can be, that even if ther is only  f0 statement, it still goes to non-rt mode and can be that then it will not take live score events.

Developers can comment, I am sure.

Tarmo


05.09.2017 13:05 kirjutas kuupäeval "Eduardo Moguillansky" <[hidden email]>:
I am testing ctcsound with python 3.6. When using PerformanceThread I keep getting "Error or end of score" each time a new "i" event is sent. Here is a minimal example. Related to this: how do I suppress ALL output from csound?

Thanks! Eduardo Moguillansky

csd = """
<CsoundSynthesizer>
<CsOptions>
-odac
</CsOptions>

<CsInstruments>
sr = 44100
ksmps = 64
nchnls = 2

instr 1
 puts "here!", 1
 turnoff
endin

</CsInstruments>
<CsScore>
f 0 3600
</CsScore>
</CsoundSynthesizer>
"""

import ctcsound
import time
cs = ctcsound.Csound()
cs.compileCsdText(csd)
cs.start()
pt = ctcsound.CsoundPerformanceThread(cs.csound())
pt.play()

try:
   while True:
       pt.scoreEvent(False, "i", (1, 0, -1))
       time.sleep(1)
except KeyboardInterrupt:
   pt.stop()
   cs.stop()
   cs.cleanup()

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

Victor Lazzarini-2
In reply to this post by moguillansky
I had a look at this and it is something new in csdPerfThread.cpp that I don’t know how
it started happening. It’s a bug.
 I don’t think it is to do with csoundCompileCsdText().


========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 5 Sep 2017, at 11:05, Eduardo Moguillansky <[hidden email]> wrote:
>
> I am testing ctcsound with python 3.6. When using PerformanceThread I keep getting "Error or end of score" each time a new "i" event is sent. Here is a minimal example. Related to this: how do I suppress ALL output from csound?
>
> Thanks! Eduardo Moguillansky
>
> csd = """
> <CsoundSynthesizer>
> <CsOptions>
> -odac
> </CsOptions>
>
> <CsInstruments>
> sr = 44100
> ksmps = 64
> nchnls = 2
>
> instr 1
> puts "here!", 1
> turnoff
> endin
>
> </CsInstruments>
> <CsScore>
> f 0 3600
> </CsScore>
> </CsoundSynthesizer>
> """
>
> import ctcsound
> import time
> cs = ctcsound.Csound()
> cs.compileCsdText(csd)
> cs.start()
> pt = ctcsound.CsoundPerformanceThread(cs.csound())
> pt.play()
>
> try:
>   while True:
>       pt.scoreEvent(False, "i", (1, 0, -1))
>       time.sleep(1)
> except KeyboardInterrupt:
>   pt.stop()
>   cs.stop()
>   cs.cleanup()
>
> Csound mailing list
> [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here


Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

Victor Lazzarini-2
In reply to this post by moguillansky
Ok, this seemed simple to fix. It looked like some tracing left over from development. I’ve commented it out.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 5 Sep 2017, at 11:05, Eduardo Moguillansky <[hidden email]> wrote:
>
> I am testing ctcsound with python 3.6. When using PerformanceThread I keep getting "Error or end of score" each time a new "i" event is sent. Here is a minimal example. Related to this: how do I suppress ALL output from csound?
>
> Thanks! Eduardo Moguillansky
>
> csd = """
> <CsoundSynthesizer>
> <CsOptions>
> -odac
> </CsOptions>
>
> <CsInstruments>
> sr = 44100
> ksmps = 64
> nchnls = 2
>
> instr 1
> puts "here!", 1
> turnoff
> endin
>
> </CsInstruments>
> <CsScore>
> f 0 3600
> </CsScore>
> </CsoundSynthesizer>
> """
>
> import ctcsound
> import time
> cs = ctcsound.Csound()
> cs.compileCsdText(csd)
> cs.start()
> pt = ctcsound.CsoundPerformanceThread(cs.csound())
> pt.play()
>
> try:
>   while True:
>       pt.scoreEvent(False, "i", (1, 0, -1))
>       time.sleep(1)
> except KeyboardInterrupt:
>   pt.stop()
>   cs.stop()
>   cs.cleanup()
>
> Csound mailing list
> [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here


Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

iron_attorney
Could this be anything to do with my issue using csPerfThread that I was posting about? Does it effect me mom real-time use aswell?

I converted these perfectly working fucntions:

void newCsd()
{
    mp_csound->Reset();
    mp_csound->CompileCsdText(csd.c_str());
}

void performCsd()
{
    mp_csound->Start();
    mp_csound->Perform();
    mp_csound->RewindScore();
}

Into these (and various similar versions):

void newCsd()
{
    if (mp_csoundThread)
    {
        mp_csoundThread->Stop();
        mp_csoundThread->Join();
    }

    mp_csound->Reset();
    mp_csound->CompileCsdText(csd.c_str());

    mp_csoundThread = new CsoundPerformanceThread(mp_csound);

}

void performCsd()
{
    if (mp_csoundThread->GetStatus() != 0)
        mp_csound->RewindScore();

    mp_csoundThread->Play();
}

And now it doesn't play anything.
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

Victor Lazzarini-2
It was just a tracing printout, I don’t think it would affect performance. It was still playing, but with the
funny messages. Eduardo’s code is running as expected, without the messages now.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952

> On 7 Sep 2017, at 13:19, Peter Burgess <[hidden email]> wrote:
>
> Could this be anything to do with my issue using csPerfThread that I was posting about? Does it effect me mom real-time use aswell?
>
> I converted these perfectly working fucntions:
>
> void newCsd()
> {
>     mp_csound->Reset();
>     mp_csound->CompileCsdText(csd.c_str());
> }
>
> void performCsd()
> {
>     mp_csound->Start();
>     mp_csound->Perform();
>     mp_csound->RewindScore();
> }
>
> Into these (and various similar versions):
>
> void newCsd()
> {
>     if (mp_csoundThread)
>     {
>         mp_csoundThread->Stop();
>         mp_csoundThread->Join();
>     }
>
>     mp_csound->Reset();
>     mp_csound->CompileCsdText(csd.c_str());
>
>     mp_csoundThread = new CsoundPerformanceThread(mp_csound);
>
> }
>
> void performCsd()
> {
>     if (mp_csoundThread->GetStatus() != 0)
>         mp_csound->RewindScore();
>
>     mp_csoundThread->Play();
> }
>
> And now it doesn't play anything.
> Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here


Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

Francois PINOT
In reply to this post by iron_attorney
The csPerfThread.Play() method won't "play" any score event: it just activates the csPerfThread Perform loop. To hear something you need to send some RT score event or to perform your csd (mp_csound->Perform for example).

François

2017-09-07 14:19 GMT+02:00 Peter Burgess <[hidden email]>:
Could this be anything to do with my issue using csPerfThread that I was posting about? Does it effect me mom real-time use aswell?

I converted these perfectly working fucntions:

void newCsd()
{
    mp_csound->Reset();
    mp_csound->CompileCsdText(csd.c_str());
}

void performCsd()
{
    mp_csound->Start();
    mp_csound->Perform();
    mp_csound->RewindScore();
}

Into these (and various similar versions):

void newCsd()
{
    if (mp_csoundThread)
    {
        mp_csoundThread->Stop();
        mp_csoundThread->Join();
    }

    mp_csound->Reset();
    mp_csound->CompileCsdText(csd.c_str());

    mp_csoundThread = new CsoundPerformanceThread(mp_csound);

}

void performCsd()
{
    if (mp_csoundThread->GetStatus() != 0)
        mp_csound->RewindScore();

    mp_csoundThread->Play();
}

And now it doesn't play anything.
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

iron_attorney
Aha, that's probably the issue. The csd has a score inckuded. 

So csPerfThread->play() is equivalent to cSound-start()...  I'll change that when I get home.
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

Michael Gogins-2
It is not equivalent to csoundStart. It sets a running Csound
performance thread to the non-paused state. csoundStart is implicitly
called by csoundCompile.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Thu, Sep 7, 2017 at 10:47 AM, Peter Burgess
<[hidden email]> wrote:
> Aha, that's probably the issue. The csd has a score inckuded.
>
> So csPerfThread->play() is equivalent to cSound-start()...  I'll change that
> when I get home.
> Csound mailing list [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

Michael Gogins-2
In reply to this post by moguillansky
Your example works fine for me...

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Tue, Sep 5, 2017 at 6:05 AM, Eduardo Moguillansky
<[hidden email]> wrote:

> I am testing ctcsound with python 3.6. When using PerformanceThread I keep
> getting "Error or end of score" each time a new "i" event is sent. Here is a
> minimal example. Related to this: how do I suppress ALL output from csound?
>
> Thanks! Eduardo Moguillansky
>
> csd = """
> <CsoundSynthesizer>
> <CsOptions>
> -odac
> </CsOptions>
>
> <CsInstruments>
> sr = 44100
> ksmps = 64
> nchnls = 2
>
> instr 1
>  puts "here!", 1
>  turnoff
> endin
>
> </CsInstruments>
> <CsScore>
> f 0 3600
> </CsScore>
> </CsoundSynthesizer>
> """
>
> import ctcsound
> import time
> cs = ctcsound.Csound()
> cs.compileCsdText(csd)
> cs.start()
> pt = ctcsound.CsoundPerformanceThread(cs.csound())
> pt.play()
>
> try:
>    while True:
>        pt.scoreEvent(False, "i", (1, 0, -1))
>        time.sleep(1)
> except KeyboardInterrupt:
>    pt.stop()
>    cs.stop()
>    cs.cleanup()
>
> Csound mailing list
> [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

iron_attorney
I only get sound with my non performance thread example... The perfthread version complains that I haven't called csound->start().

If I add a call to start before csPerfThread->GetStatus(), then it just tells me that instr 1 has a new allocation and nothing beyond that

On 7 Sep 2017 7:18 p.m., "Michael Gogins" <[hidden email]> wrote:
Your example works fine for me...

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Tue, Sep 5, 2017 at 6:05 AM, Eduardo Moguillansky
<[hidden email]> wrote:
> I am testing ctcsound with python 3.6. When using PerformanceThread I keep
> getting "Error or end of score" each time a new "i" event is sent. Here is a
> minimal example. Related to this: how do I suppress ALL output from csound?
>
> Thanks! Eduardo Moguillansky
>
> csd = """
> <CsoundSynthesizer>
> <CsOptions>
> -odac
> </CsOptions>
>
> <CsInstruments>
> sr = 44100
> ksmps = 64
> nchnls = 2
>
> instr 1
>  puts "here!", 1
>  turnoff
> endin
>
> </CsInstruments>
> <CsScore>
> f 0 3600
> </CsScore>
> </CsoundSynthesizer>
> """
>
> import ctcsound
> import time
> cs = ctcsound.Csound()
> cs.compileCsdText(csd)
> cs.start()
> pt = ctcsound.CsoundPerformanceThread(cs.csound())
> pt.play()
>
> try:
>    while True:
>        pt.scoreEvent(False, "i", (1, 0, -1))
>        time.sleep(1)
> except KeyboardInterrupt:
>    pt.stop()
>    cs.stop()
>    cs.cleanup()
>
> Csound mailing list
> [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

Michael Gogins-2
Can you provide a self-contained C++ or Python version of your
example? I was talking about Eduardo's example working for me.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Thu, Sep 7, 2017 at 2:36 PM, Peter Burgess
<[hidden email]> wrote:

> I only get sound with my non performance thread example... The perfthread
> version complains that I haven't called csound->start().
>
> If I add a call to start before csPerfThread->GetStatus(), then it just
> tells me that instr 1 has a new allocation and nothing beyond that
>
> On 7 Sep 2017 7:18 p.m., "Michael Gogins" <[hidden email]> wrote:
>>
>> Your example works fine for me...
>>
>> Regards,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> On Tue, Sep 5, 2017 at 6:05 AM, Eduardo Moguillansky
>> <[hidden email]> wrote:
>> > I am testing ctcsound with python 3.6. When using PerformanceThread I
>> > keep
>> > getting "Error or end of score" each time a new "i" event is sent. Here
>> > is a
>> > minimal example. Related to this: how do I suppress ALL output from
>> > csound?
>> >
>> > Thanks! Eduardo Moguillansky
>> >
>> > csd = """
>> > <CsoundSynthesizer>
>> > <CsOptions>
>> > -odac
>> > </CsOptions>
>> >
>> > <CsInstruments>
>> > sr = 44100
>> > ksmps = 64
>> > nchnls = 2
>> >
>> > instr 1
>> >  puts "here!", 1
>> >  turnoff
>> > endin
>> >
>> > </CsInstruments>
>> > <CsScore>
>> > f 0 3600
>> > </CsScore>
>> > </CsoundSynthesizer>
>> > """
>> >
>> > import ctcsound
>> > import time
>> > cs = ctcsound.Csound()
>> > cs.compileCsdText(csd)
>> > cs.start()
>> > pt = ctcsound.CsoundPerformanceThread(cs.csound())
>> > pt.play()
>> >
>> > try:
>> >    while True:
>> >        pt.scoreEvent(False, "i", (1, 0, -1))
>> >        time.sleep(1)
>> > except KeyboardInterrupt:
>> >    pt.stop()
>> >    cs.stop()
>> >    cs.cleanup()
>> >
>> > Csound mailing list
>> > [hidden email]
>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> > Send bugs reports to
>> >        https://github.com/csound/csound/issues
>> > Discussions of bugs and features can be posted here
>>
>> Csound mailing list
>> [hidden email]
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Error or end of score when using performanceThread

iron_attorney
Ah sorry, on two counts... The second being that this was my bad. I added the call to csound->start just now, but forgot that I hadn't changed the output setting in pulse volume control to jackd... so no sound was happening full stop, haha.

Sorry about that, all is working fine now. Cheers guys!

On 7 Sep 2017 7:46 p.m., "Michael Gogins" <[hidden email]> wrote:
Can you provide a self-contained C++ or Python version of your
example? I was talking about Eduardo's example working for me.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Thu, Sep 7, 2017 at 2:36 PM, Peter Burgess
<[hidden email]> wrote:
> I only get sound with my non performance thread example... The perfthread
> version complains that I haven't called csound->start().
>
> If I add a call to start before csPerfThread->GetStatus(), then it just
> tells me that instr 1 has a new allocation and nothing beyond that
>
> On 7 Sep 2017 7:18 p.m., "Michael Gogins" <[hidden email]> wrote:
>>
>> Your example works fine for me...
>>
>> Regards,
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> On Tue, Sep 5, 2017 at 6:05 AM, Eduardo Moguillansky
>> <[hidden email]> wrote:
>> > I am testing ctcsound with python 3.6. When using PerformanceThread I
>> > keep
>> > getting "Error or end of score" each time a new "i" event is sent. Here
>> > is a
>> > minimal example. Related to this: how do I suppress ALL output from
>> > csound?
>> >
>> > Thanks! Eduardo Moguillansky
>> >
>> > csd = """
>> > <CsoundSynthesizer>
>> > <CsOptions>
>> > -odac
>> > </CsOptions>
>> >
>> > <CsInstruments>
>> > sr = 44100
>> > ksmps = 64
>> > nchnls = 2
>> >
>> > instr 1
>> >  puts "here!", 1
>> >  turnoff
>> > endin
>> >
>> > </CsInstruments>
>> > <CsScore>
>> > f 0 3600
>> > </CsScore>
>> > </CsoundSynthesizer>
>> > """
>> >
>> > import ctcsound
>> > import time
>> > cs = ctcsound.Csound()
>> > cs.compileCsdText(csd)
>> > cs.start()
>> > pt = ctcsound.CsoundPerformanceThread(cs.csound())
>> > pt.play()
>> >
>> > try:
>> >    while True:
>> >        pt.scoreEvent(False, "i", (1, 0, -1))
>> >        time.sleep(1)
>> > except KeyboardInterrupt:
>> >    pt.stop()
>> >    cs.stop()
>> >    cs.cleanup()
>> >
>> > Csound mailing list
>> > [hidden email]
>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> > Send bugs reports to
>> >        https://github.com/csound/csound/issues
>> > Discussions of bugs and features can be posted here
>>
>> Csound mailing list
>> [hidden email]
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here