[PD-cvs] pd/src s_midi.c,1.4.4.1.2.12.2.10,1.4.4.1.2.12.2.11

Mathieu Bouchard matju at users.sourceforge.net
Tue Jul 10 09:03:36 CEST 2007


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5706

Modified Files:
      Tag: desiredata
	s_midi.c 
Log Message:
cleanup


Index: s_midi.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_midi.c,v
retrieving revision 1.4.4.1.2.12.2.10
retrieving revision 1.4.4.1.2.12.2.11
diff -C2 -d -r1.4.4.1.2.12.2.10 -r1.4.4.1.2.12.2.11
*** s_midi.c	10 Jul 2007 06:20:48 -0000	1.4.4.1.2.12.2.10
--- s_midi.c	10 Jul 2007 07:03:34 -0000	1.4.4.1.2.12.2.11
***************
*** 47,54 ****
  int sys_midiapi = API_DEFAULT;
  
!     /* this is our current estimate for at what "system" real time the
!     current logical time's output should occur. */
  static double sys_dactimeminusrealtime;
!     /* same for input, should be schduler advance earlier. */
  static double sys_adctimeminusrealtime;
  
--- 47,54 ----
  int sys_midiapi = API_DEFAULT;
  
! /* this is our current estimate for at what "system" real time the
!    current logical time's output should occur. */
  static double sys_dactimeminusrealtime;
! /* same for input, should be schduler advance earlier. */
  static double sys_adctimeminusrealtime;
  
***************
*** 79,105 ****
  }
  
!     /* return the logical time of the DAC sample we believe is currently
!     going out, based on how much "system time" has elapsed since the
!     last time sys_setmiditimediff got called. */
  static double sys_getmidioutrealtime() {return sys_getrealtime() + sys_dactimeminusrealtime;}
  static double sys_getmidiinrealtime () {return sys_getrealtime() + sys_adctimeminusrealtime;}
  
  static void sys_putnext () {
!     int portno = midi_outqueue[midi_outtail].portno;
  #ifdef USEAPI_ALSA
      if (sys_midiapi == API_ALSA) {
!         if (midi_outqueue[midi_outtail].onebyte)
!             sys_alsa_putmidibyte(portno, midi_outqueue[midi_outtail].byte1);
!         else sys_alsa_putmidimess(portno, midi_outqueue[midi_outtail].byte1,
!                              midi_outqueue[midi_outtail].byte2,
!                              midi_outqueue[midi_outtail].byte3);
      } else
  #endif /* ALSA */
      {
!         if (midi_outqueue[midi_outtail].onebyte)
!           sys_putmidibyte(portno, midi_outqueue[midi_outtail].byte1);
!         else sys_putmidimess(portno, midi_outqueue[midi_outtail].byte1,
!                              midi_outqueue[midi_outtail].byte2,
!                              midi_outqueue[midi_outtail].byte3);
      }
      midi_outtail  = (midi_outtail + 1 == MIDIQSIZE ? 0 : midi_outtail + 1);
--- 79,99 ----
  }
  
