LCOV - code coverage report
Current view: top level - src/MIDI_Interfaces - MIDI_Interface.cpp (source / functions) Coverage Total Hit
Test: 73449d9b107c772cf65493691543348214e5d5eb Lines: 79.3 % 29 23
Test Date: 2026-06-06 17:44:35 Functions: 71.4 % 7 5
Legend: Lines:     hit not hit

            Line data    Source code
       1              : #include "MIDI_Interface.hpp"
       2              : #include "MIDI_Callbacks.hpp"
       3              : 
       4              : BEGIN_CS_NAMESPACE
       5              : 
       6              : // -------------------------------------------------------------------------- //
       7              : 
       8              : // Managing the default MIDI interface
       9              : 
      10          135 : MIDI_Interface::~MIDI_Interface() {
      11          135 :     if (getDefault() == this)
      12          135 :         DefaultMIDI_Interface = nullptr;
      13          135 : }
      14              : 
      15            0 : void MIDI_Interface::setAsDefault() { DefaultMIDI_Interface = this; }
      16              : 
      17              : #ifndef ARDUINO
      18              : #define DOWN_CAST dynamic_cast
      19              : #else
      20              : #define DOWN_CAST static_cast
      21              : #endif
      22              : 
      23          174 : MIDI_Interface *MIDI_Interface::getDefault() {
      24          174 :     return DefaultMIDI_Interface == nullptr
      25          174 :                ? DOWN_CAST<MIDI_Interface *>(updatables.getLast())
      26          174 :                : DefaultMIDI_Interface;
      27              : }
      28              : 
      29              : MIDI_Interface *MIDI_Interface::DefaultMIDI_Interface = nullptr;
      30              : 
      31              : // -------------------------------------------------------------------------- //
      32              : 
      33              : // Handling incoming MIDI events
      34              : 
      35           25 : void MIDI_Interface::onChannelMessage(ChannelMessage message) {
      36           25 :     sourceMIDItoPipe(message);
      37           25 :     if (callbacks)
      38           22 :         callbacks->onChannelMessage(*this, message);
      39           25 : }
      40              : 
      41           11 : void MIDI_Interface::onSysExMessage(SysExMessage message) {
      42           11 :     sourceMIDItoPipe(message);
      43           11 :     if (callbacks)
      44            5 :         callbacks->onSysExMessage(*this, message);
      45           11 : }
      46              : 
      47            0 : void MIDI_Interface::onSysCommonMessage(SysCommonMessage message) {
      48            0 :     sourceMIDItoPipe(message);
      49            0 :     if (callbacks)
      50            0 :         callbacks->onSysCommonMessage(*this, message);
      51            0 : }
      52              : 
      53            4 : void MIDI_Interface::onRealTimeMessage(RealTimeMessage message) {
      54            4 :     sourceMIDItoPipe(message);
      55            4 :     if (callbacks)
      56            3 :         callbacks->onRealTimeMessage(*this, message);
      57            4 : }
      58              : 
      59              : END_CS_NAMESPACE
        

Generated by: LCOV version 2.4-beta