ALSA Sequencer Interim checkin.

This commit is contained in:
Robin E. R. Davies
2025-06-28 18:41:44 -04:00
parent acb668853b
commit 862d5b6315
17 changed files with 801 additions and 434 deletions
+10 -11
View File
@@ -38,10 +38,8 @@ static void DiscoveryTest()
auto result = devices.GetAlsaDevices();
std::cout << result.size() << " ALSA devices found." << std::endl;
auto midiInputDevices = GetAlsaMidiInputDevices();
std::cout << midiInputDevices.size() << " ALSA MIDI input devices found." << std::endl;
auto midiOutputDevices = GetAlsaMidiOutputDevices();
std::cout << midiOutputDevices.size() << " ALSA MIDI output devices found." << std::endl;
auto midiInputDevices = AlsaSequencer::EnumeratePorts();
std::cout << midiInputDevices.size() << " ALSA MIDI input sequencers found." << std::endl;
}
void EnumerateSequencers()
@@ -86,18 +84,19 @@ void EnumerateSequencers()
void ReadFromsequencerTest()
{
cout << "--- Reading from ALSA Sequencer" << endl;
AlsaSequencer sequencer;
sequencer.ConnectPort("V25 V25 In");
AlsaSequencer::ptr sequencer = AlsaSequencer::Create();
sequencer->ConnectPort("V25 V25 In");
AlsaMidiMessage message;
while (true)
{
if (sequencer.ReadMessage(message,true))
if (sequencer->ReadMessage(message,true))
{
cout << "Received MIDI message: "
<< " " << hex << setfill('0') << setw(2) << static_cast<int>(message.cc0)
<< " " << hex << setfill('0') << setw(2) << static_cast<int>(message.cc1)
<< " " << hex << setfill('0') << setw(2) << static_cast<int>(message.cc2)
<< " " << hex << setfill('0') << setw(2) << static_cast<int>(message.cc0())
<< " " << hex << setfill('0') << setw(2) << static_cast<int>(message.cc1())
<< " " << hex << setfill('0') << setw(2) << static_cast<int>(message.cc2())
<< " Timestamp: " << setw(8) << dec << message.timestamp
<< std::endl;
}
@@ -109,7 +108,7 @@ void TestConfigMigration()
cout << "--- Testing ALSA Config Migration" << endl;
// older versions of PiPedal uses ALSA rawmidi.
// this code test coversion of rawmidi device IDs to ALSA Sequencer IDs.
auto rawDevices = GetAlsaMidiInputDevices();
auto rawDevices = LegacyGetAlsaMidiInputDevices();
auto seqDevices = AlsaSequencer::EnumeratePorts();
for (const auto&seqDevice: seqDevices) {