! /* return the logical time of the DAC sample we believe is currently going out, based on how much "system time"
!    has elapsed since the last time sys_setmiditimediff got called. */
  static double sys_getmidioutrealtime() {return sys_getrealtime() + sys_dactimeminusrealtime;}
  static double sys_getmidiinrealtime () {return sys_getrealtime() + sys_adctimeminusrealtime;}
  
  static void sys_putnext () {
!     t_midiqelem &m = midi_outqueue[midi_outtail];
!     int portno = m.portno;
  #ifdef USEAPI_ALSA
      if (sys_midiapi == API_ALSA) {
!         if (m.onebyte) sys_alsa_putmidibyte(portno, m.byte1);
!         else sys_alsa_putmidimess(portno, m.byte1, m.byte2, m.byte3);
      } else
  #endif /* ALSA */
      {
!         if (m.onebyte) sys_putmidibyte(portno, m.byte1);
!         else sys_putmidimess(portno, m.byte1, m.byte2, m.byte3);
      }
      midi_outtail  = (midi_outtail + 1 == MIDIQSIZE ? 0 : midi_outtail + 1);
***************
*** 137,146 ****
      /* if FIFO is full flush an element to make room */
      if (newhead == midi_outtail) sys_putnext();
!     midi_outqueue[midi_outhead].portno = portno;
!     midi_outqueue[midi_outhead].onebyte = onebyte;
!     midi_outqueue[midi_outhead].byte1 = a;
!     midi_outqueue[midi_outhead].byte2 = b;
!     midi_outqueue[midi_outhead].byte3 = c;
!     midi_outqueue[midi_outhead].time = .001 * clock_gettimesince(sys_midiinittime);
      midi_outhead = newhead;
      sys_pollmidioutqueue();
--- 131,141 ----
      /* if FIFO is full flush an element to make room */
      if (newhead == midi_outtail) sys_putnext();
!     t_midiqelem m = midi_outqueue[midi_outhead];
!     m.portno = portno;
!     m.onebyte = onebyte;
!     m.byte1 = a;
!     m.byte2 = b;
!     m.byte3 = c;
!     m.time = .001 * clock_gettimesince(sys_midiinittime);
      midi_outhead = newhead;
      sys_pollmidioutqueue();
***************
*** 566,570 ****
      int nindevs = 0, noutdevs = 0;
      t_atom argv[MAXNDEV];
-     char str[DEVDESCSIZE];
      int f = ac ? (int)atom_getfloatarg(0,ac,av) : -1;
      t_symbol *selector = gensym("midiindev");
--- 561,564 ----
***************
*** 572,583 ****
      midi_getdevs(indevlist, &nindevs, outdevlist, &noutdevs, MAXNDEV, DEVDESCSIZE);
      if (f < 0) {
!         for (int i=0; i<nindevs; i++) {
!             strcpy(str, indevlist + i * DEVDESCSIZE);
!             SETSYMBOL(argv+i, gensym(str));
!         }
          typedmess(pd->s_thing, selector, nindevs, argv);
      } else if (f < nindevs) {
!         strcpy(str, indevlist + f * DEVDESCSIZE);
!         SETSYMBOL(argv, gensym(str));
          typedmess(pd->s_thing, selector, 1, argv);
      }
--- 566,573 ----
      midi_getdevs(indevlist, &nindevs, outdevlist, &noutdevs, MAXNDEV, DEVDESCSIZE);
      if (f < 0) {
!         for (int i=0; i<nindevs; i++) SETSYMBOL(argv+i, gensym(indevlist + i * DEVDESCSIZE));
          typedmess(pd->s_thing, selector, nindevs, argv);
      } else if (f < nindevs) {
!         SETSYMBOL(argv, gensym(indevlist + f * DEVDESCSIZE));
          typedmess(pd->s_thing, selector, 1, argv);
      }
***************
*** 589,593 ****
      int nindevs = 0, noutdevs = 0;
      t_atom argv[MAXNDEV];
-     char str[DEVDESCSIZE];
      int f = ac ? (int)atom_getfloatarg(0,ac,av) : -1;
      t_symbol *selector = gensym("midioutdev");
--- 579,582 ----
***************
*** 595,606 ****
      midi_getdevs(indevlist, &nindevs, outdevlist, &noutdevs, MAXNDEV, DEVDESCSIZE);
      if (f < 0) {
!         for (int i=0; i<noutdevs; i++) {
!             strcpy(str, outdevlist + i*DEVDESCSIZE);
!             SETSYMBOL(argv+i, gensym(str));
!         }
          typedmess(pd->s_thing, selector, noutdevs, argv);
      } else if (f < noutdevs) {
!         strcpy(str, outdevlist + f*DEVDESCSIZE);
!         SETSYMBOL(argv, gensym(str));
          typedmess(pd->s_thing, selector, 1, argv);
      }
--- 584,591 ----
      midi_getdevs(indevlist, &nindevs, outdevlist, &noutdevs, MAXNDEV, DEVDESCSIZE);
      if (f < 0) {
!         for (int i=0; i<noutdevs; i++) SETSYMBOL(argv+i, gensym(outdevlist + i*DEVDESCSIZE));
          typedmess(pd->s_thing, selector, noutdevs, argv);
      } else if (f < noutdevs) {
!         SETSYMBOL(argv, gensym(outdevlist + f*DEVDESCSIZE));
          typedmess(pd->s_thing, selector, 1, argv);
      }





More information about the Pd-cvs mailing list