MCPcopy Create free account
hub / github.com/Tracktion/choc / demonstrateMIDINoteUtilities

Function demonstrateMIDINoteUtilities

examples/midi_file_processing.cpp:8–27  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6#include "../choc/audio/choc_MIDISequence.h"
7
8void demonstrateMIDINoteUtilities()
9{
10 std::cout << "\n=== MIDI Note Utilities Demo ===\n";
11
12 // Demonstrate NoteNumber class
13 for (int note = 60; note <= 72; ++note)
14 {
15 choc::midi::NoteNumber noteNum { static_cast<uint8_t>(note) };
16 std::cout << "Note " << static_cast<int>(noteNum)
17 << ": " << noteNum.getNameWithOctaveNumber()
18 << " (" << noteNum.getFrequency() << " Hz)"
19 << (noteNum.isNatural() ? " [Natural]" : " [Accidental]") << "\n";
20 }
21
22 // Demonstrate frequency conversion
23 std::cout << "\nFrequency conversions:\n";
24 std::cout << "A440 (note 69): " << choc::midi::noteNumberToFrequency (69) << " Hz\n";
25 std::cout << "Middle C (note 60): " << choc::midi::noteNumberToFrequency (60) << " Hz\n";
26 std::cout << "440 Hz -> note number: " << choc::midi::frequencyToNoteNumber (440.0f) << "\n";
27}
28
29void demonstrateMIDIMessageConstruction()
30{

Callers 1

mainFunction · 0.85

Calls 5

noteNumberToFrequencyFunction · 0.85
frequencyToNoteNumberFunction · 0.85
getFrequencyMethod · 0.80
isNaturalMethod · 0.80

Tested by

no test coverage detected