         
         case tuneRequest
         
-        case undefined
-        
-        case endOfExclusive
-        
     }
     
     case systemCommon(type: SystemCommonType)

            default:
                return .unknown
            }
        case 0b1100:
            return .programChange(channel: channel, number: data1)
        case 0b1101:
            return .channelPressure(channel: channel, pressure: data1)
        case 0b1110:
            return .pitchBendChange(channel: channel, leastSignificantBits: data1, mostSignificantBits: data2)
        case 0b1111:
            switch channel {
            case 0b0000:
                return .systemCommon(type: .systemExclusive)
            case 0b0001:
                return .systemCommon(type: .midiTimeCodeQuarterFrame(type: data1 & 0b01110000 >> 4, values: data1 & 0b00001111))
            case 0b0010:
                return .systemCommon(type: .songPositionPointer(leastSignificantBits: data1, mostSignificantBits: data2))
            case 0b0011:
                return .systemCommon(type: .songSelect(song: data1))
            case 0b0100:
                return .systemCommon(type: .undefined)
            case 0b0101:
                return .systemCommon(type: .tuneRequest)
            case 0b0110:
                return .systemCommon(type: .undefined)
            case 0b0111:
                return .systemCommon(type: .endOfExclusive)
            case 0b1000:
                return .systemRealTime(type: .timingClock)
            case 0b1001:
                return .systemRealTime(type: .undefined)
            case 0b1010:
                return .systemRealTime(type: .start)
            case 0b1011:
                return .systemRealTime(type: .continue)
            case 0b1100:
                return .systemRealTime(type: .stop)
            case 0b1101:
                return .systemRealTime(type: .undefined)
            case 0b1110:
                return .systemRealTime(type: .activeSensing)
            case 0b1111:
                return .systemRealTime(type: .reset)
            default:
                return .unknown

        case activeSensing
        
        case reset
        
    }
    
