Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] Score rewinding

Date2005-05-09 14:27
FromMichael Gogins
SubjectRe: [Cs-dev] Score rewinding
Score pause should mean:

The Csound performance loop continues, and continues to receive and dispatch real-time  events, and synthesize audio; but the events from the Csound score are not dispatched, and the score pointer does not advance. 

The purpose is so that when the host application is idling and is user and noodling on the keyboard, for example to adjust mix parameters or effects, Csound will continue to synthesize what is played without, however, synthesizing anything from its own internal score.

This may last have worked in the version of CsoundVST built for Csound version 4.23. It was not hard to implement; there was an isScorePending_ flag and rdscor looked at it.

For the second point about "csoundCompile implies csoundReset", thanks for the explanation. I understand now, and this behavior is fine with me.

-----Original Message-----
From: Istvan Varga 
Sent: May 9, 2005 7:17 AM
To: csound-devel@lists.sourceforge.net
Subject: Re: [Cs-dev] Score rewinding

Michael Gogins wrote:

> When zero, events from the score should be delayed,
 > until pending is set to 1 again. In other words, this
 > is the Csound "Pause" button.

Then I cannot implement it yet (I think it may need major changes that would
possibly involve having to update the opcode library, and it is unclear how in
certain situations score pause should behave).
However, as it has always been a stub (and the only change is that I moved
the statics to ENVIRON), how could it work earlier ?

> I'm sorry, but I'm not sure what you mean here. Can you go into more detail?

I meant that this will not work (as csoundCompile implies csoundReset):

ENVIRON *csound = csoundCreate(NULL);
csoundSetScoreOffsetSeconds(csound, FL(10.0));
csoundCompile(csound);


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel





-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-05-09 15:00
FromIstvan Varga
SubjectRe: [Cs-dev] Score rewinding
Michael Gogins wrote:

> Score pause should mean:
> 
> The Csound performance loop continues, and continues to receive and
 > dispatch real-time  events, and synthesize audio; but the events from
 > the Csound score are not dispatched, and the score pointer does not advance.

I already know that, however, I assume, MIDI file playback should be paused
too, correct ? Also, should already active score notes be extended and held
indefinitely until playback is unpaused again ? Or turned off after the normal
duration ?

> This may last have worked in the version of CsoundVST built for Csound version
 > 4.23. It was not hard to implement; there was an isScorePending_ flag and rdscor
 > looked at it.

I was aware of that method, but there are a few problems. First, it does not
work with the new implementation of sensevents() in Csound5 (can revert to the
old method, but that has different problems like drifting and accumulating
timing errors over time). Also, having the score time and real time (kcounter)
out of sync can confuse some event related opcodes. And it obviously will not
pause MIDI file playback.

> For the second point about "csoundCompile implies csoundReset",
 > thanks for the explanation.

But not if you call csoundPreCompile first. Then csoundPreCompile will imply
csoundReset, but csoundCompile will not, allowing to change settings (such as
score offset).
Of course, score offset will always work if called just after csoundCompile.


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-05-09 16:01
FromVictor Lazzarini
SubjectRe: [Cs-dev] Score rewinding
I seem to get the score back to start, but the next call to performKsmps() 
still
doesn't seem to do anything. What am I doing wrong?

performKsmps() plays the score up until the end first time OK, it
reports "end of score in performKsmps()". I call rewind(), but
performKsmps() doesn't play anymore. It will play an event sent
to it with scoreEvent(), but not the score. The score is back to the
start because it reports "SECTION 1"

Victor



Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth 



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-05-09 16:43
FromIstvan Varga
SubjectRe: [Cs-dev] Score rewinding
Victor Lazzarini wrote:

> I seem to get the score back to start, but the next call to 
> performKsmps() still
> doesn't seem to do anything. What am I doing wrong?
> 
> performKsmps() plays the score up until the end first time OK, it
> reports "end of score in performKsmps()". I call rewind(), but
> performKsmps() doesn't play anymore. It will play an event sent
> to it with scoreEvent(), but not the score. The score is back to the
> start because it reports "SECTION 1"

You are correct, rdscor() closes the score file when EOF is reached,
making it not possible to rewind; I only tested rewind while the score
is still playing.


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-05-09 17:47
FromVictor Lazzarini
SubjectRe: [Cs-dev] Score rewinding
I have to check my code, but at the moment, even when it's
playing if I rewind, it goes back to the beginning, but csoundPerformKsmps()
stops playing.

Victor

At 16:43 09/05/2005, you wrote:
>Victor Lazzarini wrote:
>
>>I seem to get the score back to start, but the next call to 
>>performKsmps() still
>>doesn't seem to do anything. What am I doing wrong?
>>performKsmps() plays the score up until the end first time OK, it
>>reports "end of score in performKsmps()". I call rewind(), but
>>performKsmps() doesn't play anymore. It will play an event sent
>>to it with scoreEvent(), but not the score. The score is back to the
>>start because it reports "SECTION 1"
>
>You are correct, rdscor() closes the score file when EOF is reached,
>making it not possible to rewind; I only tested rewind while the score
>is still playing.
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: NEC IT Guy Games.
>Get your fingers limbered up and give it your best shot. 4 great events, 4
>opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
>win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
>_______________________________________________
>Csound-devel mailing list
>Csound-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/csound-devel

Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth 



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-05-09 17:53
FromIstvan Varga
SubjectRe: [Cs-dev] Score rewinding
Victor Lazzarini wrote:

> I have to check my code, but at the moment, even when it's
> playing if I rewind, it goes back to the beginning, but 
> csoundPerformKsmps()
> stops playing.

Does it work after updating from developer CVS ? I have just committed
a fix that prevents rdscor() from closing the file at EOF.


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-05-09 18:01
FromVictor Lazzarini
SubjectRe: [Cs-dev] Score rewinding
I'll try that tonight, thanks.

At 17:53 09/05/2005, you wrote:
>Victor Lazzarini wrote:
>
>>I have to check my code, but at the moment, even when it's
>>playing if I rewind, it goes back to the beginning, but csoundPerformKsmps()
>>stops playing.
>
>Does it work after updating from developer CVS ? I have just committed
>a fix that prevents rdscor() from closing the file at EOF.
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: NEC IT Guy Games.
>Get your fingers limbered up and give it your best shot. 4 great events, 4
>opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
>win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
>_______________________________________________
>Csound-devel mailing list
>Csound-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/csound-devel

Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth 



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net