from my experiments here csoundRewindScore *seems* to clear the score just fine. the intent of the original query (and apologies for not making this very clear), is about doing multiple renderings with different scores, each render requiring it's output in a seperate wav file. all without having to reload the orchestra. On Friday 04 April 2008 05:48, Steven Yi wrote: > Sure we can use f0 3600000, but I think I understood the original > problem differently and thought the context of the problem was to do > something live and to perhaps stop a score that is running currently > and restart with a new score. Right now, there's no way to clear a > score, is there? And even if we did have one, the f- statement would > get cleared too i think, yes? > > On Thu, Apr 3, 2008 at 1:23 AM, victor wrote: > > Sorry if I am not understanding the question... > > But if you put a f0 3600000 > > you will keep running Csound for that amount of time > > and you can just use csoundInputMessage() to send > > events as you require. > > > > This is the way to keep csound running almost > > indefinitely. > > > > As for sending Csound output out to python, I am > > afraid your code is more or less the only way. You > > can try to use the libsndfile bindings so you might be able > > to pass the floatArray without converting it to a string. > > > > Victor > > > > > > > > ----- Original Message ----- From: "Steven Yi" > > To: > > Sent: Thursday, April 03, 2008 6:27 AM > > Subject: [Csnd] Re: CSound (Python) API & Output Buffers > > > > > Hi Lilith, > > > > > > This brings up some bigger issues but ones worth addressing. > > > Currently, as far as I know, there is no indefinite playing mode for > > > csound. Something like that might be worth putting in so that the > > > main kperf thread will just keep running even if there are no active > > > score events. If we do that, then we can introduce a > > > "csoundClearScore" method that would wipe all score events. That way, > > > you wouldn't need to rewind the score or anything, just keep it going > > > and call the csoundScoreEvent. Also, this would allow the possibility > > > of indefinite running of csound for things like installations. > > > > > > I have the feeling this has been discussed before a long while back, > > > and that there was some kind of complication due to scoreTime. I > > > remember Istvan changing it from an int to a long or something like > > > that to make the max score time longer. I can not recall all the > > > issues though. > > > > > > Lilith and everyone: Any thoughts on this? Anyone remember any > > > threads regarding this kind of thing? > > > > > > Thanks, > > > steven > > > > > > On Wed, Apr 2, 2008 at 8:10 PM, Lilith Bryant wrote: > > > > I wonder if I could tap the list here for some advice. > > > > > > > > I'm writing a score writer front-end in python using the csound API. > > > > > > > > The big idea with this project, is to be able to quickly change the > > > > score and > > > > > > re-render with having csound reload the whole orchestra/csd file for > > > > every > > > > > > simple score change. So i'm simply calling the csoundCompile and > > > > all > > > > the > > > > > > prequisites once at the beginning of my application (or whenever the > > > > user > > > > > > asks to reload the orchestra/csd) > > > > > > > > Then for each renderering, I call csoundScoreRewind and then > > > > csoundScoreEvent > > > > > > for each note. > > > > > > > > Which works as expected, except the output wav file simply grows > > > > with > > > > easy > > > > > > pass. i.e. it csoundScoreRewind doesn't clear it, like would be > > > > useful for > > > > > > this case. > > > > > > > > Now I can alternatively not use wav file output at all, and use > > > > csoundSetHostImplementedAudioIO and manually fish out the samples, > > > > and > > > > write > > > > > > them to a wav file myself. But this is python and that hideously > > > > slow. > > > > > > > > So the questions are: > > > > 1) Is there a way to restart the wav file output without reloading > > > > the orchestra/csd? > > > > > > > > OR > > > > > > > > 2) Is there a quick way to fish out the output buffer samples into a > > > > python > > > > > > string or array, for writing out to file using the python wav > > > > module? > > > > > > > > The best i have so far is something like: > > > > > > > > ob=csnd.csoundGetOutputBuffer(self.cs) > > > > fa=csnd.floatArray.frompointer(ob) > > > > sa=array.Array('h',[0]*buffersize*2) > > > > for n in range(buffersize*2): > > > > sa[n]=fa[n]*32767 > > > > wavdata=sa.tostring() > > > > > > > > which really SUCKS performance-wise (not surprisingly). > > > > > > > > I don't want to write a C/SWIG function to do just this, since i > > > > want > > > > to be > > > > > > able to give this to people who aren't up to running compilers. > > > > > > > > > > > > Send bugs reports to this list. > > > > To unsubscribe, send email sympa@lists.bath.ac.uk with body > > > > "unsubscribe csound" > > > > > Send bugs reports to this list. > > > To unsubscribe, send email sympa@lists.bath.ac.uk with body > > > "unsubscribe > > > > csound" > > > > > > > > > > Send bugs reports to this list. > > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe > > csound" > > Send bugs reports to this list. > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe > csound"