Another idea is not to use a loop, but just send events 1 by one at the SR in an UDO. You set the ksmps in it to 1 and then use control flow to write to the table, e.g.
if kwrite == 1 then
k1 table kndx, ifn
OSCsend ...
k1 = k1 + 1
if k1 == flen(ifn) then
kwrite = 0
endif
else
k1=0
endif
----- Original Message -----
From: Tarmo Johannes <tarmo@otsakool.edu.ee>
Date: Thursday, September 22, 2011 8:45 am
Subject: Re: [Csnd] Best way to send Table values over OSC
To: csound@lists.bath.ac.uk
> hello,
>
> this is not a solution, more for discussion:
>
> the osc library http://liblo.sourceforge.net/docs/group__liblo.html
> has declared a type blob - basically an array of binary data
> created with function
>
> lo_blob lo_blob_new (int32_t size, const void *data)
> Create a new OSC blob type.
>
>
> I think it is not implemented in Csound and not sure if other
> programs support it eihter, but in such cases (to forward a lot
> of data) it could be the ideal solution.
>
> greetings,
> tarmo
>
>
>
> On Thursday 22 September 2011 10:12:59 Victor.Lazzarini@nuim.ie wrote:
> > Why are you sending numeric data as strings? I would send them
> as floats (or doubles). The problem might be with Sprintf,
> possibly.
> >
> > Try to send one table at a time, too. You might be triggering
> too many events.
> >
> > ----- Original Message -----
> > From: Ed Costello <edwardcostello@gmail.com>
> > Date: Thursday, September 22, 2011 2:17 am
> > Subject: Re: [Csnd] Best way to send Table values over OSC
> > To: csound@lists.bath.ac.uk
> >
> > > After some playing around I came up with something that
> works but not for very long, the OSC stops sending after a few
> seconds and if I try to restart QuteCsound it crashes.
> > >
> > > <CsoundSynthesizer>
> > > <CsOptions>
> > > </CsOptions>
> > > <CsInstruments>
> > >
> >
> >
> > > sr = 44100
> > > ksmps = 128
> > > nchnls = 2
> > > 0dbfs = 1
> > >
> >
> >
> > > #define Tables #2#
> > > #define Widgets #3#
> > >
> >
> >
> > > instr Init, 1
> > >
> >
> >
> > > turnon $Tables
> > > turnon $Widgets
> > > gk_Slider1 init 0
> > >
> > >
> >
> >
> > > endin
> > >
> >
> >
> > > instr Tables, 2
> > >
> >
> >
> > > gi_TableSize = 16
> > > gi_WriteTable ftgen 100, 0, gi_TableSize, 7, 1,
> gi_TableSize, gi_TableSize
> > > gi_ExponentialTable ftgen 101, 0,
> gi_TableSize, 5, 1, 0, 0.0001, 0, 1, 16, 0.001
> > >
> >
> >
> > > endin
> > >
> >
> >
> > > instr Widgets, 3
> > >
> >
> >
> > > kvalue invalue "slider1"
> > >
> >
> > > if kvalue != gk_Slider1 then
> > >
> >
> >
> > gk_Slider1 = kvalue
> >
> > event "i", "TableEdit", 0, 1
> > > endif
> > >
> >
> > > endin
> > >
> > > instr TableEdit
> > >
> >
> > > kndx = 0
> > >
> >
> > > loop:
> >
> > kres table kndx, gi_ExponentialTable
> >
> > tablew kres * gk_Slider1, kndx, gi_WriteTable
> > >
> >
> > > loop_lt kndx, 1, gi_TableSize, loop
> > > event "i", "OSCSend", 0, 1
> > > turnoff
> > >
> >
> >
> > >
> > >
> >
> >
> > >
> >
> >
> >
> > >
> > > endin
> > >
> >
> > >
> >
> >
> > > instr OSCSend
> > >
> >
> >
> > > S_Table = ""
> > > indx = 0
> > >
> >
> > > loop:
> >
> > ires table indx, gi_WriteTable
> >
> > Sout sprintf "%f ", ires
> >
> > S_Table strcat Sout, S_Table
> > >
> >
> > > loop_lt indx, 1, gi_TableSize, loop
> > >
> >
> > > OSCsend 0, "", 4444, "/csound", "s", S_Table
> >
> > >
> > >
> >
> > > endin
> > >
> >
> >
> > > </CsInstruments>
> > > <CsScore>
> >
> > > i "Init" 0 10000
> >
> >
> >
> > > </CsScore>
> > > </CsoundSynthesizer>
> > >
> > > I'm using a slider widget and every time it moves it
> triggers an instrument which reads from a table, scales its
> values and then writes them to the table I want to send over
> OSC. This then triggers the OSCSend instrument which
> concatenates the table numbers to a string and sends them over
> OSC. Along with the crashing Csound also complains of buffer
> overflows if my table is too big, I'm using a size of 16 here,
> but it complains at 32. Any ideas? >
> > > On 22 September 2011 00:50,
> <Victor.Lazzarini@nuim.ie> wrote:
> > > I would have thought a k-rate loop would be better.
> However, I'm not sure OSC is designed to handle big amounts of data.
> > >
> > > Victor>
> > >
> > > ----- Original Message -----
> > > From: Ed Costello <edwardcostello@gmail.com>
> > > Date: Wednesday, September 21, 2011 11:43 pm
> > > Subject: Re: [Csnd] Best way to send Table values over OSC
> > > To: csound@lists.bath.ac.uk
> > >
> > > > Can you print the values of a table to a string? If so yes
> it should work.
> > > >
> > > > On 21 September 2011 21:41, joachim heintz
> <jh@joachimheintz.de> wrote:
> > > > perhaps it's possible to send the table values
> as a string?
> > > >
> > > > Am 21.09.2011 19:34, schrieb Ed Costello:
> > > > > Hi,
> > > > >
> > > > > I am using Csound with Quartz Composer, I am
> linking the programs using
> > > > > OSC. I was just wondering if there is an easier
> way of sending a large
> > > > > amount of table values in one OSC message. I
> am aware that you can use
> > > > > the table opcode to read values and assign them
> variables that are
> > > > > passed to an OSCSend, but is there a better
> way of doing this with large
> > > > > tables?
> > > > > Thanks
> > > > > Ed
> > > >
> > > >
> > > > 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"
> > > >
> > > > >
> > >
> > >
> > > Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
> > > National University of Ireland, Maynooth
> > >
> >
> >
> > Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
> > National University of Ireland, Maynooth
> >
> >
> >
> > 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"
> >
> >
>
>
> 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"
>
Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
National University of Ireland, Maynooth