From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #328 Reply-To: sc-users Sender: owner-sc-users-digest@lists.io.com Errors-To: owner-sc-users-digest@lists.io.com Precedence: bulk sc-users-digest Saturday, July 21 2001 Volume 01 : Number 328 ---------------------------------------------------------------------- Date: Fri, 20 Jul 2001 09:38:45 -0500 From: James McCartney <---@---.---> Subject: Re: version 2 bugs on 7/20/01 7:53 AM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: > There are problems comparing with inf, when it is the receipient > of the compare message. > > RJK > > On Thu, 19 Jul 2001, James McCartney wrote: [...] >> ------------------------------------------------------------------------- >> BUG FIXES and changes (incomplete list) : [...] >> (inf < 33.3) returns correct answer, false. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Fri, 20 Jul 2001 09:41:05 -0500 From: James McCartney <---@---.---> Subject: Re: channelOffset (was Re: MOTU 828) on 7/20/01 7:59 AM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: > How about including the SC and Node classes in the basic library? > > RJK This is going to be a bug fix release only. I don't want to both fix bugs and make large changes to the class library in the same release. The idea is that everyone's 2.2.10 code still runs without changes. In a later release I could add the useful classes that you, felix, and others have done. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Fri, 20 Jul 2001 11:22:21 EDT From: JoJoBuBu@aol.com Subject: Re: version 2 bugs - comment bug Occassionally I will get a bug with comments when using patterns. Unfortunately I dont have my computers available at the moment to send real code that does it but here is basically the problem. sometimes, not always, when I have a pattern, like a Pseq if I start the pattern like so Pseq([stuff, stuff, //add comment here more stuff]); Sometimes I get a parse error when I do this, but when I remove the comments, otherwise being exactly the same, I get no error. Perhaps this is normal, but I'm guessing it is a bug. Andy ------------------------------ Date: Fri, 20 Jul 2001 08:45:49 -0700 (PDT) From: Chris Brown <---@---.---> Subject: Re: version 2 bugs not a bug, but while you're at revising things, would you consider darkening the selection box resulting from the Find dialog ? it's so light that it's harder than it needs to be to locate the found text. chris **************************************************** Chris Brown Assoc. Prof. of Music and Co-Director, Center for Contemporary Music (CCM) Mills College, Oakland, CA 94613 email: cbmus@mills.edu, phone: 510-430-2330; fax 510-430-3314 **************************************************** ------------------------------ Date: Fri, 20 Jul 2001 11:07:07 -0500 From: James McCartney <---@---.---> Subject: Re: version 2 bugs on 7/20/01 10:45 AM, Chris Brown at cbmus@mills.edu wrote: > > not a bug, but while you're at revising things, would you consider > darkening the selection box resulting from the Find dialog ? it's so > light that it's harder than it needs to be to locate the found text. > > chris > The selection color is under your control via the control panel not mine. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Fri, 20 Jul 2001 11:08:09 -0500 From: James McCartney <---@---.---> Subject: Re: version 2 bugs - comment bug on 7/20/01 10:22 AM, JoJoBuBu@aol.com at JoJoBuBu@aol.com wrote: > Occassionally I will get a bug with comments when using patterns. > Unfortunately I dont have my computers available at the moment to send real > code that does it but here is basically the problem. I've never seen comments cause trouble, so I need specific code that causes the problem. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Fri, 20 Jul 2001 17:15:30 +0100 From: "fabrice mogini" <---@---.---> Subject: Re: real-time sample sequencing/cutting Here is a correction by Nick Collins to my recent code. You can now adjust the tempo with the slider or enter a new tempo value from the numerical view (while in the previous patch, the numerical view was only displaying the adjusted tempo, set by the slider only). Note that the floating_1 sound file has a silence in the end but it's better for this system to have clean cuts for beginning and end of your samples. The next version will allow the user not only to switch between already defined patterns but to write your own patterns in real-time with some extra GuiWindows. Fabrice Mogini //////////////////////////////////////////////////////////////////////////// real-time sample sequencing/cutting By Fabrice Mogini //////////////////////////////////////////////////////////////////////////// ( Synth.play({ // variables var filename, beatspersound, bpm, beat, num, sound, signal, length, secperbeat, playbackspeed, maxoffset, minoffset, maxdur,indexdur, durpatlist, sampledurmemo,sampledur, indexstart, startpatlist, samplestartmemo, samplestart, indexonoff, indextuning, randomPatternFunc, maxbeatsperrandbar, livetempo, livetempo1, livetempo2, tempoSlider, sampleparameters; //////////////////////////////////////////////////////////////////////////// // User settings: sample names, samples length (in beats), general tempo. // a list of sample names (from the S.C. Sounds folder). They must be cut //properly (beginning/end) // more samples can be added to it, then update the next list: "number of //beats for each sample". //This code should be changed by the user filename = [ ":Sounds:floating_1", ":Sounds:floating_1", ":Sounds:floating_1", ":Sounds:floating_1" ]; // number of beats for each sample // (listen to your soundfile with the Playbuf UGen beforehand and decide on //how many beats it has). beatspersound = [ 2, 2, 2, 2 ]; // choose a tempo for the track in beats per minute bpm = 140; //////////////////////////////////////////////////////////////////////////// // random duration patterns // max duration (in beats) of a bar to randomize maxbeatsperrandbar = 8; //////////////////////////////////////////////////////////////////////////// // Messages sent to the variables, variables values randomPatternFunc = { arg totalDur, numEvents;var attacks; //James code for random cuts adding up to 8 beats attacks = Array.series(totalDur - 1,1,1).scramble .copyFromStart(numEvents - 2).add(0).sort; attacks.rotate(-1).put(numEvents - 1, totalDur) - attacks;}; p = Pn(Plazy({ Pseq( randomPatternFunc.value (maxbeatsperrandbar, (maxbeatsperrandbar-1) .rand + 1), 1); }),1); beat = 60/bpm;num= filename.size;sound= Array.fill(num,{SoundFile.new});signal= Array.fill(num); length= Array.fill(num);playbackspeed= Array.fill(num);secperbeat= Array.fill(num); maxoffset= Array.fill(num);minoffset= Array.fill(num);maxdur = Array.fill(num); num.do({arg i; if (sound.at(i).read(filename.at(i)), {signal.put(i, sound.at(i).data.at(0));},{ (filename.at(i) ++ " not found.\n").postln; }); length.put(i,(signal.at(i).size/(sound.at(i).sampleRate))); secperbeat.put(i,(length.at(i)/beatspersound.at(i))); playbackspeed.put(i,secperbeat.at(i)/beat);maxoffset.put(i,(beatspersound.at (i))); minoffset.put(i,0.5/(beatspersound.at(i)));maxdur.put(i,(beatspersound.at(i) )*2); }); w = GUIWindow.new("samples", Rect.newBy(6, 60, 233, (filename.size)*30)).backColor_(rgb(0,255,255)); Array.fill(filename.size, { arg i;SliderView.new( w, Rect.newBy(1, 20+(i*25), 90, 20), 1+(i*1), 0, 0, 1, 0, 'linear').knobColor_(rgb(255,255,74)).action_({ arg view; var i;i = w.views.indexOf(view);w.at(i).value = view.value;});}); Array.fill(filename.size,{arg i;StringView.new( w, Rect.newBy(91, 20+(i*25), 150, 20),filename.at(i), 0, 0, 1, 0, 'linear')}); t = GUIWindow.new("on/off", Rect.newBy(255, 60, 1,(filename.size)*30)).backColor_(rgb(0,255,255)); Array.fill(filename.size, { arg i;CheckBoxView.new(t, Rect.newBy(5, 20+(i*25), 40, 20), 1+(i*1), 0, 0, 1, 0,'linear')}); v = GUIWindow.new("dur", Rect.newBy(390,60, 3, (filename.size)*30)).backColor_(rgb(255,129,2)); Array.fill(filename.size, { arg i;NumericalView.new( v, Rect.newBy(3, 20+(i*25), 40, 20), 1+(i*1), 0, -1e+10, 1e+10, 0, 'linear').action_({ arg view; var i;i = v.views.indexOf(view);v.at(i).value = view.value;});}); u = GUIWindow.new("start", Rect.newBy(525,60, 3, (filename.size)*30)).backColor_(rgb(255,0,12)); Array.fill(filename.size, { arg i;NumericalView.new( u, Rect.newBy(3, 20+(i*25), 40, 20), 1+(i*1), 0, -1e+10, 1e+10, 0, 'linear').action_({ arg view; var i;i = u.views.indexOf(view);u.at(i).value = view.value;});}); r = GUIWindow.new("speed", Rect.newBy(660, 61, 127, (filename.size)*30)).backColor_(rgb(0,255,255)); Array.fill(filename.size, { arg i;NumericalView.new( r, Rect.newBy(3, 20+(i*25), 40, 20), 1+(i*1), 1, -1e+10, 1e+10, 0, 'linear').action_({ arg view; var i;i = r.views.indexOf(view);r.at(i).value = view.value;});}); q = GUIWindow.new("", Rect.newBy(7, 295, 213, 144)).backColor_(rgb(255,0,12)); StringView.new( q, Rect.newBy(45, 10, 136, 22), "Real-time sample").backColor_(rgb(255,0,12)); StringView.new( q, Rect.newBy(45, 29, 129, 21), "sequencing/cutting").backColor_(rgb(255,0,12)); StringView.new( q, Rect.newBy(28, 51, 153, 25), "by Fabrice Mogini 2001").backColor_(rgb(255,0,12)); StringView.new( q, Rect.newBy(33, 108, 148, 22), "SC2 by James McCartney").backColor_(rgb(255,0,12)); indexstart = Array.fill(filename.size, { arg i; Pfunc({ u.at(i).value.asInteger }); }); indexonoff = Array.fill(filename.size, { arg i; Pfunc({ t.at(i).value.asInteger }); }); indexdur = Array.fill(filename.size, { arg i; Pfunc({ v.at(i).value.asInteger }); }); indextuning = Array.fill(filename.size, { arg i; Pfunc({ r.at(i).value.asInteger }); }); livetempo = GUIWindow.new("adjust tempo", Rect.newBy(10, 470, 210, 90)).backColor_(rgb(0,255,255)); livetempo1 = SliderView.new( livetempo, Rect.newBy(10, 17, 181, 22), "SliderView", 1, 0.9, 1.1, 0, 'linear'); livetempo2 = NumericalView.new( livetempo, Rect.newBy(81, 50, 43, 27), "NumericalView", bpm.value, (bpm.value)*0.9,(bpm.value)*1.1, 0, 'linear'); SetTempo.kr(nil, livetempo1.kr); livetempo1.action = { livetempo2.value = (livetempo1.value)*bpm }; livetempo2.action = { thisSynth.tempo_(livetempo2.value/bpm.value); livetempo1.value = livetempo2.value/bpm.value; }; //////////////////////////////////////////////////////////////////////////// // duration patterns // change the value of duration patterns (or the type of pattern) for sample //breakbeat. sampledur = [ Pseq([8],1), Pseq([4],1), Pseq([2],1), Pseq([3,5],1), Pseq([3,3,2],1), Pseq([8,p],1), p, // random pattern Pseq([2.5,2.5,3],1) ]; sampledurmemo = [ "0-> [8]", "1-> [4]", "2-> [2]", "3-> [3,5]", "4-> [3, 3, 2]", "5-> [8, random(total=8 beats)]", "6-> [random(total=8 beats)]", "7-> [2.5,2.5,3]" ]; //////////////////////////////////////////////////////////////////////////// // start patterns samplestart = [ Pseq([0],1), //starts from 0 Pfuncn({((maxoffset.at(0))/8)*4},1), //starts from half Pfuncn({((maxoffset.at(0))/8)*2},1), //starts from a quarter Pfuncn({((maxoffset.at(0))/8)*6},1), //starts from three quarters Pseq([0, Pfuncn({((maxoffset.at(0)).rand)},1)],1), //starts from 0, then random Pfuncn({((maxoffset.at(0)).rand)},1) //random start ]; samplestartmemo = [ "0-> [starts from beginning]", "1-> [from half]", "2-> [from a quarter]", "3-> [from three quarters]", "4-> [beginning, random]", "5-> [random]", "6-> [from beginning]", "7-> [from 1/8th]", "8-> [from 2/8th]","9-> [from 3/8th]", "etc..." ]; //////////////////////////////////////////////////////////////////////////// durpatlist = GUIWindow.new("duration patterns", Rect.newBy(235, 295, 185, sampledur.size*28)).backColor_(rgb(255,129,2)); Array.fill(sampledurmemo.size, { arg i; StringView.new( durpatlist, Rect.newBy(6, 8+(i*25), 241, 21),sampledurmemo.at(i), 0, 0, 1, 0, 'linear')}); startpatlist = GUIWindow.new("start patterns", Rect.newBy(437, 295, 182, samplestart.size*46)).backColor_(rgb(255,0,12)); Array.fill(samplestartmemo.size, { arg i; StringView.new( startpatlist, Rect.newBy(6, 8+(i*25), 241, 21),samplestartmemo.at(i), 0, 0, 1, 0, 'linear')}); //////////////////////////////////////////////////////////////////////////// //samples data: // You can change values for the parameters (parameter title in red), for //crossfades, change the values in green. sampleparameters = Array.fill(num, {arg i; Pbind( \dur,Pswitch(Array.fill(sampledur.size,{arg i; sampledur.at(i)*(livetempo1.value)*beat/2}), indexdur.at(i)), \amp, Pswitch([ Pseq([0],1),Pseq([1],1)]*1, indexonoff.at(i)), \speed, Pswitch([0.5, 1, 2, 1+(0.08333*4), 1+(0.08333*5), 1+(0.08333*7)], indextuning.at(i)), \offset, Pswitch(Array.fill(samplestart.size, {arg i; samplestart.at(i)}) ++Array.fill( beatspersound.at(i)*2, {arg i; i})*minoffset.at(i), indexstart.at(i)), \pan, Pfunc({0.5.rand2}), \ugenFunc, { arg dur, speed, offset, amp, pan; Pan2.ar(PlayBuf.ar((signal.at(i)), 44100, playbackspeed.at(i)*speed*GetTempo.kr, (signal.at(i).size)*offset, 0, (signal.at(i).size),EnvGen.kr(Env.linen(0,dur*0.9,dur*0.1,amp),w.at(i).kr)), pan); }; ); }); Ppar(sampleparameters).asSpawn(channels: 2); });GUIWindow.closeAll ) //////////////////////////////////////////////////////////////////////////// ------------------------------ Date: Fri, 20 Jul 2001 18:17:20 +0200 From: Jesper El=?ISO-8859-1?B?6Q==?=n <---@---.---> Subject: Re: Feedback FM Thanks for the feedback FM patches Paul. Alberto again. It is very cpu demanding though. Jesper ------------------------------ Date: Fri, 20 Jul 2001 12:17:20 -0400 (EDT) From: Paul Lansky <---@---.---> Subject: buttons vs checkboxes I'm just trying to implement a button to display a value in a NumericalView during run time. The ButtonView won't work as a trigger to TSpawn, but a CheckBoxView will (I'm sure there is an easier way to do it...). The button if preferable since it only requires one mouse click. Thanks Paul Lansky Z ------------------------------ Date: Fri, 20 Jul 2001 09:23:48 -0700 (PDT) From: Chris Brown <---@---.---> Subject: Re: version 2 bugs doh! ...thanks, cb On Fri, 20 Jul 2001, James McCartney wrote: > > > > The selection color is under your control via the control panel not mine. > > > --- james mccartney james@audiosynth.com > SuperCollider - a real time synthesis programming language for the PowerMac. > > > > ------------------------------ Date: Fri, 20 Jul 2001 09:46:50 -0700 (PDT) From: Chad Kirby <---@---.---> Subject: Re: buttons vs checkboxes Here is a way to trigger a TSpawn from a button: play({ var e, w, out, spawn; w = GUIWindow.new("panel", Rect.newBy(152, 63, 184, 90)) .backColor_(rgb(255,255,255)); ButtonView.new( w, Rect.newBy(22, 15, 128, 20), "ButtonView", 0, 0, 1, 0, 'linear') .backColor_(rgb(176,176,176)) .action_({ spawn.trigger }); e = Env.perc; out = TSpawn.ar( { SinOsc.ar * EnvGen.kr(e) }, 1, nil); spawn = out.source; out }) Chad Kirby // Technical Coordinator for Digital Arts // CARTAH ckirby@u.washington.edu // 206.295.3592 On Fri, 20 Jul 2001 at 12:17, Paul Lansky wrote: > I'm just trying to implement a button to display a value in a NumericalView > during run time. The ButtonView won't work as a trigger to TSpawn, but a > CheckBoxView will (I'm sure there is an easier way to do it...). The > button if preferable since it only requires one mouse click. > > Thanks > Paul Lansky > Z > ------------------------------ Date: Fri, 20 Jul 2001 11:48:19 -0500 From: James McCartney <---@---.---> Subject: Re: Patches I recently lent some of my old early 70s space music LPs to a friend. While getting them out, I listened to them again for the first time in years. This and the previous patch are along those lines - back when everything was done with two vcs3s and a mellotron.. ( // more early space Synth.play({ var n = 6, out; // number of simultaneous events out = OverlapTexture.ar({ arg spawn, i, synth; [{ var a, b, c, pan; a = 20.0.rand; b = 5000.0.rand; c = 20.0.rand; pan = 1.0.rand2; Pan2.ar(SinOsc.ar(SinOsc.ar(a, 0, 0.1*b, b), 0, SinOsc.kr(c, 0, 0.08, 0.08)), pan) },{ var a, a0, a1, b, c, pan; a0 = 200.0.rand + 40; a1 = a0 + 1.0.rand2; a = [a0, a1]; b = exprand(50,2400); c = [a0 + 1.0.rand2, a1 + 1.0.rand2]; SinOsc.ar(SinOsc.ar(a, 0, 1.0.rand * b, b), 0, SinOsc.kr(c, 0, 0.025, 0.025)) },{ var f; f = (60 + 40.rand).midicps; FSinOsc.ar([f, f + 0.2], LFNoise2.kr(f*[0.15, 0.16], 0.1)); },{ var f, r, n; f = rrand(24, 96).midicps; r = XLine.kr(exprand(0.1,20),exprand(0.1,20), 25.6); n = 12; Mix.arFill(n, { arg i; Pan2.ar( FSinOsc.ar(f * i + f, SinOsc.kr( r * rrand(0.9,1.1),2pi.rand,0.1,-0.05).max(0)) * (1/(i+1)), 1.0.rand2 ) }) * LFPulse.kr(exprand(0.2,1.2), rrand(0.1,0.2)); },{ var lagCtl, freqCtl; lagCtl = Plug.kr(0.1, 0); freqCtl = Plug.kr(600.0.rand + 200, lagCtl); synth.sched(0, { arg syn, now, task; var dur; dur = #[0.0625, 0.125, 0.5, 2].choose; lagCtl.source = dur * 0.5; freqCtl.source = 600.0.rand + 200; syn.sched(dur, task); }); Pan2.ar( Resonz.ar(PinkNoise.ar(10), freqCtl, 0.002), 1.0.rand2); },{ var f, z, s; f = LFNoise1.kr(0.3.rand, 60, 70).midicps; z = SinOsc.ar(f, 0, LFNoise2.ar( f * 0.5.rand, LFNoise1.kr(8.0.rand, SinOsc.kr(40.0.rand,0,0.1)).max(0) ) ); s = Pan2.ar(z, LFNoise1.kr(5.0.rand)); },{ var z, f1, f2, f3, in, out; f1 = 100; f2 = 6000.0; z = Array.fill(2, { `[ // sine oscil bank specification : y = Array.fill(p, { exprand(f1, f2) } ), // frequencies nil, Array.fill(p, { 2.0 + 4.0.rand }) // ring times ] }); f3 = XLine.kr(exprand(40.0, 300.0), exprand(40.0, 300.0), 12); in = LFPulse.ar(f3, rrand(0.1, 0.9), 0.002 * LFNoise2.kr(8.0.rand).max(0)); out = Klank.ar(z, in).distort * 0.5; }].choose.value; }, 2, 4, n, 2); Mix.arFill(5, { CombN.ar(out, 0.3, [rrand(0.1,0.3),rrand(0.1,0.3)], 8) }) * 0.3; }); ) - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Fri, 20 Jul 2001 18:14:52 +0100 From: "fabrice mogini" <---@---.---> Subject: Re: QT proportional notation (was) SC -> Notation (was Dictinoary) - ---------- >From: "David Cottle" <---@---.---> >To: sc-users@lists.io.com >Subject: QT proportional notation (was) SC -> Notation (was Dictinoary) >Date: Thu, Jul 19, 2001, 9:11 pm > >> It is possible to import MIDI files in Finale I have done it before >> and it is the easiest. > > But NIFF would allow for notation conventions, not just pitch and duration, > but MIDI is a step in the right direction. Sorry, I didn't know about NIFF before you mentionned it. Now, there are some news on that topic: Finale can also import ENIGMA TRANSPORTABLE FILES. I saved one of my finale composition as enigma file and looked at the converted code in BBedit (text format) but I don't really understand it (of course!). Now I have just emailed the finale support team to know more about this format coding. In the future we can probably (as with NIFF, if I understood) convert SC text data into this new format. We can then have not only duration/pitch but the amplitude data, for instance, converted into expression data (mf, f, ff) or articulations etc... > >> _Second I used SC to generate weird duration values (Pgeom for instance) >> which would be difficult to transcribe as I didn't specify in SC what time >> signatures I use anyway. > > I've often pointed out to my students that as soon as you start working with > something like SC you quickly see how narrow minded most composers are. They > usually work within the frame of meter. SC (and computer assisted > composition in general) quickly surpasses this narrow focus. (e.g. how many > young composers even stray from even tuplets, as in 7 equal eighths in a > septuplet rather than a mixture of quarters and eighths?) > > So the issue is notation. How do you communicate ideas generated in SC to a > performer, if your goal is a performer? The answer seems complex if you > assume you are stuck with traditional methods of notation. The solution is > elegant and simple if you think out of the Finale box. True... > Also, how do you incorporate the power of SC generating values on the fly > into live performance? Yes, I do otherwise I would use CUBASE. I stil need to create cue notes for this kind of interactive data to really notate it. > Here is an idea: Music for SC and (e.g.) violin. > > SC generates all the events to be played by the CPU _and_ the violin on the > fly during the live performance according to the generative processes. The > sounds from SC will be played through speakers, but the notes that are to be > played by the violin are printed to the screen in some type of quicktime > movie displaying proportional notation. The violin sight reads them. I wrote something a bit like that for my BA, with finale transcribing what I improvise live from a MIDI guitar, a musician playing it (canon) and the sound of my MIDI instrument repitched to a different Pitch-set so the guitar and the other instrument don't play the same notes but related Pitch-sets. The canon in that sense is more rhythmical. But I never solved the problem of clarity for duration notation in real-time, so I gave up in the end! > There have been two obstacles to overcome when dealing with non-metered > music. The first is how to notate it. The best system so far is proportional > notation. But then you have the difficulty of coordinating the performance. > Each performer is looking at a section of the system with a note in the > middle. How are they going to coordinate it's attack with others? The > cop-out is to write mostly indeterminate ideas because you can't really > coordinate them very well. True. I dont have any answer though. > The answer is a scrolling quicktime movie with an indication line down > across the score (maybe three staves). All performers would watch the same > QT movie and when the note on their system hits the line they play it. You > could do some incredibly accurate and complex ideas with basically zero new > notation conventions and zero new training on the part of the performers. > They could perform it tomorrow, probably with less rehearsal than they could > the convolutions of notation we now thrust upon them to get complex ideas. > > I have no clue how to do QT. Maybe the answer lies in the new SC3 tools? Brillant I cannot wait to get explanations about it... Cheers Fabrice Mogini > Just thinking out loud . . . > > -- >><><><><><><><><><><><> > David Cottle, computer music, contra, cottle@cerlsoundgroup.org > > "Imagination is more important than knowledge." ‹Einstein > ------------------------------ Date: Fri, 20 Jul 2001 16:07:01 -0400 From: christian adam hresko <---@---.---> Subject: SC2 bugs/requests james... any chance of writing preferences to the system folder if SC is on another (non system disk) partition? (like in SC3) cheers, christian ------------------------------ Date: Fri, 20 Jul 2001 16:26:16 EDT From: JoJoBuBu@aol.com Subject: Re: version 2 bugs - comment bug on 7/20/01 10:22 AM, JoJoBuBu@aol.com at JoJoBuBu@aol.com wrote: > Occassionally I will get a bug with comments when using patterns. > Unfortunately I dont have my computers available at the moment to send real > code that does it but here is basically the problem. >I've never seen comments cause trouble, so I need >specific code that causes >the problem. I thought you might say that. Unfortunately I am driving from North Carolina to Washington state in the next few weeks, moving back after spending a year studying with Ben Johnston, and my computer has been shipped back. I wont have access to it for a few weeks and so it will probably be too late by the time I get access again, at least 3 weeks :(. Oh well I will send you some code as soon as I actually do have access again even if it doesn't get included in this bug fix release. Thanks, Andy ------------------------------ Date: Sat, 21 Jul 2001 09:19:42 +1000 From: newton armstrong <---@---.---> Subject: Re: buttons vs checkboxes Paul Lansky wrote: > I'm just trying to implement a button to display a value in a NumericalView > during run time. The ButtonView won't work as a trigger to TSpawn, but a > CheckBoxView will (I'm sure there is an easier way to do it...). The > button if preferable since it only requires one mouse click. You can use the toggle method to make a ButtonView behave like a trigger: w = GUIWindow("", Rect.newBy(100, 90, 100, 60)); ButtonView(w, Rect.newBy(10, 20, 80, 20), "Button"); w.at(0).action_({ w.at(0).toggle; w.at(0).value.postln; }); Or did you just want to do something like this? This still works while synthesis is running: w = GUIWindow("", Rect.newBy(100, 90, 100, 120)); ButtonView(w, Rect.newBy(10, 20, 80, 20), "Button"); NumericalView(w, Rect.newBy(10, 60, 80, 20)); w.at(0).action_({ w.at(1).value_(1000.rand) }); // use a Plug to poll values ------------------------------ Date: Sat, 21 Jul 2001 10:19:06 +1000 From: worrall@avatar.com.au (David Worrall) Subject: Re: version 2 bugs yes please, any advance on 32, like 128? >on 7/20/01 5:37 AM, Matthew Rogalsky at mrogalsky@mail.wesleyan.edu wrote: > >> trying to use DiskIn with a 24 channel AIFF I got an >> error message saying 16 was the maximum. > >Well it is trivial to raise it to 32. At this point I'll be lazy and not >make it dynamic, which is also better for efficiency. > > >--- james mccartney james@audiosynth.com >SuperCollider - a real time synthesis programming language for the PowerMac. > _______________________________________________ Avatar Space Designs www.avatar.com.au _______________________________________________ 3D soundscapes-portable geodesics-polymedia ------------------------------ Date: Fri, 20 Jul 2001 20:51:36 -0400 From: felix@crucial-systems.com Subject: Some more sc2 bugs woooo weeee ! EnvGen when handed an explicit gate still gets triggered by an enclosing spawn, when it should wait patiently for the gate to go non-negative. this is a spawn bug EnvGen blows up if an Env segment has a curve of 0 (or less than 0.001) which I guess isn't a bug so much as a reality of math. but the documentation could mention that so idiots like me don't try and figure it out. EnvGen has an annoying buzzing noise if the Env levels are exactly 1.0 at 0.999 they are fine RHPF and i think HPF have an annoying buzz noise when the ffreq is changed and i might be wrong but i think they used to not do that ! sc2.2.4 ? string.copyRange returns garbage if the index is wrong it should return an out of index exception have to run.... i have others, will send tommorow. i have the fixed code for many of them thank you ! > >I am going to release a version 2 bug fix soon. >If you have a pet bug, make it known. _____(( http://crucial-systems.com _________________))_______ ------------------------------ Date: Fri, 20 Jul 2001 21:59:11 -0500 From: James McCartney <---@---.---> Subject: Re: version 2 bugs on 7/20/01 7:19 PM, David Worrall at worrall@avatar.com.au wrote: > yes please, any advance on 32, like 128? What do you use a 128 channel sound file for? - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Fri, 20 Jul 2001 22:11:32 -0500 From: James McCartney <---@---.---> Subject: Re: Some more sc2 bugs on 7/20/01 7:51 PM, felix@crucial-systems.com at felix@crucial-systems.com wrote: > string.copyRange returns garbage if the index is wrong > it should return an out of index exception This was in the list of fixed bugs. It clips the endpoint, no error. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Fri, 20 Jul 2001 21:25:02 -0600 From: "David Cottle" <---@---.---> Subject: Re: version 2 bugs > > doh! ...thanks, > > cb > > On Fri, 20 Jul 2001, James McCartney wrote: >>> >> >> The selection color is under your control via the control panel not mine. But I've also had the same trouble, because the selection is only boxed, not shaded. So I concur, not with the color, but could you shade the entire thing? - -- ><><><><><><><><><><><> David Cottle, computer music, contra, cottle@cerlsoundgroup.org "Country music is three chords and the truth." -Harlan Howard ------------------------------ Date: Fri, 20 Jul 2001 22:35:02 -0500 From: James McCartney <---@---.---> Subject: Re: version 2 bugs on 7/20/01 10:25 PM, David Cottle at cottle@cerlsoundgroup.org wrote: > But I've also had the same trouble, because the selection is only boxed, not > shaded. So I concur, not with the color, but could you shade the entire > thing? No that is how the Mac UI works. A window which is not the frontmost has its selection boxed. Bring it to the front and it is shaded. Try it in any application. For example that is happening in Outlook right now as I type this. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Fri, 20 Jul 2001 23:17:51 -0600 From: "David Cottle" <---@---.---> Subject: Re: version 2 bugs > on 7/20/01 10:25 PM, David Cottle at cottle@cerlsoundgroup.org wrote: > >> But I've also had the same trouble, because the selection is only boxed, not >> shaded. So I concur, not with the color, but could you shade the entire >> thing? > > No that is how the Mac UI works. > A window which is not the frontmost has its selection boxed. Bring it to the > front and it is shaded. > Try it in any application. For example that is happening in Outlook right > now as I type this. SimpleText and Outlook find the word then switch so that the find window is no longer the frontmost, but the document window, so it is fully shaded. MS Word keeps the find window as the front window but shades the entire word. Either way, I have noticed the same problem, but I imagine increasing the darkness of the shading would fix it. I think it's a bit of a moot point, because of the com-L, com-E, com-4 options. You don't even have to deal with the find and replace dialog. - -- ><><><><><><><><><><><> David Cottle, computer music, contra, cottle@cerlsoundgroup.org "This obsession with old music, tends to make all music listening safe and unadventurous since it deals so largely in the works of the accepted masters. Filling our halls with familiar sounds induces a sense of security in our audiences; they are gradually losing all need to exercise freely their own musical judgement." ‹ Copland ------------------------------ Date: Fri, 20 Jul 2001 23:16:46 -0700 From: jr@xs4all.nl (joel ryan) Subject: Re: version 2 bugs Is this a bug? or deeper superC. From time to time I run into a failure of "@" to work where .at does some arrays lookups fail to work with @(i) but do with .at(i) (gives an error about not being able to recognize " .value ") eg 6.do({ arg i; grainWinViews.at(i).value=wBot@(i) }); where wBot is declared: wBot = [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] ; no problem but grainWinViews@(i) gets a '.value' error where grainWinViews = [rv1,rv2,rv3, rv4,rv5,rv6]; and rv1 etc are names assigned to particular rangeviews jr - -- - -=-=-=-=---=-=-=-=-===-----=-==-=-=-====-- Joel Ryan STEIM :: Ballett Frankfurt :: Institute of Sonology Achtergracht 19, 1017WL Amsterdam +31 (20) 624-3886 +31 (20) 626-4262 fax http://www.frankfurt-ballett.de/joel.html http://www.steim.nl ------------------------------ Date: Sat, 21 Jul 2001 05:42:10 -0500 From: James McCartney <---@---.---> Subject: Re: version 2 bugs on 7/21/01 1:16 AM, joel ryan at jr@xs4all.nl wrote: > 6.do({ arg i; grainWinViews.at(i).value=wBot@(i) }); > > where wBot is declared: > wBot = [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] ; > no problem but > grainWinViews@(i) gets a '.value' error a @ b = c @ d is grouped as a @ (b = (c @ d)) Give me the code that fails. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sat, 21 Jul 2001 08:39:44 -0400 (EDT) From: "Ronald J. Kuivila" <---@---.---> Subject: Re: channelOffset (was Re: MOTU 828) Hi James, It certainly makes sense not to make major changes, but SC/Node has no effect on the basic SC class library, it is purely supplemental. RJK On Fri, 20 Jul 2001, James McCartney wrote: > I don't want to both fix bugs and make large changes to the class library in > the same release. The idea is that everyone's 2.2.10 code still runs without > changes. > ------------------------------ Date: Sat, 21 Jul 2001 09:37:19 -0400 (EDT) From: "Ronald J. Kuivila" <---@---.---> Subject: inf redux Hi James, The bug appears when you compare inf to a float. ( inf < 33.3 ).post; RJK ------------------------------ Date: Sat, 21 Jul 2001 07:37:16 -0600 From: "David Cottle" <---@---.---> Subject: Re: version 2 bugs Could I suggest a feature? Go to line number is rather useless because I rarely know what line number I want to go to. How about adding a menu item "show line number" that will display the line number, or open a small window that will display which line number the cursor is currently on. (Or what would be really cool, but difficult to implement; shaded line numbers at the left of each line.) Just a thought. - -- ><><><><><><><><><><><> David Cottle, computer music, contra, cottle@cerlsoundgroup.org "No one leaves until all the fat ladies sing" -Graffito "That's a long time" -Graffito response ------------------------------ Date: Sat, 21 Jul 2001 08:54:15 -0500 From: James McCartney <---@---.---> Subject: Re: inf redux on 7/21/01 8:37 AM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: > Hi James, > > The bug appears when you compare inf to a float. > > ( inf < 33.3 ).post; > > RJK > > OK Now this time pay close attention.. > on 7/20/01 7:53 AM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: > >> There are problems comparing with inf, when it is the receipient >> of the compare message. >> >> RJK >> >> On Thu, 19 Jul 2001, James McCartney wrote: > [...] >>> ------------------------------------------------------------------------- >>> BUG FIXES and changes (incomplete list) : > [...] >>> (inf < 33.3) returns correct answer, false. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sat, 21 Jul 2001 08:56:32 -0500 From: James McCartney <---@---.---> Subject: Re: channelOffset (was Re: MOTU 828) on 7/21/01 7:39 AM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: > It certainly makes sense not to make major changes, but SC/Node has no > effect on the basic SC class library, it is purely supplemental. Unless someone has a class named Node.. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sat, 21 Jul 2001 09:03:48 -0500 From: James McCartney <---@---.---> Subject: Re: version 2 bugs on 7/21/01 8:37 AM, David Cottle at cottle@cerlsoundgroup.org wrote: > > Could I suggest a feature? Go to line number is rather useless because I > rarely know what line number I want to go to. How about adding a menu item > "show line number" that will display the line number, or open a small window > that will display which line number the cursor is currently on. (Or what > would be really cool, but difficult to implement; shaded line numbers at the > left of each line.) > > Just a thought. sorry. open the file in BBEdit. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sat, 21 Jul 2001 09:05:52 -0500 From: James McCartney <---@---.---> Subject: SC/Node Where can I get the most recent version? Swiki is down. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sat, 21 Jul 2001 09:18:33 -0500 From: James McCartney <---@---.---> Subject: Re: channelOffset (was Re: MOTU 828) on 7/21/01 7:39 AM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: > Hi James, > > It certainly makes sense not to make major changes, but SC/Node has no > effect on the basic SC class library, it is purely supplemental. What I will do is release a bug fix only version and then shortly after, one that incorporates SC/Node and, with Felix's permission, his library. Then if somone has trouble with the new libraries they can go to the bug fix only release. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ End of sc-users-digest V1 #328 ******************************