I'm creating a MIDI feedback loop and I can't figure out why.
I have a slider that is sending and listening to channel 1 from my
MIDI interface. So that I can move the slider on the PC and have it tell my controller that the slider's moved, or move the controller so that affects the slider in Pd. (I don't have the controller plugged in at the moment, either!)
Whenever I move the slider I get a loop going. I can think of
maybe two reasons why this is happening, neither of which seem in the least bit plausible.
ctlin without parameters will show *all* MIDI activity. I didn't
think this was true, I thought it would only show MIDI data going *in* to Pd, not in to any MIDI port. And I'm not sending CC info to any internal MIDI connections (hubi's, midiyoke). And besides, the [ctlin] says that the data definitely is coming from my MIDI interface (or at least that channel number).
My MIDI interface automatically loops all MIDI data sent to its Out
port back through it's In port... but I can't see that happening either. This would create huge problems everywhere.
I'm missing something and I don't know what, help!
David
. . David McCallum . Music wants to be free . http://mentalfloss.ca/sintheta/ .
ctlin without parameters will show *all* MIDI activity. I didn't
think this was true, I thought it would only show MIDI data going *in* to Pd, not in to any MIDI port. And I'm not sending CC info to any internal MIDI connections (hubi's, midiyoke). And besides, the [ctlin] says that
the
data definitely is coming from my MIDI interface (or at least that channel number). 2) My MIDI interface automatically loops all MIDI data sent to its
Out
port back through it's In port... but I can't see that happening either. This would create huge problems everywhere.
Maybe this can be fix with the -midiindev and -midioutdev option on startup. anyway, a "change" box between the slider and the ctlout should avoid looping.
Cyrille
Thanks for the suggestions. It turns out the problem was in the
arguments. The argument structure for the abstraction was "midi channel, CC numbers", and I had put the CC numbers and not the midi channel. As it turns out the first CC was 1, but because it was now first argument it specified the midi channel instead, which I have set to midiyoke channel 1, which obviously caused the feedback loop.
It was a GOP abstraction and I deliberately had a my_canvas within
the abstraction covering the entire GOP window, including abstraction name and arguments, making it difficult to realise where they problem lay...
Doh.
At 09:57 AM 09/11/2002 +0100, you wrote:
ctlin without parameters will show *all* MIDI activity. I didn't
think this was true, I thought it would only show MIDI data going *in* to Pd, not in to any MIDI port. And I'm not sending CC info to any internal MIDI connections (hubi's, midiyoke). And besides, the [ctlin] says that
the
data definitely is coming from my MIDI interface (or at least that channel number). 2) My MIDI interface automatically loops all MIDI data sent to its
Out
port back through it's In port... but I can't see that happening either. This would create huge problems everywhere.
Maybe this can be fix with the -midiindev and -midioutdev option on startup. anyway, a "change" box between the slider and the ctlout should avoid looping.
Cyrille
. . David McCallum . Music wants to be free . http://mentalfloss.ca/sintheta/ .