[Csnd] more csound~
Date | 2009-10-01 12:49 |
From | Oeyvind Brandtsegg |
Subject | [Csnd] more csound~ |
I'm trying to make csound~ output a string on the message outlet. Is chnset working as an output to the host when using string chn channels ? I can make csound~ output channel messages from a chn_k channel, but it does seem not work with chn_S channels. In my Csound header I have: chn_S "preset1loaded", 2 chn_k "test", 2 And in the instrument I have chnset Spresetfile, "preset1loaded" chnset iPresetSlot, "test" ... where Spresetfile is a valid string csound~ outputs the value for iPresetSlot as: test 2. as expected, but no string is outut from csound~ As a hack, I tried using outvalue, and I get a string out of the csound~ message output, but it has funny formatting: $preset1loaded$testSinglePresetA.spst 15. ...where the "preset1loaded" is the outvalue channel name, and "testSinglePresetA.spst" is the string written to the outvalue channel. I'm unsure of where the $ characters come from. Moreover, the same message is output 21 times in quick succession. all best Oeyvind |
Date | 2009-10-01 17:56 |
From | Andres Cabrera |
Subject | [Csnd] Re: more csound~ |
invalue and outvalue use $ to indicate a string channel and to send a string. Its a bit hacky because they apparently weren't built for that. You could also use chnget and chnset, which might be cleaner (not sure if this will work with csound~. Cheers, Andres On 10/1/09, Oeyvind Brandtsegg |
Date | 2009-10-02 01:47 |
From | dp51 |
Subject | [Csnd] Re: more csound~ |
String channel compatibility has not been implemented in csound~. If my understanding is correct, strings are simply stored as C strings pointed to by MYFLT pointers. I think I can get it to work for the next release. Davis Oeyvind Brandtsegg-2 wrote: > > I'm trying to make csound~ output a string on the message outlet. > > Is chnset working as an output to the host when using string chn channels > ? > I can make csound~ output channel messages from a chn_k channel, but > it does seem not work with chn_S channels. > > In my Csound header I have: > chn_S "preset1loaded", 2 > chn_k "test", 2 > > And in the instrument I have > chnset Spresetfile, "preset1loaded" > chnset iPresetSlot, "test" > ... where Spresetfile is a valid string > > csound~ outputs the value for iPresetSlot as: > test 2. > as expected, > but no string is outut from csound~ > > As a hack, I tried using outvalue, and I get a string out of the > csound~ message output, > but it has funny formatting: > $preset1loaded$testSinglePresetA.spst 15. > ...where the "preset1loaded" is the outvalue channel name, > and "testSinglePresetA.spst" is the string written to the outvalue > channel. > I'm unsure of where the $ characters come from. > Moreover, the same message is output 21 times in quick succession. > > all best > Oeyvind > > > Send bugs reports to this list. > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe > csound" > > -- View this message in context: http://www.nabble.com/more-csound%7E-tp25697511p25708945.html Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2009-10-02 08:08 |
From | Oeyvind Brandtsegg |
Subject | [Csnd] Re: Re: more csound~ |
That would be excellent. all best Oeyvind 2009/10/2 dp51 |
Date | 2009-10-02 18:11 |
From | Andres Cabrera |
Subject | [Csnd] Re: Re: more csound~ |
Hi, On 10/2/09, dp51 |
Date | 2009-10-02 18:52 |
From | victor |
Subject | [Csnd] Re: Re: Re: more csound~ |
In csoundapi~ I have implemented string channels using named channels (chnset and chnget). If I recall well what I do is update the output every k-cycle. For the other channel types I have implemetned both the callback system and named channels In general, I prefer to use named channels as they are simpler for frontend implementation (no need to keep lists of channels etc, all done by csound). Victor ----- Original Message ----- From: "Andres Cabrera" |
Date | 2009-10-02 20:32 |
From | Oeyvind Brandtsegg |
Subject | [Csnd] Re: Re: Re: more csound~ |
Yes, as Victor say too, the named chn channels are very useful. Would the chnsend opcode work in a way that it triggers output when used in csound, and no output if not? This could be very useful. It could also be a possibility to enable a "chnget" message in the csound~ input, triggering output of the corresponding channel value in the format of "channelName channeValue" and likewise for string channels. best Oeyvind 2009/10/2 Andres Cabrera |
Date | 2009-10-02 22:12 |
From | dp51 |
Subject | [Csnd] Re: Re: more csound~ |
I messed with the csound~ last night and added support for chn string channels. Definitely needs more testing, but at least I've got something to work with. I won't add support for invalue/outvalue string channels unless somebody asks for it. A callback system for the chn channels would be convenient and possibly more efficient in certain situations. I hope you guys can work it out. Anyways, thanks for the input. Davis Andres Cabrera wrote: > > Hi, > > There are actually two software bus systems in the Csound API. One is > the invalue/outvalue system and the other is the chnget/chnset. > invalue and outvalue appear to be older, as they weren't desgined to > transmit strings, so they do it in a hacky way, by casting the MYFLT > pointer to a string when using an input channel, but for the output, > since the MYFLT argument is not a pointer, the string value is passed > as part of the channel name. They use callback registration in the > API, which is convenient, as the other chnget and chnset opcode, > merely change internal values, so there's no indication of when a > change has actually occured (which makes it hard for front ends to > know when to use a value from a widget to overwrite another value). > The chnsend and chnrecv (which are unfinished) provide callback access > to this secondary bus but there has been talk of removing these. > > Quite a mess, really, but since both have some advantages, and they've > been there for a while, it's hard to really remove one, since many > people depend on both. > > Cheers, > Andres > -- View this message in context: http://www.nabble.com/more-csound%7E-tp25697511p25722067.html Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2009-10-02 22:56 |
From | Oeyvind Brandtsegg |
Subject | [Csnd] Re: Re: Re: more csound~ |
That sounds good. Thanks for looking into it. Oeyvind. 2009/10/2 dp51 |
Date | 2009-10-03 10:20 |
From | J |
Subject | [Csnd] Re: Re: Re: Re: more csound~ |
Really great to see this object is still being developed, as I use it very extensively these days! Keep up the great work. Everything works quite well for my purposes, though I've always thought it would be convenient to be able to share max buffers with Csound~, but I've got around that for now. (not that you're taking requests ;) ) Looking forward to the next update! Cheers, Jeremy On Fri, Oct 2, 2009 at 10:56 PM, Oeyvind Brandtsegg <obrandts@gmail.com> wrote: That sounds good. Thanks for looking into it. |
Date | 2009-10-03 11:34 |
From | Andres Cabrera |
Subject | [Csnd] Re: Re: Re: more csound~ |
Hi, Most of the code for chnsend and chnrecv which are callback based versions of chnget and chnset is already there in Csound, and the API does have the necessary functions. It was never finished, or is it? I haven't tested it but it might work. I think it was Istvan working on this. Cheers, Andres On 10/2/09, dp51 |
Date | 2009-10-05 10:18 |
From | Oeyvind Brandtsegg |
Subject | [Csnd] Re: Re: Re: Re: more csound~ |
I can't seem to find any manual pages for chnsend, not sure if I'm using it correctly. But I'm not getting any message output from csound~. I see in the manual that there is a getcfg opcode that can return 1 if a callback flag has been set, but I can't figure out how to set the flag (with a Csound opcode, as I guess I can't access API methods from Max using the csound~object). best Oeyvind 2009/10/3 Andres Cabrera |
Date | 2009-10-05 11:52 |
From | Andres Cabrera |
Subject | [Csnd] Re: Re: Re: Re: Re: more csound~ |
chnsend and chnrecv use a different callback from invalue and outvalue, so the front nd must be programed to use those callbacks. I suspect csound~ doesn't implement them as they are mostly unknown. I didn't know getcfg could do that.... it might work, but remember it should return a "1" not a 1. In the end the chn system appears as better designed, but I'm not certain of its status. There was a recent discussion in the dev list about deprecating these opcodes, but I can't remember the outcome. Cheers, Andres On 10/5/09, Oeyvind Brandtsegg |
Date | 2010-02-16 18:13 |
From | UnUnUnium |
Subject | [Csnd] Re: Re: Re: Re: more csound~ |
Hello, Sorry to bump this, but I am attempting to do something similar with csound~. Basically, I am trying to send a list of parameters as strings only when the instrument is instantiated, just to use as control labels in max. I tried something like this: outvalue "name", "WAVEGUIDE" outvalue "Control1", "LOWPASS" outvalue "Control3", "FEEDBACK" But obviously that not only updated at control rate but also not working because of the aforementioned issue with strings. Has anyone successfully done this using csound~ ? Just thought I'd ask before using ints and colls.... Best, Jeremy Oeyvind Brandtsegg-2 wrote: > > I can't seem to find any manual pages for chnsend, not sure if I'm > using it correctly. But I'm not getting any message output from > csound~. I see in the manual that there is a getcfg opcode that can > return 1 if a callback flag has been set, but I can't figure out how > to set the flag (with a Csound opcode, as I guess I can't access API > methods from Max using the csound~object). > > best > Oeyvind > > 2009/10/3 Andres Cabrera |
Date | 2010-02-17 03:18 |
From | dp51 |
Subject | [Csnd] Re: Re: Re: Re: more csound~ |
v1.0.7 has support for chn string channels, but not for outvalue/invalue. Unfortunately, I just tried it on Windows7 using 5.11d and it crashed MaxMSP. I need to find out what's wrong. My gut tells me it's a bug with 5.11 because there was no crash with 5.10. If you try the chn string channel opcodes and they crash MaxMSP, try downgrading to 5.10. UnUnUnium wrote: > > Hello, > > Sorry to bump this, but I am attempting to do something similar with > csound~. > > Basically, I am trying to send a list of parameters as strings only when > the instrument is instantiated, just to use as control labels in max. > > I tried something like this: > outvalue "name", "WAVEGUIDE" > outvalue "Control1", "LOWPASS" > outvalue "Control3", "FEEDBACK" > > But obviously that not only updated at control rate but also not working > because of the aforementioned issue with strings. > > Has anyone successfully done this using csound~ ? Just thought I'd ask > before using ints and colls.... > > Best, Jeremy > > > > Oeyvind Brandtsegg-2 wrote: >> >> I can't seem to find any manual pages for chnsend, not sure if I'm >> using it correctly. But I'm not getting any message output from >> csound~. I see in the manual that there is a getcfg opcode that can >> return 1 if a callback flag has been set, but I can't figure out how >> to set the flag (with a Csound opcode, as I guess I can't access API >> methods from Max using the csound~object). >> >> best >> Oeyvind >> >> 2009/10/3 Andres Cabrera |
Date | 2010-02-17 12:35 |
From | UnUnUnium |
Subject | [Csnd] Re: Re: Re: Re: more csound~ |
Hello, Just tested it, and it does indeed crash with chnset. I may try to go back to 5.10 if I am not using anything 5.11 specific. Thank you for checking this out. Best, Jeremy dp51 wrote: > > v1.0.7 has support for chn string channels, but not for outvalue/invalue. > > Unfortunately, I just tried it on Windows7 using 5.11d and it crashed > MaxMSP. I need to find out what's wrong. My gut tells me it's a bug > with 5.11 because there was no crash with 5.10. > > If you try the chn string channel opcodes and they crash MaxMSP, > try downgrading to 5.10. > > > > UnUnUnium wrote: >> >> Hello, >> >> Sorry to bump this, but I am attempting to do something similar with >> csound~. >> >> Basically, I am trying to send a list of parameters as strings only when >> the instrument is instantiated, just to use as control labels in max. >> >> I tried something like this: >> outvalue "name", "WAVEGUIDE" >> outvalue "Control1", "LOWPASS" >> outvalue "Control3", "FEEDBACK" >> >> But obviously that not only updated at control rate but also not working >> because of the aforementioned issue with strings. >> >> Has anyone successfully done this using csound~ ? Just thought I'd ask >> before using ints and colls.... >> >> Best, Jeremy >> >> >> >> Oeyvind Brandtsegg-2 wrote: >>> >>> I can't seem to find any manual pages for chnsend, not sure if I'm >>> using it correctly. But I'm not getting any message output from >>> csound~. I see in the manual that there is a getcfg opcode that can >>> return 1 if a callback flag has been set, but I can't figure out how >>> to set the flag (with a Csound opcode, as I guess I can't access API >>> methods from Max using the csound~object). >>> >>> best >>> Oeyvind >>> >>> 2009/10/3 Andres Cabrera |
Date | 2010-02-17 12:41 |
From | Peiman Khosravi |
Subject | [Csnd] Re: Re: Re: Re: Re: more csound~ |
This might have been fixed in 5.12? It crashes for me too in 5.11. Best, Peiman On 17 Feb 2010, at 12:35, UnUnUnium wrote: > > Hello, > > Just tested it, and it does indeed crash with chnset. I may try to > go back > to 5.10 if I am not using anything 5.11 specific. > > Thank you for checking this out. > > Best, Jeremy > > dp51 wrote: >> >> v1.0.7 has support for chn string channels, but not for outvalue/ >> invalue. >> >> Unfortunately, I just tried it on Windows7 using 5.11d and it crashed >> MaxMSP. I need to find out what's wrong. My gut tells me it's a bug >> with 5.11 because there was no crash with 5.10. >> >> If you try the chn string channel opcodes and they crash MaxMSP, >> try downgrading to 5.10. >> >> >> >> UnUnUnium wrote: >>> >>> Hello, >>> >>> Sorry to bump this, but I am attempting to do something similar with >>> csound~. >>> >>> Basically, I am trying to send a list of parameters as strings >>> only when >>> the instrument is instantiated, just to use as control labels in >>> max. >>> >>> I tried something like this: >>> outvalue "name", "WAVEGUIDE" >>> outvalue "Control1", "LOWPASS" >>> outvalue "Control3", "FEEDBACK" >>> >>> But obviously that not only updated at control rate but also not >>> working >>> because of the aforementioned issue with strings. >>> >>> Has anyone successfully done this using csound~ ? Just thought I'd >>> ask >>> before using ints and colls.... >>> >>> Best, Jeremy >>> >>> >>> >>> Oeyvind Brandtsegg-2 wrote: >>>> >>>> I can't seem to find any manual pages for chnsend, not sure if I'm >>>> using it correctly. But I'm not getting any message output from >>>> csound~. I see in the manual that there is a getcfg opcode that can >>>> return 1 if a callback flag has been set, but I can't figure out >>>> how >>>> to set the flag (with a Csound opcode, as I guess I can't access >>>> API >>>> methods from Max using the csound~object). >>>> >>>> best >>>> Oeyvind >>>> >>>> 2009/10/3 Andres Cabrera |
Date | 2010-02-17 16:58 |
From | UnUnUnium |
Subject | [Csnd] Re: Re: Re: Re: Re: more csound~ |
Just to follow up, it seems to work fine using strings in 5.12.1 on Mac OS X using csound~ 1.07. Thanks again for the help. peiman wrote: > > This might have been fixed in 5.12? > > It crashes for me too in 5.11. > > Best, > > Peiman > > On 17 Feb 2010, at 12:35, UnUnUnium wrote: > >> >> Hello, >> >> Just tested it, and it does indeed crash with chnset. I may try to >> go back >> to 5.10 if I am not using anything 5.11 specific. >> >> Thank you for checking this out. >> >> Best, Jeremy >> >> dp51 wrote: >>> >>> v1.0.7 has support for chn string channels, but not for outvalue/ >>> invalue. >>> >>> Unfortunately, I just tried it on Windows7 using 5.11d and it crashed >>> MaxMSP. I need to find out what's wrong. My gut tells me it's a bug >>> with 5.11 because there was no crash with 5.10. >>> >>> If you try the chn string channel opcodes and they crash MaxMSP, >>> try downgrading to 5.10. >>> >>> >>> >>> UnUnUnium wrote: >>>> >>>> Hello, >>>> >>>> Sorry to bump this, but I am attempting to do something similar with >>>> csound~. >>>> >>>> Basically, I am trying to send a list of parameters as strings >>>> only when >>>> the instrument is instantiated, just to use as control labels in >>>> max. >>>> >>>> I tried something like this: >>>> outvalue "name", "WAVEGUIDE" >>>> outvalue "Control1", "LOWPASS" >>>> outvalue "Control3", "FEEDBACK" >>>> >>>> But obviously that not only updated at control rate but also not >>>> working >>>> because of the aforementioned issue with strings. >>>> >>>> Has anyone successfully done this using csound~ ? Just thought I'd >>>> ask >>>> before using ints and colls.... >>>> >>>> Best, Jeremy >>>> >>>> >>>> >>>> Oeyvind Brandtsegg-2 wrote: >>>>> >>>>> I can't seem to find any manual pages for chnsend, not sure if I'm >>>>> using it correctly. But I'm not getting any message output from >>>>> csound~. I see in the manual that there is a getcfg opcode that can >>>>> return 1 if a callback flag has been set, but I can't figure out >>>>> how >>>>> to set the flag (with a Csound opcode, as I guess I can't access >>>>> API >>>>> methods from Max using the csound~object). >>>>> >>>>> best >>>>> Oeyvind >>>>> >>>>> 2009/10/3 Andres Cabrera |
Date | 2010-02-17 17:29 |
From | Victor Lazzarini |
Subject | [Csnd] Re: Re: Re: Re: Re: Re: more csound~ |
Isn't it great when bugs fix themselves? Victor On 17 Feb 2010, at 16:58, UnUnUnium wrote: > > Just to follow up, it seems to work fine using strings in 5.12.1 on > Mac OS X > using csound~ 1.07. > > Thanks again for the help. > > > > peiman wrote: >> >> This might have been fixed in 5.12? >> >> It crashes for me too in 5.11. >> >> Best, >> >> Peiman >> >> On 17 Feb 2010, at 12:35, UnUnUnium wrote: >> >>> >>> Hello, >>> >>> Just tested it, and it does indeed crash with chnset. I may try to >>> go back >>> to 5.10 if I am not using anything 5.11 specific. >>> >>> Thank you for checking this out. >>> >>> Best, Jeremy >>> >>> dp51 wrote: >>>> >>>> v1.0.7 has support for chn string channels, but not for outvalue/ >>>> invalue. >>>> >>>> Unfortunately, I just tried it on Windows7 using 5.11d and it >>>> crashed >>>> MaxMSP. I need to find out what's wrong. My gut tells me it's a >>>> bug >>>> with 5.11 because there was no crash with 5.10. >>>> >>>> If you try the chn string channel opcodes and they crash MaxMSP, >>>> try downgrading to 5.10. >>>> >>>> >>>> >>>> UnUnUnium wrote: >>>>> >>>>> Hello, >>>>> >>>>> Sorry to bump this, but I am attempting to do something similar >>>>> with >>>>> csound~. >>>>> >>>>> Basically, I am trying to send a list of parameters as strings >>>>> only when >>>>> the instrument is instantiated, just to use as control labels in >>>>> max. >>>>> >>>>> I tried something like this: >>>>> outvalue "name", "WAVEGUIDE" >>>>> outvalue "Control1", "LOWPASS" >>>>> outvalue "Control3", "FEEDBACK" >>>>> >>>>> But obviously that not only updated at control rate but also not >>>>> working >>>>> because of the aforementioned issue with strings. >>>>> >>>>> Has anyone successfully done this using csound~ ? Just thought I'd >>>>> ask >>>>> before using ints and colls.... >>>>> >>>>> Best, Jeremy >>>>> >>>>> >>>>> >>>>> Oeyvind Brandtsegg-2 wrote: >>>>>> >>>>>> I can't seem to find any manual pages for chnsend, not sure if >>>>>> I'm >>>>>> using it correctly. But I'm not getting any message output from >>>>>> csound~. I see in the manual that there is a getcfg opcode that >>>>>> can >>>>>> return 1 if a callback flag has been set, but I can't figure out >>>>>> how >>>>>> to set the flag (with a Csound opcode, as I guess I can't access >>>>>> API >>>>>> methods from Max using the csound~object). >>>>>> >>>>>> best >>>>>> Oeyvind >>>>>> >>>>>> 2009/10/3 Andres Cabrera |
Date | 2010-02-17 18:21 |
From | J |
Subject | [Csnd] Re: Re: Re: Re: Re: Re: Re: more csound~ |
I know, I'll have to figure out what I did to make it work ;) Jeremy
On Wed, Feb 17, 2010 at 5:29 PM, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
|