[PD-cvs] pd/src builtins.c, 1.1.2.47, 1.1.2.48 s_midi.c, 1.4.4.1.2.12.2.11, 1.4.4.1.2.12.2.12 s_midi_alsa.c, 1.1.2.2.2.6.2.4, 1.1.2.2.2.6.2.5

Mathieu Bouchard matju at users.sourceforge.net
Tue Jul 24 23:17:16 CEST 2007


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

Modified Files:
      Tag: desiredata
	builtins.c s_midi.c s_midi_alsa.c 
Log Message:
MIDI sysex fix by Jamie Bullock


Index: builtins.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/builtins.c,v
retrieving revision 1.1.2.47
retrieving revision 1.1.2.48
diff -C2 -d -r1.1.2.47 -r1.1.2.48
*** builtins.c	20 Jul 2007 21:37:47 -0000	1.1.2.47
--- builtins.c	24 Jul 2007 21:17:13 -0000	1.1.2.48
***************
*** 2113,2117 ****
  
  static t_class *midiout_class;
! void sys_putmidibyte(int portno, int byte);
  struct t_midiout : t_object {
      t_float portno;
--- 2113,2117 ----
  
  static t_class *midiout_class;
! void outmidi_byte(int portno, int byte);
  struct t_midiout : t_object {
      t_float portno;
***************
*** 2128,2132 ****
  }
  static void midiout_float(t_midiout *x, t_floatarg f){
!     sys_putmidibyte((int)x->portno-1, (int)f);
  }
  static void midiout_setup() {
--- 2128,2132 ----
  }
  static void midiout_float(t_midiout *x, t_floatarg f){
!     outmidi_byte((int)x->portno-1, (int)f);
  }
  static void midiout_setup() {
***************
*** 2717,2722 ****
          }
      }
!     t_atom *p     = x->vec + x->n-1;
!     union word *w = h->vec + x->n-1;
      for (int i = x->n; i--; p--, w--) {
          switch (p->a_type) {
--- 2717,2722 ----
          }
      }
!     t_atom *p = x->vec + x->n-1;
!     t_word *w = h->vec + x->n-1;
      for (int i = x->n; i--; p--, w--) {
          switch (p->a_type) {

Index: s_midi.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_midi.c,v
retrieving revision 1.4.4.1.2.12.2.11
retrieving revision 1.4.4.1.2.12.2.12
diff -C2 -d -r1.4.4.1.2.12.2.11 -r1.4.4.1.2.12.2.12
*** s_midi.c	10 Jul 2007 07:03:34 -0000	1.4.4.1.2.12.2.11
--- s_midi.c	24 Jul 2007 21:17:14 -0000	1.4.4.1.2.12.2.12
***************
*** 183,186 ****
--- 183,193 ----
  }
  
+ void outmidi_byte(int portno, int value) {
+ #ifdef USEAPI_ALSA
+   if (sys_midiapi == API_ALSA) sys_alsa_putmidibyte(portno, value); else
+ #endif
+   sys_putmidibyte(portno, value);
+ }
+ 
  void outmidi_mclk(int portno) {sys_queuemidimess(portno, 1, 0xf8, 0,0);}
  

Index: s_midi_alsa.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_midi_alsa.c,v
retrieving revision 1.1.2.2.2.6.2.4
retrieving revision 1.1.2.2.2.6.2.5
diff -C2 -d -r1.1.2.2.2.6.2.4 -r1.1.2.2.2.6.2.5
*** s_midi_alsa.c	24 Jul 2007 21:03:42 -0000	1.1.2.2.2.6.2.4
--- s_midi_alsa.c	24 Jul 2007 21:17:14 -0000	1.1.2.2.2.6.2.5
***************
*** 157,163 ****
      if (portno >= 0 && portno < alsa_nmidiout) {
          // repack into 1 byte char and put somewhere to point at
!         unsigned char *dataptr = (unsigned char *)malloc(1);
!         memcpy(dataptr,&byte,1);
!         snd_seq_ev_set_sysex(&ev,1,dataptr); //...set_variable *should* have worked but didn't
          snd_seq_ev_set_direct(&ev);
          snd_seq_ev_set_subs(&ev);
--- 157,162 ----
      if (portno >= 0 && portno < alsa_nmidiout) {
          // repack into 1 byte char and put somewhere to point at
!         unsigned char data = (unsigned char)byte;
!         snd_seq_ev_set_sysex(&ev,1,&data); //...set_variable *should* have worked but didn't
          snd_seq_ev_set_direct(&ev);
          snd_seq_ev_set_subs(&ev);





More information about the Pd-cvs mailing list