diff options
Diffstat (limited to 'BUG9/BUG9.csd')
-rw-r--r-- | BUG9/BUG9.csd | 101 |
1 files changed, 13 insertions, 88 deletions
diff --git a/BUG9/BUG9.csd b/BUG9/BUG9.csd index f320921..196d0cd 100644 --- a/BUG9/BUG9.csd +++ b/BUG9/BUG9.csd @@ -5,11 +5,11 @@ </CsOptions> <CsInstruments> /* - Debugger - Unfixed Bugs : BUG #8 + Debugger - Unfixed Bugs : BUG #9 http://git.1bpm.net/csd-unfixedbugs1/about/ - By Richard Knight 2021 + By Richard Knight 2022, 2024 http://1bpm.net q@1bpm.net @@ -18,20 +18,13 @@ sr = 44100 ksmps = 100 nchnls = 2 -0dbfs = 1 +0dbfs = 1.1 seed 0 #define NOFILEIO ## ; file IO with readfi not supported on all platforms: disables bid_loadfile - -gkmastergain init 1 ; master gain -gkpump = 0 ; kick ducking control -gksection init -1 - -#include "wavetables.udo" ; general waveforms #include "bussing.udo" ; global audio bussing -#include "bid.udo" ; Bug Infested Directive tools and parsing +#include "bid.udo" ; Bug Infested Directive tools and parsing #include "instruments.udo" ; sound generators -#include "txt_tools.udo" ; text tools /* @@ -42,27 +35,7 @@ instr global_master aL, aR bus_read "master" aL limit aL*0.5, -1, 1 aR limit aR*0.5, -1, 1 - outs aL*gkmastergain*igain, aR*gkmastergain*igain -endin - - -/* - Print notification of performance time since last notification - or if isection is -1, print completion notification -*/ -gitimetrack times -instr notify_change - isection = p4 - itime times - if (isection == -1) then - tt_notify(sprintf"Complete, runtime: %s", tt_parsetime(itime))) - exitnow - else - isectiontime = itime - gitimetrack - tt_notify(sprintf("%s : section %d complete in %s", tt_parsetime(itime), isection, tt_parsetime(isectiontime))) - gitimetrack = itime - endif - turnoff + outs aL * igain, aR * igain endin @@ -70,73 +43,25 @@ endin Parse BID file and run the sequencer */ instr parseandrun - tt_notify("Parsing events") + tt_notify "Parsing events" #include "bid_source.udo" bid_loadtext(SBID) - tt_notify("Running sequencer") - event_i "i", "sequencer", 0, 3600 + tt_notify "Running sequencer" + schedule "sequencer", 0, 3600 turnoff endin - -/* - Sequence BID elements -*/ instr sequencer - isection = 1 - event_i "i", "bid_setcurrentchord", 0, 1, isection, 0 - event_i "i", "global_master", 0, p3 - kmetro metro (gibid_tempo / 60) * 4 - kpos init 0 - kposabs init 0 - ksection init isection - kposchord init 0 - gksection = ksection - if (kmetro == 1) then - if (ksection > gibid_maxsection) then - event "i", "notify_change", p3, 1, -1 - turnoff - endif - - ; sequence BID elements - bid_seq "kick", kpos, ksection - bid_seq "clap", kpos, ksection - bid_seq "hat1", kpos, ksection - bid_seq "hat2", kpos, ksection - bid_seq "bass", kpos, ksection - bid_seq "mel1", kpos, ksection - bid_seq "mel2", kpos, ksection - - kpos = (kpos < 31) ? kpos + 1 : 0 - ksection16ths = bid_getsectionlength(ksection) * 4 - - if (kposabs+1 < ksection16ths) then - kposabs += 1 - else - event "i", "notify_change", 0, 1, ksection - ;event "i", "play_crash", 0, gibid_beattime - ksection += 1 - kposchord = 0 - kpos = 0 - kposabs = 0 - event "i", "bid_setcurrentchord", 0, 1, ksection, 1 - endif - - - if (kposchord+1 < gkbid_chordlength*4) then - kposchord += 1 - else - kposchord = 0 - event "i", "bid_setcurrentchord", 0, 1, ksection, 1 - endif - + isection = 2 + schedule "bid_setcurrentchord", 0, 1, isection, 0 + schedule "global_master", 0, p3 + gksection bid_seq_all isection +endin - endif -endin </CsInstruments> <CsScore> |