Logo Search packages:      
Sourcecode: csound version File versions  Download package

test.c

/*  
    test.c: for cscore

    Copyright (C) 19xx Barry Vercoe, John ffitch

    This file is part of Csound.

    Csound is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    Csound is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Csound; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
#include "cscore.h"                                  /* CSCORE_TEST.C */

void cscore(CSOUND* cs)  /* callable from Csound or standalone cscore */
{
      EVENT *e, **p;
      EVLIST *a, *b, *c;
      int  n;

      e = cscoreCreateEvent(cs,5);        /* alloc p0-5 and init pcnt */
      e->op = 'f';
      e->p[1] = 1;                        /* construct an event */
      e->p[2] = 0;
      e->p[3] = 256;
      e->p[4] = 10;
      e->p[5] = 1;
      cscorePutEvent(cs,e);               /* and write it out */
      cscoreFreeEvent(cs,e);
      cscorePutString(cs,"s");

      a = cscoreListGetSection(cs);       /* read sect from score */
      cscoreListPut(cs,a);                /* write it out as is */
      cscorePutString(cs,"s");

      cscoreListSort(cs,a);
      cscoreListPut(cs,a);                /* write out a sorted version */
      cscorePutString(cs,"s");

      c = cscoreListSeparateTWF(cs,a);    /* separate t,w & f's from notes */
      b = cscoreListCopyEvents(cs,a);     /* duplicate the notes */
      n = b->nevents;
      p = &b->e[1];                       /* point at first one */
      while (n--)
         (*p++)->p[2] += 2.0;             /* delay each by two beats */
      c = cscoreListAppendList(cs,c,a);
      c = cscoreListAppendList(cs,c,b);   /* combine and sort all three sets */
      cscoreListSort(cs,c);
      cscoreListPut(cs,c);                /* and write out */
      cscoreListFreeEvents(cs,c);         /* release all of these notes */
      cscorePutString(cs,"s");

      e = cscoreDefineEvent(cs,"f 2 0 256 10 5 6 ");
      a = cscoreListCreate(cs,1);
      a = cscoreListAppendEvent(cs,a,e);
      cscoreListPut(cs,a);
      cscoreListFreeEvents(cs,a);
      cscorePutString(cs,"e");
      
      return;
}

Generated by  Doxygen 1.6.0   Back to index