• justAndrea

    Wow, thank you so much @PierreGuillot!! Great explanation

    posted in technical issues read more
  • justAndrea

    Hi @alexandros, thanks for your answer. Actually I do create the outlets, but they don't behave correctly. They should work like this:

    Inlet1-outlet1
    Inlet2-outlet2
    Inlet3-outlet3
    Inlet4-outlet4

    But they return instead:
    Inlet1-outlet1
    Inlet2-outlet2
    Inlet2-outlet3
    Inlet1-outlet4

    After debugging I saw that I get correctly the data from the inlets and that I can also assign other values to the outlets, and it works correctly. The problem is when sending the signals from the inlets to the outlets, so the assignation *out3++ = *in3++; *out4++ = *in4++;

    And regarding the cast to void...I'm just playing around with the code provided in How to write an external in PD and I didn't change it so much.

    posted in technical issues read more
  • justAndrea

    Here you have. Thanks!

    void ext_dsp(t_pan *x, t_signal **sp)  
    {  
      dsp_add(ext_perform, 10, x,  
          sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[4]->s_vec, sp[5]->s_vec, sp[6]->s_vec, sp[7]->s_vec, sp[0]->s_n);
    
    } 
    
    void *ext_new(t_floatarg f)  
    {  
      t_pan *x = (t_pan *)pd_new(pan_class);  
    
      x->x_in2 = inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);  
      x->x_in3 = inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
      x->x_in4 = inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
      x->x_out1 = outlet_new(&x->x_obj, &s_signal);
      x->x_out2 = outlet_new(&x->x_obj, &s_signal);
      x->x_out3 = outlet_new(&x->x_obj, &s_signal);
      x->x_out4 = outlet_new(&x->x_obj, &s_signal);
      return (void *)x;
    }```

    posted in technical issues read more
  • justAndrea

    Hi,
    Thanks both for answering! I'm just trying to make this work...

    It works correctly for the first two outlets, but the outlet 3 returns inlet2, and the outlet4 returns inlet1, so I guess that I'm not declaring something correctly...

    t_int *ext_perform(t_int *w)  
    {   
        int i;
        t_pan *x = (t_pan *)(w[1]);
        t_sample  *in1 = (t_sample *)(w[2]);
        t_sample  *in2 = (t_sample *)(w[3]);
        t_sample  *in3 = (t_sample *)(w[4]);
        t_sample  *in4 = (t_sample *)(w[5]);
        t_sample  *out1 = (t_sample *)(w[6]);
        t_sample  *out2 = (t_sample *)(w[7]);
        t_sample  *out3 = (t_sample *)(w[8]);
        t_sample  *out4 = (t_sample *)(w[9]);
        int          n = (int)(w[10]);
    
        for (i = 0; i < n; i++) {
            *out1++ = *in1++;
            *out2++ = *in2++;
            *out3++ = *in3++;
            *out4++ = *in4++;
        }
      return (w+11);  
    }```

    posted in technical issues read more
  • justAndrea

    Hi! I'm new writing externals, so sorry about the newbie question.

    I would like to create a multichannel object, with several outlets but I'm having problems when adding more than 2. The first 2 outlets do what they have to do but the others doesn't behave as they should. At this point I'm asking myself, is possible to have more than 2 signal outlets? And if so, do they have to be defined in a different way than the others?

    Thanks in advance!

    posted in technical issues read more
  • justAndrea

    @alexandros , thank you very much for offering your help. Finally it was a problem in the external that I was writing, not in the patch itself. So...bad question!

    posted in technical issues read more
  • justAndrea

    Hello @whale-av. Thanks for your answer. Actually I'm not using throw~ and catch~, I'm just using outlet~. I didn't explain it well..

    posted in technical issues read more
  • justAndrea

    I'm sorry, but I can't do that. But I can give you more details
    I have several readsf~ (one in every subpatch), and all throw to the same dac~, but not at the same time. The dac~ is in the main patch.

    posted in technical issues read more
  • justAndrea

    This is the scenario: I have a patch with some subpatches. I use a block size of [block~ 128] in one subpatch, but the default one in the rest. Then I do the following:

    • I play the sound processed in one subpatch with the default block size, it works correctly
    • I play the processed in one subpatch with the block size of 128, it works correctly
    • I play again the file with the default one, and it is totally distorted

    Does any have any idea about this? Thank you in advance

    posted in technical issues read more
Internal error.

Oops! Looks like something went wrong!