Skip to content

Latest commit

 

History

History
153 lines (115 loc) · 2.45 KB

index.rst

File metadata and controls

153 lines (115 loc) · 2.45 KB

Welcome to Midijo's documentation!

Midijo repository: https://github.com/KaixoCode/Midijo

.. toctree::
   :maxdepth: 10
   :caption: Contents:



Content

Documentation

Midi

.. doxygenclass:: Midijo::Midi
        :members:

.. doxygenclass:: Midijo::MidiIn
        :members:

.. doxygenclass:: Midijo::MidiOut
        :members:

Events

.. doxygenstruct:: Midijo::Event
    :members:

.. doxygenstruct:: Midijo::NoteOn
    :members:

.. doxygenstruct:: Midijo::NoteOff
    :members:

.. doxygenstruct:: Midijo::Aftertouch
    :members:

.. doxygenstruct:: Midijo::CC
    :members:

.. doxygenstruct:: Midijo::ProgramChange
    :members:

.. doxygenstruct:: Midijo::ChannelAftertouch
    :members:

.. doxygenstruct:: Midijo::PitchBend
    :members:

Structs

.. doxygenstruct:: Midijo::MidiParameters
    :members:

.. doxygenstruct:: Midijo::DeviceInfo
    :members:

Enums

.. doxygenenum:: Midijo::Api
    :outline:

.. doxygenenum:: Midijo::Error
    :outline:

Examples

Midi input

#include "Midijo/Midijo.hpp"

using namespace Midijo;

int main()
{
    MidiIn midi;

    // Register a callback for any event type.
    midi.Callback([](const Event& e)
    {
        std::cout <<
            (int)e.byte1 << ", " << (int)e.byte2 << ", " <<
            (int)e.byte3 << ", " << (int)e.byte4 << '\n';
    });

    // Register a callback for a specific event type.
    midi.Callback([](const NoteOn& e)
    {
        std::cout << e.Note() << ", " << e.Velocity() << '\n';
    });

    // Open device with id 0 and start.
    midi.Open({.device = 0 });
    midi.Start();

    // Receive events for 10 seconds.
    std::this_thread::sleep_for(std::chrono::seconds(10));

    // Close the device.
    midi.Close();
}