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