{\r
                if (!(Endpoint_ConfigureEndpoint(MIDIInterfaceInfo->Config.DataINEndpointNumber, EP_TYPE_BULK,\r
                                                                                 ENDPOINT_DIR_IN, MIDIInterfaceInfo->Config.DataINEndpointSize,\r
-                                                                                ENDPOINT_BANK_SINGLE)))\r
+                                                                                MIDIInterfaceInfo->Config.DataINEndpointDoubleBank ? ENDPOINT_BANK_DOUBLE : ENDPOINT_BANK_SINGLE)))\r
                {\r
                        return false;\r
                }\r
        {\r
                if (!(Endpoint_ConfigureEndpoint(MIDIInterfaceInfo->Config.DataOUTEndpointNumber, EP_TYPE_BULK,\r
                                                                                 ENDPOINT_DIR_OUT, MIDIInterfaceInfo->Config.DataOUTEndpointSize,\r
-                                                                                ENDPOINT_BANK_SINGLE)))\r
+                                                                                MIDIInterfaceInfo->Config.DataOUTEndpointDoubleBank ? ENDPOINT_BANK_DOUBLE : ENDPOINT_BANK_SINGLE)))\r
                {\r
                        return false;\r
                }\r
        {\r
                uint8_t ErrorCode;\r
 \r
-               if ((ErrorCode = Endpoint_Write_Stream_LE(Event, sizeof(Event), NO_STREAM_CALLBACK)) != ENDPOINT_RWSTREAM_NoError)\r
+               if ((ErrorCode = Endpoint_Write_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK)) != ENDPOINT_RWSTREAM_NoError)\r
                  return ErrorCode;\r
 \r
                Endpoint_ClearIN();\r
        if (!(Endpoint_IsReadWriteAllowed()))\r
          return false;\r
 \r
-       Endpoint_Read_Stream_LE(Event, sizeof(Event), NO_STREAM_CALLBACK);\r
+       Endpoint_Read_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK);\r
        Endpoint_ClearOUT();\r
        \r
        return true;\r