[Csnd-dev] Missing opcodes when using csound from python
| Date | 2026-01-03 02:16 |
| From | Eduardo Moguillansky |
| Subject | [Csnd-dev] Missing opcodes when using csound from python |
This must be a simple thing, but it is baffling me... When csound is called as "csound -z" I get a complete list of opcodes. The same called from ctcsound leaves many opcodes out. It seems as if many libraries (.so files) are not beeing read by libcsound. Any ideas? This is what I use from python import ctcsound cs = ctcsound.Csound() cs.set_option("-z1") This is with latest develop branch on linux. When csound code which uses such missing opcodes is compiled (via
.compile_orc), csound throws an error. The same code saved as a file and
passed to the csound binary runs correctly. strace shows that in both cases all libraries are being accessed Thanks! For reference, this is the list I get via csound -z1 B MixerClear MixerGetLevel MixerReceive MixerSend MixerSetLevel MixerSetLevel_i OSCraw S a abs active adsr adsyn adsynt adsynt2 aftouch allpole alpass alwayson ampdb ampdbfs ampmidi ampmidicurve ampmidid apoleparams arduinoread arduinoreadf arduinostart arduinostop areson aresonk arg assert assert_false assert_true assertfalse asserttrue atone atonek atonex atsadd atsaddnz atsbufread atscross atsinfo atsinnoi atsinterpread atspartialtap atsread atsreadnz autocorr b babo babo2 balance balance2 bamboo barmodel bbcutm bbcuts betarand bexprnd bformdec1 bformdec2 bformenc1 binit biquad biquada birnd bob bpf bpfcos bqrez butbp butbr buthp butlp butterbp butterbr butterhp butterlp button buzz c2r cabasa cauchy cauchyi cbrt ceil cell cent centroid ceps cepsinv cggoto chanctrl changed changed2 chani chano chebyshevpoly checkbox chnS chna chnarray chnclear chncleararray chnexport chnget chngeta chngeti chngetk chngetks chngets chnk chnmix chnparams chnset chnseta chnseti chnsetk chnsetks chnsets cigoto cingoto ckgoto clear clfilt clip clockoff clockon cmp cmplxprod cngoto cnkgoto cntcreate cntcycles cntdelete cntdeletei cntread cntreset cntstate comb combinv compilecsd compileorc compilestr complex compress compress2 conj connect control convle convolve copya2ftab copyf2array cos cosh cosinv cosseg cossegb cossegr count counti cps2pch cpsmidi cpsmidib cpsmidinn cpsoct cpspch cpstmid cpstun cpstuni cpsxpch cpumeter cpuprc create createinstr cross2 crossfm crossfmi crossfmpm crossfmpmi crosspm crosspmi crunch ctlchn ctrl14 ctrl21 ctrl7 ctrlinit ctrlpreset ctrlprint ctrlprintpresets ctrlsave ctrlselect cuserrnd dam date dates db dbamp dbfsamp dcblock dcblock2 dconv dct dctinv declare deinterleave delay delay1 delayk delayr delayw delete deltap deltap3 deltapi deltapn deltapx deltapxw denorm destroy diff diodeladder directory diskgrain diskin diskin2 dispfft display distort distort1 divz doppler dot downsamp dripwater dumpk dumpk2 dumpk3 dumpk4 duserrnd dust dust2 earlysmps elapsedcycles elapsedtime endin endop envlpx envlpxr ephasor eqfil evalstr event eventcycles eventi eventtime eventtype exciter exitnow exp expcurve expon exprand exprandi expseg expsega expsegb expsegba expsegr fareylen fareyleni fft fftinv ficlose filebit filelen filenchnls filepeak filescal filesr filevalid fillarray filter2 fin fini fink fiopen flanger flashtxt floatsize flooper flooper2 floor fmanal fmax fmb3 fmbell fmin fmmetal fmod fmpercfl fmrhode fmvoice fmwurlie fof fof2 fofilter fog fold follow follow2 foscil foscili fout fouti foutir foutk fprintks fprints frac fractalnoise framebuffer freeverb ftaudio ftchnls ftconv ftcps ftexists ftfree ftgen ftgenonce ftgentmp ftlen ftload ftloadk ftlptim ftmorf ftom ftprint ftresize ftresizei ftsamplebank ftsave ftsavek ftset ftslice ftslicei ftsr gain gainslider gauss gaussi gausstrig gbuzz genarray gendy gendyc gendyx getcfg getcol getftargs getinstance getp getrow getseed gogobel goto grain grain2 grain3 granule gtadsr gtf guiro harmon harmon2 harmon3 harmon4 hilbert hilbert2 hrtfearly hrtfmove hrtfmove2 hrtfreverb hrtfstat hsboscil hvs1 hvs2 hvs3 hypot i igoto ihold imag in in32 inch inh init initc14 initc21 initc7 inleta inletf inletk inletkid inletv ino inrg insglobal insremot instr instrnum instrstr int integ interleave interp invalue inx inz isactive isreleasing jitter jitter2 joystick jspline k k35hpf k35lpf kgoto lag lagud lastcycle lenarray lfo lfsr limit limit1 lincos line linen linenr lineto linlin linrand linseg linsegb linsegr liveconv locsend locsig log log10 log2 logbtwo logcurve loopge loopgt loople looplt loopseg loopsegp looptseg loopxseg lorenz loscil loscil3 loscil3phs loscilphs loscilx lowpass2 lowres lowresx lpcanal lpcfilter lpf18 lpform lpfreson lphasor lpinterp lposcil lposcil3 lposcila lposcilsa lposcilsa2 lpread lpreson lpshold lpsholdp lpslot lufs mac maca madsr mags mandel mandol maparray maparrayi marimba massign max maxabs maxabsaccum maxaccum maxalloc maxarray maxk mclock mdelay median mediank metro metro2 metrobpm mfb midglobal midiarp midic14 midic21 midic7 midichannelaftertouch midichn midiclockfreq midiclockin midicontinue midicontrolchange midictrl mididefault midifilein midifilelen midifilemute midifileopen midifilepause midifileplay midifilepos midifilerewind midifilestatus midifiletempo midifilevents midiin midinoteoff midinoteoncps midinoteonkey midinoteonoct midinoteonpch midion midion2 midiout midiout_i midiouti midipgm midipitchbend midipolyaftertouch midiprogramchange midistart midistop miditempo midremot min minabs minabsaccum minaccum minarray mincer mirror mixerclear mixergetlevel mixerreceive mixersend mixersetlevel mixersetleveli mode modmatrix monitor moog moogladder moogladder2 moogvcf moogvcf2 moscil mp3bitrate mp3nchnls mp3scal mp3sr mpulse mrtmsg ms2st mtof mton multitap mute mvchpf mvclpf1 mvclpf2 mvclpf3 mvclpf4 mvmfilter mxadsr nchnlshw nestedap nlalp nlfilt nlfilt2 noise noteoff noteon noteondur noteondur2 notnum nreverb nrpn nsamp nstance nstrnum nstrstr ntof ntom ntrpol nxtpow2 octave octcps octmidi octmidib octmidinn octpch offsetsmps olabuffer opcode opcodeinfo opcoderef oscbundle osccount oscil oscil1 oscil1i oscil3 oscilbank oscili oscilikt osciliktp oscilikts osciln oscils oscilx oscinit oscinitm osclisten oscsend otafilter out outall outc outch outiat outic outic14 outipat outipb outipc outkat outkc outkc14 outkpat outkpb outkpc outleta outletf outletk outletkid outletv outrg outvalue outz oversample p pan pan2 pareq part2txt partials partikkel partikkelget partikkelset partikkelsync passign paulstretch pause pcauchy pchbend pchmidi pchmidib pchmidinn pchoct pchtom pconvolve pcount pdclip pdhalf pdhalfy peak perf pgmassign pgmchn phaser1 phaser2 phasor phasorbnk phs pindex pinker pinkish pitch pitchac pitchamdf planet platerev play plltrack pluck poisson pol2rect polar polyaft polynomial port portk poscil poscil3 pow powershape powoftwo pows prealloc prepiano print printarray printf printfi printk printk2 printks printks2 println prints printsk printtype product pset ptablew ptrack puts pvadd pvbufread pvcross pvinterp pvoc pvread pvs2array pvs2tab pvsadsyn pvsanal pvsarp pvsbandp pvsbandr pvsbandwidth pvsbin pvsblur pvsbuffer pvsbufread pvsbufread2 pvscale pvscent pvsceps pvscfs pvscross pvsdemix pvsdiskin pvsdisp pvsenvftw pvsfilter pvsfread pvsfreeze pvsfromarray pvsftr pvsftw pvsfwrite pvsgain pvsgendy pvshift pvsifd pvsin pvsinfo pvsinit pvslock pvslpc pvsmaska pvsmix pvsmooth pvsmorph pvsosc pvsout pvspitch pvstanal pvstencil pvstrace pvsvoc pvswarp pvsynth pwd qinf qnan r2c rand randc randh randi random randomh randomi rbjeq readclock readf readfi readk readk2 readk3 readk4 readks readscore readscratch real rect2pol reinit release remoteport remove repluck reshapearray reson resonbnk resonk resonr resonx resonxk resony resonz resyn return reverb reverb2 reverbsc reverbsc2 rewindscore rezzy rfft rifft rigoto rireturn rms rnd rnd31 rndseed round rspline rtclock run s16b14 s32b14 samphold sandpaper scale scale2 scalearray scanhammer scanmap scans scansmap scantable scanu scanu2 schedkwhen schedkwhennamed schedule schedulek schedwhen sclag sclagud scoreline scorelinei scphasor sctrig seed sekere select semitone sense sensekey seqtime seqtime2 sequ sequstate serialbegin serialend serialflush serialprint serialrad serialwrite serialwritei setcol setctrl setksmps setoption setp setrow setscorepos sfilist sfinstr sfinstr3 sfinstr3m sfinstrm sfload sflooper sfpassign sfplay sfplay3 sfplay3m sfplaym sfplist sfpreset shaker shiftin shiftout signum sin sinh sininv sinsyn skf sleighbells slicearray slicearray_i slicearrayi slider16 slider16f slider16table slider16tablef slider32 slider32f slider32table slider32tablef slider64 slider64f slider64table slider64tablef slider8 slider8f slider8table slider8tablef sliderkawai sndloop sndwarp sndwarpst sockrecv sockrecvs socksend socksends sorta sortd soundin space spat3d spat3di spat3dt spdist spf splice splitrig sprintf sprintfk spsend sqrt squinewave st2ms start statevar sterrain stix str strcat strcatk strchar strchark strcmp strcmpk strcpy strcpyk strecv streson strfromurl strget strindex strindexk string2array strlen strlenk strlower strlowerk strrindex strrindexk strset strstrip strsub strsubk strtod strtodk strtol strtolk strupper strupperk stsend subinstr subinstrinit sum sumarray svfilter svn syncgrain syncloop syncphasor system systemi systime tab tab2array tab2pvs tabi tabifd table table3 table3kt tablecopy tablefilter tablefilteri tablegpw tablei tableicopy tableigpw tableikt tableimix tablekt tablemix tableng tablera tableseg tableshuffle tableshufflei tablew tablewa tablewkt tablexkt tablexseg tabmorph tabmorpha tabmorphak tabmorphi tabplay tabrec tabsum tabw tabwi tambourine tan tanh taninv taninv2 taninvx2 tbvcf tempest tempo temposcal tempoval tigoto timedseq timeinstk timeinsts timek times timout tival tlineto tone tonek tonex tradsyn trandom transeg transegb transegr trcross trfilter trhighest trigExpseg trigLinseg trigexpseg trigger trighold triglinseg trigphasor trigseq trim trimi trirand trlowest trmix trscale trshift trsplit turnoff turnoff2 turnoff2i turnoff3 turnon tvconv typecheck typeof undersample unirand unschedule unscheduleall unwrap upsamp urandom urd vactrol vadd vaddi vaddv vaddvi vaget valpass vaset vbap vbapg vbapgmove vbaplsinit vbapmove vbapz vbapzmove vcella vclpf vco vco2 vco2ft vco2ift vco2init vcomb vcopy vcopyi vdel_k vdelay vdelay3 vdelayk vdelayx vdelayxq vdelayxs vdelayxw vdelayxwq vdelayxws vdivv vdivvi vecdelay veloc vexp vexpi vexpseg vexpv vexpvi vibes vibr vibrato vincr vlimit vlinseg vlowres vmap vmirror vmult vmulti vmultv vmultvi voice vosim vphaseseg vport vpow vpowi vpowv vpowvi vps vpvoc vrandh vrandi vsubv vsubvi vtaba vtabi vtabk vtable1k vtablea vtablei vtablek vtablewa vtablewi vtablewk vtabwa vtabwi vtabwk vwrap waveset weibull wgbow wgbowedbar wgbrass wgclar wgflute wgpluck wgpluck2 wguide1 wguide2 window wrap writescratch wterrain wterrain2 xadsr xin xout xtratim xyscale zacl zakinit zamod zar zarg zaw zawm zdf1pole zdf1polemode zdf2pole zdf2polemode zdfladder zfilter2 zir ziw ziwm zkcl zkmod zkr zkw zkwm 1268 opcodes ------------------------------------------- This is the list from ctcsound B MixerClear MixerGetLevel MixerReceive MixerSend MixerSetLevel MixerSetLevel_i OSCraw S a abs active adsr adsyn aftouch allpole alpass alwayson ampdb ampdbfs ampmidi ampmidicurve ampmidid apoleparams arduinoread arduinoreadf arduinostart arduinostop areson aresonk arg assert assert_false assert_true assertfalse asserttrue atone atonek atonex b balance balance2 bamboo betarand bexprnd bformdec2 birnd butbp butbr buthp butlp butterbp butterbr butterhp butterlp button buzz cabasa cauchy cauchyi cbrt ceil cell cent cggoto chanctrl changed changed2 chani chano checkbox chnS chna chnarray chnclear chncleararray chnexport chnget chngeta chngeti chngetk chngetks chngets chnk chnmix chnparams chnset chnseta chnseti chnsetk chnsetks chnsets cigoto cingoto ckgoto clear cngoto cnkgoto cntcreate cntcycles cntdelete cntdeletei cntread cntreset cntstate comb combinv compilecsd compileorc compilestr complex compress compress2 conj connect control copya2ftab copyf2array cos cosh cosinv cosseg cossegb cossegr count counti cps2pch cpsmidi cpsmidib cpsmidinn cpsoct cpspch cpstmid cpstun cpstuni cpsxpch cpumeter cpuprc create createinstr crossfm crossfmi crossfmpm crossfmpmi crosspm crosspmi crunch ctlchn ctrl14 ctrl21 ctrl7 ctrlinit ctrlpreset ctrlprint ctrlprintpresets ctrlsave ctrlselect date dates db dbamp dbfsamp declare delay delay1 delayr delayw delete deltap deltap3 deltapi deltapn deltapx deltapxw destroy diff diodeladder directory diskin diskin2 dispfft display distort divz doppler dot downsamp dripwater dumpk dumpk2 dumpk3 dumpk4 dust dust2 earlysmps elapsedcycles elapsedtime endin endop envlpx envlpxr ephasor eqfil evalstr event eventcycles eventi eventtime eventtype exciter exp expcurve expon exprand exprandi expseg expsega expsegb expsegba expsegr fareylen fareyleni filebit filelen filenchnls filepeak filesr filevalid fillarray flashtxt floatsize floor fmax fmb3 fmbell fmin fmmetal fmod fmpercfl fmrhode fmvoice fmwurlie foscil foscili frac fractalnoise framebuffer ftaudio ftchnls ftcps ftgenonce ftlen ftlptim ftresize ftresizei ftsamplebank ftsr gain gainslider gauss gaussi gausstrig gbuzz genarray gendy gendyc gendyx getcfg getinstance getp getseed gogobel goto granule gtadsr gtf guiro hrtfearly hvs1 hvs2 hvs3 hypot i igoto ihold imag in in32 inch inh init initc14 initc21 initc7 inleta inletf inletk inletkid inletv ino inrg insglobal insremot instr instrnum instrstr int integ interp invalue inx inz isactive isreleasing joystick k k35hpf k35lpf kgoto lag lagud lenarray lfo lfsr limit limit1 line linen linenr linrand linseg linsegb linsegr liveconv log log10 log2 logbtwo logcurve loopge loopgt loople looplt loscil loscil3 loscil3phs loscilphs loscilx lpcanal lpcfilter lpform lpfreson lphasor lpinterp lposcil lposcil3 lposcila lposcilsa lposcilsa2 lpread lpreson lpslot lufs madsr mandol maparray maparrayi marimba massign max maxabs maxabsaccum maxaccum maxalloc maxarray mclock mdelay midglobal midiarp midic14 midic21 midic7 midichannelaftertouch midichn midiclockfreq midiclockin midicontinue midicontrolchange midictrl mididefault midifilein midifilelen midifilemute midifileopen midifilepause midifileplay midifilepos midifilerewind midifilestatus midifiletempo midifilevents midiin midinoteoff midinoteoncps midinoteonkey midinoteonoct midinoteonpch midion midion2 midiout midiout_i midiouti midipgm midipitchbend midipolyaftertouch midiprogramchange midistart midistop miditempo midremot min minabs minabsaccum minaccum minarray mixerclear mixergetlevel mixerreceive mixersend mixersetlevel mixersetleveli modmatrix monitor moog moscil mrtmsg multitap mute mxadsr nchnlshw noteoff noteon noteondur noteondur2 notnum nreverb nrpn nsamp nstance nstrnum nstrstr octave octcps octmidi octmidib octmidinn octpch offsetsmps olabuffer opcode opcodeinfo opcoderef oscbundle osccount oscil oscil1 oscil1i oscil3 oscili osciln oscils oscilx oscinit oscinitm osclisten oscsend out outall outc outch outiat outic outic14 outipat outipb outipc outkat outkc outkc14 outkpat outkpb outkpc outleta outletf outletk outletkid outletv outrg outvalue outz oversample p pan partikkel partikkelget partikkelset partikkelsync passign pause pcauchy pchbend pchmidi pchmidib pchmidinn pchoct pcount peak perf pgmassign pgmchn phasor pindex pinker play pluck poisson polar polyaft port portk poscil poscil3 pow powoftwo prealloc print printf printfi printk printk2 printks printks2 prints printtype product pset ptablew puts pvsadsyn pvsanal pvscfs pvscross pvsdisp pvsfread pvsftr pvsftw pvsin pvsinfo pvslpc pvsmaska pvsout pvstrace pvsynth pwd qinf qnan rand randc randh randi readf readfi readk readk2 readk3 readk4 readks readscore real reinit release remoteport remove reson resonbnk resonk resonx return reverb reverb2 rewindscore rigoto rireturn rms rnd rndseed round rtclock run s16b14 s32b14 samphold sandpaper scale scale2 scalearray schedkwhen schedkwhennamed schedule schedulek schedwhen sclag sclagud scoreline scorelinei scphasor sctrig seed sekere select semitone sense sensekey sequ sequstate serialbegin serialend serialflush serialprint serialrad serialwrite serialwritei setctrl setksmps setoption setp setscorepos sfilist sfinstr sfinstr3 sfinstr3m sfinstrm sfload sflooper sfpassign sfplay sfplay3 sfplay3m sfplaym sfplist sfpreset shaker signum sin sinh sininv sleighbells slicearray slicearray_i slicearrayi slider16 slider16f slider16table slider16tablef slider32 slider32f slider32table slider32tablef slider64 slider64f slider64table slider64tablef slider8 slider8f slider8table slider8tablef sliderkawai sockrecv sockrecvs socksend socksends sorta sortd soundin splice sprintf sprintfk sqrt squinewave start sterrain stix str strcat strcatk strchar strchark strcmp strcmpk strcpy strcpyk strecv strfromurl strget strindex strindexk string2array strlen strlenk strlower strlowerk strrindex strrindexk strset strsub strsubk strtod strtodk strtol strtolk strupper strupperk stsend subinstr subinstrinit sum sumarray system systemi systime table table3 table3kt tablecopy tablefilter tablefilteri tablegpw tablei tableicopy tableigpw tableikt tableimix tablekt tablemix tableng tablera tableshuffle tableshufflei tablew tablewa tablewkt tablexkt tabmorph tabmorpha tabmorphak tabmorphi tabsum tambourine tan tanh taninv taninv2 taninvx2 tempest tempo tempoval tigoto timeinstk timeinsts timek times timout tival tone tonek tonex trandom trigExpseg trigLinseg trigexpseg trighold triglinseg trigphasor trigseq trim trimi trirand turnoff turnoff2 turnoff2i turnoff3 turnon tvconv typecheck typeof undersample unirand unschedule unscheduleall upsamp urandom vactrol vaget vaset vdelay vdelay3 vdelayx vdelayxq vdelayxs vdelayxw vdelayxwq vdelayxws veloc vibes voice vosim vphaseseg vtable1k weibull wgbow wgbowedbar wgbrass wgclar wgflute xadsr xin xout xtratim zacl zakinit zamod zar zarg zaw zawm zdf1pole zdf1polemode zdf2pole zdf2polemode zdfladder zir ziw ziwm zkcl zkmod zkr zkw zkwm 848 opcodes |
| Date | 2026-01-03 10:12 |
| From | Victor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE> |
| Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] Missing opcodes when using csound from python |
|
Which opcodes are left out?
Prof. Victor Lazzarini
Maynooth University
Ireland
On 3 Jan 2026, at 02:16, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|
| Date | 2026-01-03 11:35 |
| From | Victor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE> |
| Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] Missing opcodes when using csound from python |
I tried your code here on MacOS and got exactly the same as in the Csound cli. victor@firebird Python % python3 listopc.py imported Reading options from $HOME/.csound7rc B MixerClear MixerGetLevel MixerReceive MixerSend MixerSetLevel MixerSetLevel_i OSCraw OSCsend_lo S a abs active adsr adsyn adsynt adsynt2 aftouch allpole alpass alwayson ampdb ampdbfs ampmidi ampmidicurve ampmidid apoleparams arduinoread arduinoreadf arduinostart arduinostop areson aresonk arg assert assert_false assert_true assertfalse asserttrue atone atonek atonex atsadd atsaddnz atsbufread atscross atsinfo atsinnoi atsinterpread atspartialtap atsread atsreadnz autocorr b babo babo2 balance balance2 bamboo barmodel bbcutm bbcuts betarand bexprnd bformdec1 bformdec2 bformenc1 binit biquad biquada birnd bob bpf bpfcos bqrez butbp butbr buthp butlp butterbp butterbr butterhp butterlp button buzz c2r cabasa cauchy cauchyi cbrt ceil cell cent centroid ceps cepsinv cggoto chanctrl changed changed2 chani chano chebyshevpoly checkbox chnS chna chnarray chnclear chncleararray chnexport chnget chngeta chngeti chngetk chngetks chngets chnk chnmix chnparams chnset chnseta chnseti chnsetk chnsetks chnsets cigoto cingoto ckgoto clear clfilt clip clockoff clockon cmp cmplxprod cngoto cnkgoto cntcreate cntcycles cntdelete cntdeletei cntread cntreset cntstate comb combinv compilecsd compileorc compilestr complex compress compress2 conj connect control convle convolve copya2ftab copyf2array cos cosh cosinv cosseg cossegb cossegr count counti cps2pch cpsmidi cpsmidib cpsmidinn cpsoct cpspch cpstmid cpstun cpstuni cpsxpch cpumeter cpuprc create createinstr cross2 crossfm crossfmi crossfmpm crossfmpmi crosspm crosspmi crunch ctlchn ctrl14 ctrl21 ctrl7 ctrlinit ctrlpreset ctrlprint ctrlprintpresets ctrlsave ctrlselect cuserrnd dam date dates db dbamp dbfsamp dcblock dcblock2 dconv dct dctinv declare deinterleave delay delay1 delayk delayr delayw delete deltap deltap3 deltapi deltapn deltapx deltapxw denorm destroy diff diodeladder directory diskgrain diskin diskin2 dispfft display distort distort1 divz doppler dot downsamp dripwater dumpk dumpk2 dumpk3 dumpk4 duserrnd dust dust2 earlysmps elapsedcycles elapsedtime endin endop envlpx envlpxr ephasor eqfil evalstr event eventcycles eventi eventtime eventtype exciter exitnow exp expcurve expon exprand exprandi expseg expsega expsegb expsegba expsegr fareylen fareyleni fft fftinv ficlose filebit filelen filenchnls filepeak filescal filesr filevalid fillarray filter2 fin fini fink fiopen flanger flashtxt floatsize flooper flooper2 floor fmanal fmax fmb3 fmbell fmin fmmetal fmod fmpercfl fmrhode fmvoice fmwurlie fof fof2 fofilter fog fold follow follow2 foscil foscili fout fouti foutir foutk fprintks fprints frac fractalnoise framebuffer freeverb ftaudio ftchnls ftconv ftcps ftexists ftfree ftgen ftgenonce ftgentmp ftlen ftload ftloadk ftlptim ftmorf ftom ftprint ftresize ftresizei ftsamplebank ftsave ftsavek ftset ftslice ftslicei ftsr gain gainslider gauss gaussi gausstrig gbuzz genarray gendy gendyc gendyx getcfg getcol getftargs getinstance getp getrow getseed gogobel goto grain grain2 grain3 granule gtadsr gtf guiro harmon harmon2 harmon3 harmon4 hilbert hilbert2 hrtfearly hrtfmove hrtfmove2 hrtfreverb hrtfstat hsboscil hvs1 hvs2 hvs3 hypot i igoto ihold imag in in32 inch inh init initc14 initc21 initc7 inleta inletf inletk inletkid inletv ino inrg insglobal insremot instr instrnum instrstr int integ interleave interp invalue inx inz isactive isreleasing jitter jitter2 jspline k k35hpf k35lpf kgoto lag lagud lastcycle lenarray lfo lfsr limit limit1 lincos line linen linenr lineto linlin linrand linseg linsegb linsegr liveconv locsend locsig log log10 log2 logbtwo logcurve loopge loopgt loople looplt loopseg loopsegp looptseg loopxseg lorenz loscil loscil3 loscil3phs loscilphs loscilx lowpass2 lowres lowresx lpcanal lpcfilter lpf18 lpform lpfreson lphasor lpinterp lposcil lposcil3 lposcila lposcilsa lposcilsa2 lpread lpreson lpshold lpsholdp lpslot lufs mac maca madsr mags mandel mandol maparray maparrayi marimba massign max maxabs maxabsaccum maxaccum maxalloc maxarray maxk mclock mdelay median mediank metro metro2 metrobpm mfb midglobal midiarp midic14 midic21 midic7 midichannelaftertouch midichn midiclockfreq midiclockin midicontinue midicontrolchange midictrl mididefault midifilein midifilelen midifilemute midifileopen midifilepause midifileplay midifilepos midifilerewind midifilestatus midifiletempo midifilevents midiin midinoteoff midinoteoncps midinoteonkey midinoteonoct midinoteonpch midion midion2 midiout midiout_i midiouti midipgm midipitchbend midipolyaftertouch midiprogramchange midistart midistop miditempo midremot min minabs minabsaccum minaccum minarray mincer mirror mixerclear mixergetlevel mixerreceive mixersend mixersetlevel mixersetleveli mode modmatrix monitor moog moogladder moogladder2 moogvcf moogvcf2 moscil mp3bitrate mp3nchnls mp3scal mp3sr mpulse mrtmsg ms2st mtof mton multitap mute mvchpf mvclpf1 mvclpf2 mvclpf3 mvclpf4 mvmfilter mxadsr nchnlshw nestedap nlalp nlfilt nlfilt2 noise noteoff noteon noteondur noteondur2 notnum nreverb nrpn nsamp nstance nstrnum nstrstr ntof ntom ntrpol nxtpow2 octave octcps octmidi octmidib octmidinn octpch offsetsmps olabuffer opcode opcodeinfo opcoderef oscbundle osccount oscil oscil1 oscil1i oscil3 oscilbank oscili oscilikt osciliktp oscilikts osciln oscils oscilx oscinit oscinitm osclisten oscsend otafilter out outall outc outch outiat outic outic14 outipat outipb outipc outkat outkc outkc14 outkpat outkpb outkpc outleta outletf outletk outletkid outletv outrg outvalue outz oversample p pan pan2 pareq part2txt partials partikkel partikkelget partikkelset partikkelsync passign paulstretch pause pcauchy pchbend pchmidi pchmidib pchmidinn pchoct pchtom pconvolve pcount pdclip pdhalf pdhalfy peak perf pgmassign pgmchn phaser1 phaser2 phasor phasorbnk phs pindex pinker pinkish pitch pitchac pitchamdf planet platerev play plltrack pluck poisson pol2rect polar polyaft polynomial port portk poscil poscil3 pow powershape powoftwo pows prealloc prepiano print printarray printf printfi printk printk2 printks printks2 println prints printsk printtype product pset ptablew ptrack puts pvadd pvbufread pvcross pvinterp pvoc pvread pvs2array pvs2tab pvsadsyn pvsanal pvsarp pvsbandp pvsbandr pvsbandwidth pvsbin pvsblur pvsbuffer pvsbufread pvsbufread2 pvscale pvscent pvsceps pvscfs pvscross pvsdemix pvsdiskin pvsdisp pvsenvftw pvsfilter pvsfread pvsfreeze pvsfromarray pvsftr pvsftw pvsfwrite pvsgain pvsgendy pvshift pvsifd pvsin pvsinfo pvsinit pvslock pvslpc pvsmaska pvsmix pvsmooth pvsmorph pvsosc pvsout pvspitch pvstanal pvstencil pvstrace pvsvoc pvswarp pvsynth pwd qinf qnan r2c rand randc randh randi random randomh randomi rbjeq readclock readf readfi readk readk2 readk3 readk4 readks readscore readscratch real rect2pol reinit release remoteport remove repluck reshapearray reson resonbnk resonk resonr resonx resonxk resony resonz resyn return reverb reverb2 reverbsc reverbsc2 rewindscore rezzy rfft rifft rigoto rireturn rms rnd rnd31 rndseed round rspline rtclock run s16b14 s32b14 samphold sandpaper sc_lagud scale scale2 scalearray scanhammer scanmap scans scansmap scantable scanu scanu2 schedkwhen schedkwhennamed schedule schedulek schedwhen sclag sclagud scoreline scorelinei scphasor sctrig seed sekere select semitone sense sensekey seqtime seqtime2 sequ sequstate serialbegin serialend serialflush serialprint serialrad serialwrite serialwritei setcol setctrl setksmps setoption setp setrow setscorepos sfilist sfinstr sfinstr3 sfinstr3m sfinstrm sfload sflooper sfpassign sfplay sfplay3 sfplay3m sfplaym sfplist sfpreset shaker shiftin shiftout signum sin sinh sininv sinsyn skf sleighbells slicearray slicearray_i slicearrayi slider16 slider16f slider16table slider16tablef slider32 slider32f slider32table slider32tablef slider64 slider64f slider64table slider64tablef slider8 slider8f slider8table slider8tablef sliderkawai sndloop sndwarp sndwarpst sockrecv sockrecvs socksend socksends sorta sortd soundin space spat3d spat3di spat3dt spdist spf splice splitrig sprintf sprintfk spsend sqrt squinewave st2ms start statevar sterrain stix str strcat strcatk strchar strchark strcmp strcmpk strcpy strcpyk strecv streson strfromurl strget strindex strindexk string2array strlen strlenk strlower strlowerk strrindex strrindexk strset strstrip strsub strsubk strtod strtodk strtol strtolk strupper strupperk stsend subinstr subinstrinit sum sumarray svfilter svn syncgrain syncloop syncphasor system systemi systime tab tab2array tab2pvs tabi tabifd table table3 table3kt tablecopy tablefilter tablefilteri tablegpw tablei tableicopy tableigpw tableikt tableimix tablekt tablemix tableng tablera tableseg tableshuffle tableshufflei tablew tablewa tablewkt tablexkt tablexseg tabmorph tabmorpha tabmorphak tabmorphi tabplay tabrec tabsum tabw tabwi tambourine tan tanh taninv taninv2 taninvx2 tbvcf tempest tempo temposcal tempoval tigoto timedseq timeinstk timeinsts timek times timout tival tlineto tone tonek tonex tradsyn trandom transeg transegb transegr trcross trfilter trhighest trigExpseg trigLinseg trigexpseg trigger trighold triglinseg trigphasor trigseq trim trimi trirand trlowest trmix trscale trshift trsplit turnoff turnoff2 turnoff2i turnoff3 turnon tvconv typecheck typeof undersample unirand unschedule unscheduleall unwrap upsamp urandom urd vactrol vadd vaddi vaddv vaddvi vaget valpass vaset vbap vbapg vbapgmove vbaplsinit vbapmove vbapz vbapzmove vcella vclpf vco vco2 vco2ft vco2ift vco2init vcomb vcopy vcopyi vdel_k vdelay vdelay3 vdelayk vdelayx vdelayxq vdelayxs vdelayxw vdelayxwq vdelayxws vdivv vdivvi vecdelay veloc vexp vexpi vexpseg vexpv vexpvi vibes vibr vibrato vincr vlimit vlinseg vlowres vmap vmirror vmult vmulti vmultv vmultvi voice vosim vphaseseg vport vpow vpowi vpowv vpowvi vps vpvoc vrandh vrandi vsubv vsubvi vtaba vtabi vtabk vtable1k vtablea vtablei vtablek vtablewa vtablewi vtablewk vtabwa vtabwi vtabwk vwrap waveset weibull wgbow wgbowedbar wgbrass wgclar wgflute wgpluck wgpluck2 wguide1 wguide2 window wrap writescratch wterrain wterrain2 xadsr xin xout xtratim xyscale zacl zakinit zamod zar zarg zaw zawm zdf1pole zdf1polemode zdf2pole zdf2polemode zdfladder zfilter2 zir ziw ziwm zkcl zkmod zkr zkw zkwm 1269 opcodes Note that this is with -z, with -z1 I get 2196 opcodes, but that’s the same as with the cli csound. In my case, the builds are done with BUILD_PLUGINS=0 so all opcodes in /Opcodes are baked in. Make sure there is only one version of libcsound around, to ensure that ctcsound is using the same library as the cli csound. > On 3 Jan 2026, at 02:16, Eduardo Moguillansky |
| Date | 2026-01-03 11:51 |
| From | Victor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE> |
| Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] Missing opcodes when using csound from python |
Further to this, I also built Csound with plugins and got the same results. Changing the OPCODE7DIR64 to somewhere else got me 589 opcodes on both Python and cli. ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 3 Jan 2026, at 11:35, Victor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE> wrote: > > I tried your code here on MacOS and got exactly the same as in the Csound cli. > > victor@firebird Python % python3 listopc.py > imported > Reading options from $HOME/.csound7rc > > B MixerClear MixerGetLevel MixerReceive > MixerSend MixerSetLevel MixerSetLevel_i OSCraw > OSCsend_lo S a abs > active adsr adsyn adsynt > adsynt2 aftouch allpole alpass > alwayson ampdb ampdbfs ampmidi > ampmidicurve ampmidid apoleparams arduinoread > arduinoreadf arduinostart arduinostop areson > aresonk arg assert assert_false > assert_true assertfalse asserttrue atone > atonek atonex atsadd atsaddnz > atsbufread atscross atsinfo atsinnoi > atsinterpread atspartialtap atsread atsreadnz > autocorr b babo babo2 > balance balance2 bamboo barmodel > bbcutm bbcuts betarand bexprnd > bformdec1 bformdec2 bformenc1 binit > biquad biquada birnd bob > bpf bpfcos bqrez butbp > butbr buthp butlp butterbp > butterbr butterhp butterlp button > buzz c2r cabasa cauchy > cauchyi cbrt ceil cell > cent centroid ceps cepsinv > cggoto chanctrl changed changed2 > chani chano chebyshevpoly checkbox > chnS chna chnarray chnclear > chncleararray chnexport chnget chngeta > chngeti chngetk chngetks chngets > chnk chnmix chnparams chnset > chnseta chnseti chnsetk chnsetks > chnsets cigoto cingoto ckgoto > clear clfilt clip clockoff > clockon cmp cmplxprod cngoto > cnkgoto cntcreate cntcycles cntdelete > cntdeletei cntread cntreset cntstate > comb combinv compilecsd compileorc > compilestr complex compress compress2 > conj connect control convle > convolve copya2ftab copyf2array cos > cosh cosinv cosseg cossegb > cossegr count counti cps2pch > cpsmidi cpsmidib cpsmidinn cpsoct > cpspch cpstmid cpstun cpstuni > cpsxpch cpumeter cpuprc create > createinstr cross2 crossfm crossfmi > crossfmpm crossfmpmi crosspm crosspmi > crunch ctlchn ctrl14 ctrl21 > ctrl7 ctrlinit ctrlpreset ctrlprint > ctrlprintpresets ctrlsave ctrlselect cuserrnd > dam date dates db > dbamp dbfsamp dcblock dcblock2 > dconv dct dctinv declare > deinterleave delay delay1 delayk > delayr delayw delete deltap > deltap3 deltapi deltapn deltapx > deltapxw denorm destroy diff > diodeladder directory diskgrain diskin > diskin2 dispfft display distort > distort1 divz doppler dot > downsamp dripwater dumpk dumpk2 > dumpk3 dumpk4 duserrnd dust > dust2 earlysmps elapsedcycles elapsedtime > endin endop envlpx envlpxr > ephasor eqfil evalstr event > eventcycles eventi eventtime eventtype > exciter exitnow exp expcurve > expon exprand exprandi expseg > expsega expsegb expsegba expsegr > fareylen fareyleni fft fftinv > ficlose filebit filelen filenchnls > filepeak filescal filesr filevalid > fillarray filter2 fin fini > fink fiopen flanger flashtxt > floatsize flooper flooper2 floor > fmanal fmax fmb3 fmbell > fmin fmmetal fmod fmpercfl > fmrhode fmvoice fmwurlie fof > fof2 fofilter fog fold > follow follow2 foscil foscili > fout fouti foutir foutk > fprintks fprints frac fractalnoise > framebuffer freeverb ftaudio ftchnls > ftconv ftcps ftexists ftfree > ftgen ftgenonce ftgentmp ftlen > ftload ftloadk ftlptim ftmorf > ftom ftprint ftresize ftresizei > ftsamplebank ftsave ftsavek ftset > ftslice ftslicei ftsr gain > gainslider gauss gaussi gausstrig > gbuzz genarray gendy gendyc > gendyx getcfg getcol getftargs > getinstance getp getrow getseed > gogobel goto grain grain2 > grain3 granule gtadsr gtf > guiro harmon harmon2 harmon3 > harmon4 hilbert hilbert2 hrtfearly > hrtfmove hrtfmove2 hrtfreverb hrtfstat > hsboscil hvs1 hvs2 hvs3 > hypot i igoto ihold > imag in in32 inch > inh init initc14 initc21 > initc7 inleta inletf inletk > inletkid inletv ino inrg > insglobal insremot instr instrnum > instrstr int integ interleave > interp invalue inx inz > isactive isreleasing jitter jitter2 > jspline k k35hpf k35lpf > kgoto lag lagud lastcycle > lenarray lfo lfsr limit > limit1 lincos line linen > linenr lineto linlin linrand > linseg linsegb linsegr liveconv > locsend locsig log log10 > log2 logbtwo logcurve loopge > loopgt loople looplt loopseg > loopsegp looptseg loopxseg lorenz > loscil loscil3 loscil3phs loscilphs > loscilx lowpass2 lowres lowresx > lpcanal lpcfilter lpf18 lpform > lpfreson lphasor lpinterp lposcil > lposcil3 lposcila lposcilsa lposcilsa2 > lpread lpreson lpshold lpsholdp > lpslot lufs mac maca > madsr mags mandel mandol > maparray maparrayi marimba massign > max maxabs maxabsaccum maxaccum > maxalloc maxarray maxk mclock > mdelay median mediank metro > metro2 metrobpm mfb midglobal > midiarp midic14 midic21 midic7 > midichannelaftertouch midichn midiclockfreq midiclockin > midicontinue midicontrolchange midictrl mididefault > midifilein midifilelen midifilemute midifileopen > midifilepause midifileplay midifilepos midifilerewind > midifilestatus midifiletempo midifilevents midiin > midinoteoff midinoteoncps midinoteonkey midinoteonoct > midinoteonpch midion midion2 midiout > midiout_i midiouti midipgm midipitchbend > midipolyaftertouch midiprogramchange midistart midistop > miditempo midremot min minabs > minabsaccum minaccum minarray mincer > mirror mixerclear mixergetlevel mixerreceive > mixersend mixersetlevel mixersetleveli mode > modmatrix monitor moog moogladder > moogladder2 moogvcf moogvcf2 moscil > mp3bitrate mp3nchnls mp3scal mp3sr > mpulse mrtmsg ms2st mtof > mton multitap mute mvchpf > mvclpf1 mvclpf2 mvclpf3 mvclpf4 > mvmfilter mxadsr nchnlshw nestedap > nlalp nlfilt nlfilt2 noise > noteoff noteon noteondur noteondur2 > notnum nreverb nrpn nsamp > nstance nstrnum nstrstr ntof > ntom ntrpol nxtpow2 octave > octcps octmidi octmidib octmidinn > octpch offsetsmps olabuffer opcode > opcodeinfo opcoderef oscbundle osccount > oscil oscil1 oscil1i oscil3 > oscilbank oscili oscilikt osciliktp > oscilikts osciln oscils oscilx > oscinit oscinitm osclisten oscsend > otafilter out outall outc > outch outiat outic outic14 > outipat outipb outipc outkat > outkc outkc14 outkpat outkpb > outkpc outleta outletf outletk > outletkid outletv outrg outvalue > outz oversample p pan > pan2 pareq part2txt partials > partikkel partikkelget partikkelset partikkelsync > passign paulstretch pause pcauchy > pchbend pchmidi pchmidib pchmidinn > pchoct pchtom pconvolve pcount > pdclip pdhalf pdhalfy peak > perf pgmassign pgmchn phaser1 > phaser2 phasor phasorbnk phs > pindex pinker pinkish pitch > pitchac pitchamdf planet platerev > play plltrack pluck poisson > pol2rect polar polyaft polynomial > port portk poscil poscil3 > pow powershape powoftwo pows > prealloc prepiano print printarray > printf printfi printk printk2 > printks printks2 println prints > printsk printtype product pset > ptablew ptrack puts pvadd > pvbufread pvcross pvinterp pvoc > pvread pvs2array pvs2tab pvsadsyn > pvsanal pvsarp pvsbandp pvsbandr > pvsbandwidth pvsbin pvsblur pvsbuffer > pvsbufread pvsbufread2 pvscale pvscent > pvsceps pvscfs pvscross pvsdemix > pvsdiskin pvsdisp pvsenvftw pvsfilter > pvsfread pvsfreeze pvsfromarray pvsftr > pvsftw pvsfwrite pvsgain pvsgendy > pvshift pvsifd pvsin pvsinfo > pvsinit pvslock pvslpc pvsmaska > pvsmix pvsmooth pvsmorph pvsosc > pvsout pvspitch pvstanal pvstencil > pvstrace pvsvoc pvswarp pvsynth > pwd qinf qnan r2c > rand randc randh randi > random randomh randomi rbjeq > readclock readf readfi readk > readk2 readk3 readk4 readks > readscore readscratch real rect2pol > reinit release remoteport remove > repluck reshapearray reson resonbnk > resonk resonr resonx resonxk > resony resonz resyn return > reverb reverb2 reverbsc reverbsc2 > rewindscore rezzy rfft rifft > rigoto rireturn rms rnd > rnd31 rndseed round rspline > rtclock run s16b14 s32b14 > samphold sandpaper sc_lagud scale > scale2 scalearray scanhammer scanmap > scans scansmap scantable scanu > scanu2 schedkwhen schedkwhennamed schedule > schedulek schedwhen sclag sclagud > scoreline scorelinei scphasor sctrig > seed sekere select semitone > sense sensekey seqtime seqtime2 > sequ sequstate serialbegin serialend > serialflush serialprint serialrad serialwrite > serialwritei setcol setctrl setksmps > setoption setp setrow setscorepos > sfilist sfinstr sfinstr3 sfinstr3m > sfinstrm sfload sflooper sfpassign > sfplay sfplay3 sfplay3m sfplaym > sfplist sfpreset shaker shiftin > shiftout signum sin sinh > sininv sinsyn skf sleighbells > slicearray slicearray_i slicearrayi slider16 > slider16f slider16table slider16tablef slider32 > slider32f slider32table slider32tablef slider64 > slider64f slider64table slider64tablef slider8 > slider8f slider8table slider8tablef sliderkawai > sndloop sndwarp sndwarpst sockrecv > sockrecvs socksend socksends sorta > sortd soundin space spat3d > spat3di spat3dt spdist spf > splice splitrig sprintf sprintfk > spsend sqrt squinewave st2ms > start statevar sterrain stix > str strcat strcatk strchar > strchark strcmp strcmpk strcpy > strcpyk strecv streson strfromurl > strget strindex strindexk string2array > strlen strlenk strlower strlowerk > strrindex strrindexk strset strstrip > strsub strsubk strtod strtodk > strtol strtolk strupper strupperk > stsend subinstr subinstrinit sum > sumarray svfilter svn syncgrain > syncloop syncphasor system systemi > systime tab tab2array tab2pvs > tabi tabifd table table3 > table3kt tablecopy tablefilter tablefilteri > tablegpw tablei tableicopy tableigpw > tableikt tableimix tablekt tablemix > tableng tablera tableseg tableshuffle > tableshufflei tablew tablewa tablewkt > tablexkt tablexseg tabmorph tabmorpha > tabmorphak tabmorphi tabplay tabrec > tabsum tabw tabwi tambourine > tan tanh taninv taninv2 > taninvx2 tbvcf tempest tempo > temposcal tempoval tigoto timedseq > timeinstk timeinsts timek times > timout tival tlineto tone > tonek tonex tradsyn trandom > transeg transegb transegr trcross > trfilter trhighest trigExpseg trigLinseg > trigexpseg trigger trighold triglinseg > trigphasor trigseq trim trimi > trirand trlowest trmix trscale > trshift trsplit turnoff turnoff2 > turnoff2i turnoff3 turnon tvconv > typecheck typeof undersample unirand > unschedule unscheduleall unwrap upsamp > urandom urd vactrol vadd > vaddi vaddv vaddvi vaget > valpass vaset vbap vbapg > vbapgmove vbaplsinit vbapmove vbapz > vbapzmove vcella vclpf vco > vco2 vco2ft vco2ift vco2init > vcomb vcopy vcopyi vdel_k > vdelay vdelay3 vdelayk vdelayx > vdelayxq vdelayxs vdelayxw vdelayxwq > vdelayxws vdivv vdivvi vecdelay > veloc vexp vexpi vexpseg > vexpv vexpvi vibes vibr > vibrato vincr vlimit vlinseg > vlowres vmap vmirror vmult > vmulti vmultv vmultvi voice > vosim vphaseseg vport vpow > vpowi vpowv vpowvi vps > vpvoc vrandh vrandi vsubv > vsubvi vtaba vtabi vtabk > vtable1k vtablea vtablei vtablek > vtablewa vtablewi vtablewk vtabwa > vtabwi vtabwk vwrap waveset > weibull wgbow wgbowedbar wgbrass > wgclar wgflute wgpluck wgpluck2 > wguide1 wguide2 window wrap > writescratch wterrain wterrain2 xadsr > xin xout xtratim xyscale > zacl zakinit zamod zar > zarg zaw zawm zdf1pole > zdf1polemode zdf2pole zdf2polemode zdfladder > zfilter2 zir ziw ziwm > zkcl zkmod zkr zkw > zkwm > 1269 opcodes > > Note that this is with -z, with -z1 I get 2196 opcodes, but that’s the same > as with the cli csound. In my case, the builds are done with BUILD_PLUGINS=0 > so all opcodes in /Opcodes are baked in. > > Make sure there is only one version of libcsound around, to ensure that ctcsound > is using the same library as the cli csound. > >> On 3 Jan 2026, at 02:16, Eduardo Moguillansky |
| Date | 2026-01-06 00:53 |
| From | Steven Yi |
| Subject | Re: [Csnd-dev] Missing opcodes when using csound from python |
Perhaps a longshot, but is the version of python you're using x86_64 and csound arm64 (or vice versa)? On Fri, Jan 2, 2026 at 9:16 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:
|
| Date | 2026-01-08 18:07 |
| From | Eduardo Moguillansky |
| Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] Missing opcodes when using csound from python |
Everything seems to be in order after removing everything and building again. Sorry for the noise On Sat, Jan 3, 2026 at 12:51 PM Victor Lazzarini <000010b17ddd988e-dmarc-request@listserv.heanet.ie> wrote: Further to this, I also built Csound with plugins and got the same results. |