diff --git a/pd/doc/5.reference/help-intro.pd b/pd/doc/5.reference/help-intro.pd index 58f412f7866fae9e9d655b21666a914e85315ba2..fd54495bc76bcb17e4e7eefb13bc88db352898bb 100644 --- a/pd/doc/5.reference/help-intro.pd +++ b/pd/doc/5.reference/help-intro.pd @@ -1,5 +1,5 @@ #N struct ; -#N canvas 355 65 579 812 12; +#N canvas 394 53 579 639 12; #X declare; #X obj 24 150 bang; #X text 124 150 - output a bang message; @@ -398,7 +398,6 @@ its "help window".; #X text 118 3676 - make copies of a subpatch; #X obj 26 3676 clone; #X obj 157 1167 midirealtimein; -#X obj 301 1169 midiclkin; #X text 124 3530 - read with a time-varying delay time; #X obj 97 3532 vd~; #X obj 26 2081 rsqrt~; diff --git a/pd/src/m_imp.h b/pd/src/m_imp.h index 9512a1abd87d3a0293e3d25be82f74c8b5a08674..1eb08e6192aedd84f904fbfcb71eb4e1a70c8fad 100644 --- a/pd/src/m_imp.h +++ b/pd/src/m_imp.h @@ -74,7 +74,6 @@ struct _pdinstance t_symbol *pd_bendin_sym; t_symbol *pd_touchin_sym; t_symbol *pd_polytouchin_sym; - t_symbol *pd_midiclkin_sym; t_symbol *pd_midirealtimein_sym; }; diff --git a/pd/src/m_pd.c b/pd/src/m_pd.c index 1bf74a280d2170c7c51b4dc1b0644e3f0478beb8..0583c213c04eae1e7f5ecedc3836b9f2ccc52c08 100644 --- a/pd/src/m_pd.c +++ b/pd/src/m_pd.c @@ -478,7 +478,6 @@ static t_pdinstance *pdinstance_donew(int useprefix) x->pd_bendin_sym = midi_gensym(midiprefix, "#bendin"); x->pd_touchin_sym = midi_gensym(midiprefix, "#touchin"); x->pd_polytouchin_sym = midi_gensym(midiprefix, "#polytouchin"); - x->pd_midiclkin_sym = midi_gensym(midiprefix, "#midiclkin"); x->pd_midirealtimein_sym = midi_gensym(midiprefix, "#midirealtimein"); return (x); } diff --git a/pd/src/s_midi.c b/pd/src/s_midi.c index 565284a360fd800d5d18974d445e0cf1a1fd1f64..289d702433ff094b913db0415de5f2dfcb29d55a 100644 --- a/pd/src/s_midi.c +++ b/pd/src/s_midi.c @@ -239,11 +239,6 @@ void outmidi_polyaftertouch(int portno, int channel, int pitch, int value) pitch, value); } -void outmidi_mclk(int portno) -{ - sys_queuemidimess(portno, 1, 0xf8, 0,0); -} - void outmidi_byte(int portno, int value) { #ifdef USEAPI_ALSA @@ -291,7 +286,6 @@ typedef struct midiparser /* functions in x_midi.c */ void inmidi_realtimein(int portno, int cmd); -void inmidi_clk(double timing); void inmidi_byte(int portno, int byte); void inmidi_sysex(int portno, int byte); void inmidi_noteon(int portno, int channel, int pitch, int velo); @@ -316,14 +310,6 @@ static void sys_dispatchnextmidiin( void) if (byte >= 0xf8) { inmidi_realtimein(portno, byte); - if (byte == 0xf8) { - // AG: Not sure what the timebase for the right outlet is supposed - // to be. I'm using msecs right now, which is in line with the other - // tempo-related objects such as metro. Multiply with .001 to - // get seconds instead. - double timing = clock_gettimesince(sys_midiinittime); - inmidi_clk(timing); - } } else { diff --git a/pd/src/x_midi.c b/pd/src/x_midi.c index b98034e1b50913476d55824046649503e3ddbcbd..4926b223c2e5945b0956b3f0180ff26431e939fd 100644 --- a/pd/src/x_midi.c +++ b/pd/src/x_midi.c @@ -12,7 +12,6 @@ void outmidi_programchange(int portno, int channel, int value); void outmidi_pitchbend(int portno, int channel, int value); void outmidi_aftertouch(int portno, int channel, int value); void outmidi_polyaftertouch(int portno, int channel, int pitch, int value); -void outmidi_mclk(int portno); void outmidi_byte(int portno, int value); @@ -499,74 +498,6 @@ void inmidi_polyaftertouch(int portno, int channel, int pitch, int value) } } -/*----------------------- midiclkin--(midi F8 message )---------------------*/ - -static t_class *midiclkin_class; - -typedef struct _midiclkin -{ - t_object x_obj; - t_outlet *x_outlet1; - t_outlet *x_outlet2; -} t_midiclkin; - -static void *midiclkin_new(t_floatarg f) -{ - t_midiclkin *x = (t_midiclkin *)pd_new(midiclkin_class); - x->x_outlet1 = outlet_new(&x->x_obj, &s_float); - x->x_outlet2 = outlet_new(&x->x_obj, &s_float); - pd_bind(&x->x_obj.ob_pd, pd_this->pd_midiclkin_sym); - return (x); -} - -static void midiclkin_list(t_midiclkin *x, t_symbol *s, int argc, t_atom *argv) -{ - t_float value = atom_getfloatarg(0, argc, argv); - t_float count = atom_getfloatarg(1, argc, argv); - outlet_float(x->x_outlet2, count); - outlet_float(x->x_outlet1, value); -} - -static void midiclkin_free(t_midiclkin *x) -{ - pd_unbind(&x->x_obj.ob_pd, pd_this->pd_midiclkin_sym); -} - -static void midiclkin_setup(void) -{ - midiclkin_class = class_new(gensym("midiclkin"), - (t_newmethod)midiclkin_new, (t_method)midiclkin_free, - sizeof(t_midiclkin), CLASS_NOINLET, A_DEFFLOAT, 0); - class_addlist(midiclkin_class, midiclkin_list); - class_sethelpsymbol(midiclkin_class, gensym("midi")); -} - -void inmidi_clk(double timing) -{ - - static t_float prev = 0; - static t_float count = 0; - t_float cur,diff; - - if (pd_this->pd_midiclkin_sym->s_thing) - { - t_atom at[2]; - diff =timing - prev; - count++; - - if (count == 3) - { /* 24 count per quoter note */ - SETFLOAT(at, 1 ); - count = 0; - } - else SETFLOAT(at, 0); - - SETFLOAT(at+1, diff); - pd_list(pd_this->pd_midiclkin_sym->s_thing, &s_list, 2, at); - prev = timing; - } -} - /*----------midirealtimein (midi FA,FB,FC,FF message )-----------------*/ static t_class *midirealtimein_class; @@ -1269,7 +1200,6 @@ void x_midi_setup(void) bendin_setup(); touchin_setup(); polytouchin_setup(); - midiclkin_setup(); midiout_setup(); noteout_setup(); ctlout_setup();