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" >