[PD-cvs] pd/src s_midi.c, 1.4.4.1.2.6, 1.4.4.1.2.7 m_glob.c, 1.4.4.2.2.11, 1.4.4.2.2.12

Tim Blechmann timblech at users.sourceforge.net
Tue Jul 25 03:56:32 CEST 2006


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

Modified Files:
      Tag: devel_0_39
	s_midi.c m_glob.c 
Log Message:
message-based access to the current midi devices via the pd receiver


Index: s_midi.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_midi.c,v
retrieving revision 1.4.4.1.2.6
retrieving revision 1.4.4.1.2.7
diff -C2 -d -r1.4.4.1.2.6 -r1.4.4.1.2.7
*** s_midi.c	25 Jul 2006 01:41:40 -0000	1.4.4.1.2.6
--- s_midi.c	25 Jul 2006 01:56:30 -0000	1.4.4.1.2.7
***************
*** 835,836 ****
--- 835,892 ----
      typedmess(pd->s_thing, selector, noutdevs, argv);
  }
+ 
+ 
+ 
+ void glob_midi_getcurrentindevs(t_pd *dummy)
+ {
+     char buf[1024 + 2 * MAXNDEV*(DEVDESCSIZE+4)];
+ 
+     /* these are the devices you're using: */
+     int nindev, midiindev[MAXMIDIINDEV];
+     int noutdev, midioutdev[MAXMIDIOUTDEV];
+     int midiindev1, midiindev2, midiindev3, midiindev4,
+         midioutdev1, midioutdev2, midioutdev3, midioutdev4;
+ 
+     t_atom argv[MAXNDEV];
+     char str[DEVDESCSIZE];
+ 
+     t_symbol * selector = gensym("midicurrentindev");
+     t_symbol * pd = gensym("pd");
+     int i;
+ 
+     sys_get_midi_params(&nindev, midiindev, &noutdev, midioutdev);
+ 
+     for (i = 0; i < noutdev; i++)
+     {
+         SETFLOAT(argv+i, midiindev[i]);
+     }
+     typedmess(pd->s_thing, selector, nindev, argv);
+ }
+ 
+ 
+ void glob_midi_getcurrentoutdevs(t_pd *dummy)
+ {
+     char buf[1024 + 2 * MAXNDEV*(DEVDESCSIZE+4)];
+ 
+     /* these are the devices you're using: */
+     int nindev, midiindev[MAXMIDIINDEV];
+     int noutdev, midioutdev[MAXMIDIOUTDEV];
+     int midiindev1, midiindev2, midiindev3, midiindev4,
+         midioutdev1, midioutdev2, midioutdev3, midioutdev4;
+ 
+     t_atom argv[MAXNDEV];
+     char str[DEVDESCSIZE];
+ 
+     t_symbol * selector = gensym("midicurrentoutdev");
+     t_symbol * pd = gensym("pd");
+     int i;
+ 
+     sys_get_midi_params(&nindev, midiindev, &noutdev, midioutdev);
+ 
+     for (i = 0; i < noutdev; i++)
+     {
+         SETFLOAT(argv+i, midioutdev[i]);
+     }
+     typedmess(pd->s_thing, selector, nindev, argv);
+ }
+ 

Index: m_glob.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_glob.c,v
retrieving revision 1.4.4.2.2.11
retrieving revision 1.4.4.2.2.12
diff -C2 -d -r1.4.4.2.2.11 -r1.4.4.2.2.12
*** m_glob.c	25 Jul 2006 01:41:40 -0000	1.4.4.2.2.11
--- m_glob.c	25 Jul 2006 01:56:30 -0000	1.4.4.2.2.12
***************
*** 50,53 ****
--- 50,55 ----
  void glob_midi_getindevs(t_pd *dummy);
  void glob_midi_getoutdevs(t_pd *dummy);
+ void glob_midi_getcurrentindevs(t_pd *dummy);
+ void glob_midi_getcurrentoutdevs(t_pd *dummy);
  /* tb } */
  
***************
*** 95,98 ****
--- 97,104 ----
      if (s == gensym("midioutdev"))
          return;
+     if (s == gensym("midicurrentindev"))
+         return;
+     if (s == gensym("midicurrentoutdev"))
+         return;
  
      startpost("%s: unknown message %s ", class_getname(pd_class(x)),
***************
*** 218,221 ****
--- 224,229 ----
      class_addmethod(glob_pdobject, (t_method)glob_midi_getoutdevs, gensym("getmidioutdev"), 0);
      class_addmethod(glob_pdobject, (t_method)glob_midi_getindevs, gensym("getmidiindev"), 0);
+     class_addmethod(glob_pdobject, (t_method)glob_midi_getcurrentoutdevs, gensym("getcurrentmidioutdev"), 0);
+     class_addmethod(glob_pdobject, (t_method)glob_midi_getcurrentindevs, gensym("getcurrentmidiindev"), 0);
  
      /* tb } */





More information about the Pd-cvs mailing list