LCOV - code coverage report
Current view: top level - src/MIDI_Parsers - MIDI_Parser.hpp (source / functions) Coverage Total Hit
Test: 73449d9b107c772cf65493691543348214e5d5eb Lines: 100.0 % 5 5
Test Date: 2026-06-06 17:44:35 Functions: 100.0 % 4 4
Legend: Lines:     hit not hit

            Line data    Source code
       1              : #pragma once
       2              : 
       3              : #include <stddef.h>
       4              : #include <stdint.h>
       5              : #include <stdlib.h>
       6              : 
       7              : #include <Def/Def.hpp>
       8              : #include <Settings/SettingsWrapper.hpp>
       9              : 
      10              : #include "MIDIReadEvent.hpp"
      11              : #include "MIDI_MessageTypes.hpp"
      12              : 
      13              : BEGIN_CS_NAMESPACE
      14              : 
      15              : /// Base class for MIDI parsers.
      16              : class MIDI_Parser {
      17              :   public:
      18              :     /// Get the latest MIDI channel voice message.
      19           68 :     ChannelMessage getChannelMessage() const { return ChannelMessage(midimsg); }
      20              :     /// Get the latest MIDI system common message.
      21           23 :     SysCommonMessage getSysCommonMessage() const {
      22           23 :         return SysCommonMessage(midimsg);
      23              :     }
      24              :     /// Get the latest MIDI real-time message.
      25           12 :     RealTimeMessage getRealTimeMessage() const { return rtmsg; }
      26              : #if IGNORE_SYSEX
      27              :     /// Get the latest SysEx message.
      28              :     SysExMessage getSysExMessage() const { return {nullptr, 0, Cable_1}; }
      29              : #endif
      30              : 
      31              :   protected:
      32              :     MIDIMessage midimsg = {0x00, 0x00, 0x00};
      33              :     RealTimeMessage rtmsg = {0x00};
      34              : 
      35              :   public:
      36              :     /// Check if the given byte is a MIDI header/status byte.
      37         1010 :     static bool isStatus(uint8_t data) { return data & (1 << 7); }
      38              :     /// Check if the given byte is a MIDI data byte.
      39              :     static bool isData(uint8_t data) { return (data & (1 << 7)) == 0; }
      40              : };
      41              : 
      42              : END_CS_NAMESPACE
        

Generated by: LCOV version 2.4-beta