This file contains a loose maintenance history of Philippe Manoury's Jupiter. Jupiter was originally realized at IRCAM on the 4X and premiered in April 1987; musical assistants were Miller Puckette and Cort Lippe. The original version had an additional section that was later cut out. 1992. Adapted to the ISPW by Puckette and Lippe. 1996. Tom Mays added a bank of PAF generators and Manoury reworked some of the synthesis to use PAFs. They also added some flute samples, which are heard for instance at the beginning of section 3. Mays left helpful notes which are reproduced below. Jan. 1997?. MIDI level controls added by Les Stuck (MidiMix.pat, etc.) Aug. 1997. ported to SGI by Puckette (using Paul Foley's X adaptation of ISPW Max.), making many shortcuts and recoding things as externs to speed things up. 2002. Ported to linux by Puckette; stereo output only for now, and the "pitch~" object still crashes, but this could serve as a reference patch to check if things sound right as it gets ported to Pd. 2003. Ported to Pd (on linux) by Puckette; notes included below. ---------------- notes from Tom Mays, 1996 ------------------ Paris, 31 Oct 1996 - by tom Mays, IRCAM Jupiter by Philippe Manoury First ISPW version by Miller Puckette Oct 1996 additions and modifications by Tom Mays Last changes to qlists, Nov 96 before recording and mix. ---Dirctory jupiter-nov96 contains: abstractions - directory containing all abstractions used in jupiter commentaires - directory containing test files for "a-faire" or problems dev - directory containing all resourses and old versions used in development externs - directory containing non-standard externs used in jupiter jupiter.pat - main Max 0.25 patch, LOAD FIRST! jupiter.QLIST.pat - MAX 0.26 patch containing all qlists and qlist controls snd - directory containing all samples and snd tables used in jupiter ***important*** - The old versions of jupiter look for abstractions, tables, sounds, etc within the same directory. In order to run them they need to be placed on the first level, and have the declare path added to them. One hopes that the old versions will not need to be loaded. ---Principal changes in this version (directory "jupiter-nov96) : -- changes made to jupiter-juillet95 - separated qlists into separate patch (jupiter.QLIST.pat) - re-organized main directory - add paths do declare (abstractions:externs:snd) - corrected paf abstractions replaced paf-mod.pat and paf-car.pat with correct newer versions - changed sampling rate of patch from 44.1k to 32k - modified samp.pat (patcher sampler) to compensate for change in sampling frequency. Now called samp44to32.pat. - Lengthened table~ sizes (patcher sampler) so that the 44.1k samples would load into 32k patch - redestributed pafs on cpus 3 and 4 (1-6 on cpu 4, 7-8 on cpu3) so that pafs could run simultaneously with sampler. Set all pafs to be switched by which-synth~ - which-synth-2~ no longer in use - removed switch~ on sampler module, since it must always be available and can run at same time as synthesis - added noise to cpu 2, including matrix to and from all appropriate modules - changed throw~s from cpu 2 to outputs, since spat and noise needed to be mixed. spat and noise each throw~ to cpu2->dac3, cpu2->dac4, cpu2->dac5 and cpu2->dac6 - added "reload table" patcher to chapo synthesis - replaced qlist section.pat abstraction with newer better version corrects for advancing to number higher than highest in qlist. - modified jup-rev.pat (now jup-rev-mod.pat) so that rout~ controls global reverb volume and rto2 and rto4 come after it. - added oto2 to pafs - added atten.pat abstraction to pafs with positive factor of 4.5 to aplify pafs and correct for reletively low level. - added DC filter to paf outputs to correct for "positive only" level bug. ---------------- notes from 2003 port to Pd ---------------- remove "externs", "crutch", and "crutch26" (which were for porting to SGI). borrow "ispw-compat" Pd externs from earlier port of en echo. Grep ".pat" in all the patches (sometimes abstractions were invoked as in "jup-rev-mod.pat" instead of the (preferable) "jup-rev-mod"). In "abstractions", prune the unused ones (found by grepping their names in other patches); then for each of the others, load into Pd, set font size to 10, make minor corrections, and save as Pd files. Remove the old ".pat". examples of corrections: check ISPW style switch~ object (in ISPW its action is more local than on Pd) up~ and down~ don't exist in Pd; delete them and check for anything that might be sample rate dependent systematically remove signals connected to "line~", sig~, adc~. Delread~ has no inlet so they break on load there. check all inlet and outlet objects (may need to become inlet~/outlet~) abstractions containing tab1~ objects: need to ensure that only one of each tab1~ is created. changed one call to "x2" to "xbar" in Jupiter.pat with editor. collected notes about more major changes that would be needed. Collect qlists and explodes. The qlists are already separate files (but we moved and renamed them.) the explodes are inside the old Max/ISPW patch; I copied them into separate patches to keep track of which was which and then massaged them as text. This goes into "scores" and "interpol" directories. With a text editor, change all "set" objects in Jupiter.pat to "setmsg". change all "table" objects to "TABLE" (had to vdelete vtable lines and edit following newobj lines.) Make dummy objects for various things that didn't exist yet. Correct two "expr"s that had a numberical constant that Pd rendered in exponential format (which expr doesn't know about.) Load Jupiter.pat and save as Jupiter.pd. Make shell script to start it. font size to 10, and expand horizontally by 15% changed all table~ objects to table, dropping size argument and changing the message for loading soundfiles chased down references to funbuff object (from ISPW Max) and rewrote them. Not sure if they ever got used! Made a new envlpseq abstraction to replace the patches with the funbuffs. Dropped in score following abstraction after clearing much debris. Turned on DSP and found many "order forcing" connections to delete using "find last error". made an osc2~ using tabread4~ on wavetables; inlets to set phase and table name. Replaced osc1~ with osc2~ in jup-osc and chapo abstractions. edited fshift.pd replacing 2p2z stuff weith hilbert~ object made a new "explode" object that should support its use in interpol here moved over tables "spaf1.t", etc., from en echo. For some reason, they seem to have been used but never filled in in the Max patch...? fixed problems in output channel assignment and master level control found two competing "r noisetutti8" objects -- one was winning in the Max version and the other one in the Pd version. Are there more of these? stuck markers in the qlist to chain each section to the next (the Max patch did this in the EXPFOL abstraction) "interpol3" needed more fixing on closer examination, so that it would act properly whether or not a new rhythm had been recorded. This is now handled using a local variable, "$1-recording-valid" in the abstraction, replacing the global "fucker" in the Max patch. dolist: problem weighting notes at beginnings of sections 10, 5, 6, 7? 3/32/33, 3/64 abrasive high thing? 7/3 wierd pitches? 3/74-75 crunchy chord? fish for duplicate receives doing the same job differently as in noisetutti8 master out shows 0 at startup? older dolist: port new Max version to 6.3 experiment with optimization flags 2/77 missing in computer (was chapo?) new score follower version... 3/100 flute sample nonsense? pafs globally too loud 5/1 sounds cruddy