Hi Martin, Thanks for the reply. Much if this I had figured out myself already. At one point I even managed to get two MIDI pins to actually connect by having one of the pins report itself as IRP source. But I realised that it was going to work only one way; I could pass the MIDI data on to a second pin but there was no way I could receive MIDI data from it. Eventually I gave up on it as the design of PortCls clearly was not meant to be used this way. I now have the filter implemented in user mode which also works. There are some issues however that I would like to solve. Your remark about creating your own AVStream filter for MIDI got me thinking again. Would it be possible to create such a filter or would you advise against it? Would such a custom AVStream MIDI filter be able to connect to a PortCls type MIDI pin or would it be restricted to similar AVStream filters? Evert van der Poll -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx]On Behalf Of Martin Puryear Sent: Tuesday, February 17, 2004 6:17 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Connecting two MIDI pins to each other Hi Evert, There is no real data intersection for MIDI formats. More to the point, the class driver support for MIDI is only in PortCls, there is none in AVStream itself. Unfortunately, PortCls itself does not support source pins (pins that send rather than receive IRPs) for MIDI. Even for MIDI input, the driver receives empty IRPs and fills them, completing the IRP when a message completes. For this reason, you would not be able to create a MIDI pin that you can directly connect to another MIDI pin (unless you created your own AVStream filter for MIDI, without using PortCls' sequencer). Martin Puryear Microsoft Corporation This posting is provided "AS IS" with no warranties, and confers no rights. _____ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Evert van der Poll Sent: Monday, October 27, 2003 7:30 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Connecting two MIDI pins to each other Hello to all, I'm investigating the possibility of connecting two MIDI pins to each other, for instance a hardware input with a hardware output. I have been experimenting with graph edit and ksStudio but I'm still undetermined about whether this is at all possible. In the DDK documentation I read that the default data-intersection handler only handles KSDATAFORMAT_WAVEFORMATEX or KSDATAFORMAT_DSOUND. Before I start investing time into something that is hopeless from the beginning, I hope there is someone who can answer the following questions: - Can two MIDI pins in principle connect to each other? - Do I need to implement proprietary data-intersection handlers? - Is there a trick to let the default data-intersection handler in portcls do the work (for instance let the MIDI pins report some fake audio format). - If the connecting pins idea is not working, is there some other way the two pins can communicate? For instance I read in the documentation that I can use KsCreatePin without specifying a pin to connect with. Does this create some sort of communication line? Can I send IRP's from one pin to the other? What I'm trying to achieve is a sort of filter that can be inserted into a MIDI stream, much like a video codec can be inserted into a video stream. I'd much appreciate any input, thoughts, suggestions. Evert van der Poll