Csound Csound-dev Csound-tekno Search About

Re: [Csnd] event + subinstr

Date2011-11-21 00:06
From"Partev Barr Sarkissian"
SubjectRe: [Csnd] event + subinstr
Kind of like taking a mix console input channel strips and
insteading routingto a sum-out and master volume, they get
sent to a "Direct-Out" on each of the channel strips, bypassing
the sum and mix stage??? Something like that???

-Partev


================================
From: Victor Lazzarini 
To: csound@lists.bath.ac.uk
Subject: Re: [Csnd] event + subinstr
Date: Sun, 20 Nov 2011 18:54:12 +0000

you  just  have to make your instruments into UDOs. UDOs can be
recursive, so you can spawn a number of parallel instances, that
might help.

Victor
On 20 Nov 2011, at 16:47, Anton Kholomiov wrote:

  I don't know how can it help. UDOs build combination

of existing opcodes. But there is no such combination.

I'm trying to read output of several instruments. Often

globals are used for this task, but globals merge things

together.

Anton

===============================
2011/11/20 Victor Lazzarini 

Maybe what you want to do is better served by UDOs?
Victor
On 20 Nov 2011, at 16:16, Anton Kholomiov wrote:

  It happens because event_i adds score events at

initialisation of an instrument. And SignalFlow opcodes

work like global variables every new instance of instrument

A adds data to instrument B, so the second note

i"C" 0.25 0.2 1

writes all new notes of instrument A, and we can

hear them in the note

i"C" 0 7 0.5

because instrument B is still listening on the channel "in".

Global variables (sigh)

===============================
2011/11/20 Victor Lazzarini 

SignalFlow opcodes is Michael Gogins'  territory, so I will not be
able to help you there...
Victor
On 20 Nov 2011, at 15:33, Anton Kholomiov wrote:


===============================
2011/11/20 Victor Lazzarini 

And what is the difference between instr 2 & 3? I don't follow.

Difference is hidden by sequence of dots)
Your solution requires  one named channel per instance,
I've tried to do it another way and I've run into strange behavior.
I'm trying to redirect the output of instrument with SignalFlow
opcodes. Instrument B collects all notes for instrument A.
Then some another instrument invokes B with subinstr
opcode. But it doesn't work as expected. I'm invoking
instrument C twice, one is long note (it plays all A's notes)
and one is short note (it plays only one A's note),
but I can hear both notes as if they are long notes.
What am I missing here?
Here is the code:


-d -odac


connect "A", "out", "B", "in"
    instr   A
k1  oscili  1, 1/p3, 21
a1  oscili  8000*k1, p4, 1
    outleta "out", a1
    endin

    instr   B
    event_i "i", "A", 0, 0.5, 440
    event_i "i", "A", 0.5, 0.5, 330
    event_i "i", "A", 1, 1, 220
    event_i "i", "A", 2, 0.5, 220
    event_i "i", "A", 2.5, 0.5, 330
    event_i "i", "A", 3, 1, 440
a1  inleta  "in"
    out a1
    endin

    instr C
a1  subinstr "B", 0, p3
    out p4*a1
    endin


f1 0 4096 10 1
f21 0 17 5 1 16 0.01
i"C" 0 7 0.5
i"C" 0.25 0.2 1
e





Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie





_____________________________________________________________
Netscape.  Just the Net You Need.


Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"