Csound Csound-dev Csound-tekno Search About

[Csnd] wondering if this can be modernized?

Date2021-05-25 03:08
FromIain Duncan
Subject[Csnd] wondering if this can be modernized?
Hi folks, I'm still coming up to speed on all the csound improvements of the last 10 years, and wanted to check whether something I have working in older style code is still the best way to do it, or if there are cleaner options now.

This is my always on envelope, with tigoto branching. It's using the assembly style jumps and is working, so really asking for purposes of just making the coding more elegant.

thanks!

; Env1 - env that when retriggered from i event, resumes from where it left off
instr Env1
  ihold
  tigoto tied_init  
; first pass only init code
  istart  init 0.001
  kenv    init 0.001
  igoto continue
; init code for all passes after the first (which are tied)
; capture where kenv left off to be next start point        
tied_init:
  istart  = i(kenv)  
continue:
  kenv    linseg istart, 0.01, 1, p3, .8, 0.5, 0.01
  ; write the output to its patch cord
          chnset kenv, "env_1"
endin


Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-05-25 14:02
Fromthorin kerr
SubjectRe: [Csnd] wondering if this can be modernized?
The tied-note style of tigoto ... contin hasn't changed much over the years as far as I'm aware.
I wonder if it's necessary to use this as a held instrument though, as you're setting a channel value which would hold its value after the note expires anyway.
e.g.
instr Env1
Schan = p4
idestination = p5
kres linseg chnget:i(Schan), p3, idestination
chnset kres, Schan
endin

schedule "Env1", 0, 3, "env_1", 0.7







On Tue, May 25, 2021 at 12:09 PM Iain Duncan <iainduncanlists@gmail.com> wrote:
Hi folks, I'm still coming up to speed on all the csound improvements of the last 10 years, and wanted to check whether something I have working in older style code is still the best way to do it, or if there are cleaner options now.

This is my always on envelope, with tigoto branching. It's using the assembly style jumps and is working, so really asking for purposes of just making the coding more elegant.

thanks!

; Env1 - env that when retriggered from i event, resumes from where it left off
instr Env1
  ihold
  tigoto tied_init  
; first pass only init code
  istart  init 0.001
  kenv    init 0.001
  igoto continue
; init code for all passes after the first (which are tied)
; capture where kenv left off to be next start point        
tied_init:
  istart  = i(kenv)  
continue:
  kenv    linseg istart, 0.01, 1, p3, .8, 0.5, 0.01
  ; write the output to its patch cord
          chnset kenv, "env_1"
endin


Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-05-25 15:47
FromIain Duncan
SubjectRe: [Csnd] wondering if this can be modernized?
Oh right, I hadn't thought of that approach of using the channel to get the value it left on. In my old code I wasn't using channels, and was mostly resurrecting how I made monosynths in the past. I will try that out, thanks for the tip!

On Tue, May 25, 2021 at 6:03 AM thorin kerr <thorin.kerr@gmail.com> wrote:
The tied-note style of tigoto ... contin hasn't changed much over the years as far as I'm aware.
I wonder if it's necessary to use this as a held instrument though, as you're setting a channel value which would hold its value after the note expires anyway.
e.g.
instr Env1
Schan = p4
idestination = p5
kres linseg chnget:i(Schan), p3, idestination
chnset kres, Schan
endin

schedule "Env1", 0, 3, "env_1", 0.7







On Tue, May 25, 2021 at 12:09 PM Iain Duncan <iainduncanlists@gmail.com> wrote:
Hi folks, I'm still coming up to speed on all the csound improvements of the last 10 years, and wanted to check whether something I have working in older style code is still the best way to do it, or if there are cleaner options now.

This is my always on envelope, with tigoto branching. It's using the assembly style jumps and is working, so really asking for purposes of just making the coding more elegant.

thanks!

; Env1 - env that when retriggered from i event, resumes from where it left off
instr Env1
  ihold
  tigoto tied_init  
; first pass only init code
  istart  init 0.001
  kenv    init 0.001
  igoto continue
; init code for all passes after the first (which are tied)
; capture where kenv left off to be next start point        
tied_init:
  istart  = i(kenv)  
continue:
  kenv    linseg istart, 0.01, 1, p3, .8, 0.5, 0.01
  ; write the output to its patch cord
          chnset kenv, "env_1"
endin


Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here