<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									MIDI.org Forum - Recent Posts				            </title>
            <link>https://midi.org/community</link>
            <description>MIDI.org Discussion Board</description>
            <language>en-US</language>
            <lastBuildDate>Tue, 18 Aug 2026 10:50:01 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>RE:  What is the common practice of handling a virtual UMP device when a legacy Midi host connected into it?</title>
                        <link>https://midi.org/community/midi-specifications/alsa-sequencer-what-is-the-common-practice-of-handling-a-virtual-ump-device-when-a-legacy-midi-host-connected-into-it#post-11608</link>
                        <pubDate>Tue, 18 Aug 2026 05:23:43 +0000</pubDate>
                        <description><![CDATA[Excellent glad it all came together :)]]></description>
                        <content:encoded><![CDATA[<p>Excellent glad it all came together :)</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>Andrew Mee</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/alsa-sequencer-what-is-the-common-practice-of-handling-a-virtual-ump-device-when-a-legacy-midi-host-connected-into-it#post-11608</guid>
                    </item>
				                    <item>
                        <title>RE:  What is the common practice of handling a virtual UMP device when a legacy Midi host connected into it?</title>
                        <link>https://midi.org/community/midi-specifications/alsa-sequencer-what-is-the-common-practice-of-handling-a-virtual-ump-device-when-a-legacy-midi-host-connected-into-it#post-11607</link>
                        <pubDate>Mon, 17 Aug 2026 08:56:23 +0000</pubDate>
                        <description><![CDATA[Good news! I manage to get my code work based on your &quot;io-seq-common.c&quot; example, by creating the &quot;snd_ump_endpoint_info_t&quot; and &quot;snd_ump_block_info_t&quot; with the functions &quot;snd_seq_create_ump_e...]]></description>
                        <content:encoded><![CDATA[<p>Good news! I manage to get my code work based on your "io-seq-common.c" example, by creating the "<em>snd_ump_endpoint_info_t</em>" and "<em>snd_ump_block_info_t</em>" with the functions "<em>snd_seq_create_ump_endpoint</em>()" and "<em>snd_seq_create_ump_block</em>()" respectively, with following the settings of your example with a hardcoded block name (My own UMP block). The callback function remains the same as the one in the question, using "<em>snd_seq_ump_event_input</em>" to receive the packets.</p>
<p>With the modified program run, I could confirm my endpoint is created properly:</p>
<pre contenteditable="false"> Port    Client name                      Port name
 14:0    Midi Through                     Midi Through Port-0
128:0    Zig UMP Endpoint                 MIDI 2.0
128:1    Zig UMP Endpoint                 Group 1 (My own UMP block)</pre>
<p>With my daw pointing to the endpoint, I have sent the legacy midi event into my endpoint and I can confirmed that the old midi event are being converted to ump, and I could also recognize the note on and off packet. It even have translated into midi 2.0. I suspect the use of SND_UMP_EP_INFO_PROTO_MIDI2 does it, but I am not sure yet:</p>
<pre contenteditable="false">Packet:
01000000100100000011000000000000
11111111111111110000000000000000

Packet:
01000000100000000011000000000000
11111111111111110000000000000000

Packet:
01000000100100000011011100000000
11111111111111110000000000000000

Packet:
01000000100000000011011100000000
11111111111111110000000000000000</pre>
<p>Besides, the ubuntu version also matter. Because I was using Ubuntu 24, the alsa and asoundlib was a few versions older which it didn't include the function for creating the ump endpoint and function blocks, ending with my header being outdated to the official documentation. Upgraded to Ubuntu 26 could access these missing functions.</p>
<p>Once again, thanks for your coding example! Otherwise, I might need much longer time to figure out how to receive my first umps.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>Accipiter Nova</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/alsa-sequencer-what-is-the-common-practice-of-handling-a-virtual-ump-device-when-a-legacy-midi-host-connected-into-it#post-11607</guid>
                    </item>
				                    <item>
                        <title>RE:  What is the common practice of handling a virtual UMP device when a legacy Midi host connected into it?</title>
                        <link>https://midi.org/community/midi-specifications/alsa-sequencer-what-is-the-common-practice-of-handling-a-virtual-ump-device-when-a-legacy-midi-host-connected-into-it#post-11606</link>
                        <pubDate>Mon, 17 Aug 2026 02:47:59 +0000</pubDate>
                        <description><![CDATA[Thanks for your info! I think your mention of Function Block gives me a good direction in the documentation, finding something possibly I needed, and based on your finding and example, let m...]]></description>
                        <content:encoded><![CDATA[<p>Thanks for your info! I think your mention of Function Block gives me a good direction <a href="http://Creation of UMP Virtual Endpoint and Function Blocks" target="_blank" rel="noopener">in the documentation</a>, finding something possibly I needed, and based on your finding and example, let me try to create the port as you have described.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>Accipiter Nova</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/alsa-sequencer-what-is-the-common-practice-of-handling-a-virtual-ump-device-when-a-legacy-midi-host-connected-into-it#post-11606</guid>
                    </item>
				                    <item>
                        <title>RE:  What is the common practice of handling a virtual UMP device when a legacy Midi host connected into it?</title>
                        <link>https://midi.org/community/midi-specifications/alsa-sequencer-what-is-the-common-practice-of-handling-a-virtual-ump-device-when-a-legacy-midi-host-connected-into-it#post-11605</link>
                        <pubDate>Mon, 17 Aug 2026 02:30:54 +0000</pubDate>
                        <description><![CDATA[&gt; While the program is run, since I also want to see how midi host that can&#039;t support ump behaves to my virtual input device, I decided to open a daw and trying to send something with it;...]]></description>
                        <content:encoded><![CDATA[<p>&gt; <span>While the program is run, since I also want to see how midi host that can't support ump behaves to my virtual input device, I decided to open a daw and trying to send something with it; unsurprisingly, although my daw recognized my virtual port, the port don't response to the event since my host didn't send ump event,</span><br /><br />IIRC when you create a UMP based ALSA port it creates port 0 (The raw UMP port) - but if you give it Function Blocks it will create legacy MIDI 1.0 port on ports 1-16 (depending on setup). You can send MIDI 1.0 event to these ports and they are translated to UMP. <br /><br />Maybe https://github.com/tiwai/amidi2net might help in terms of example code.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>Andrew Mee</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/alsa-sequencer-what-is-the-common-practice-of-handling-a-virtual-ump-device-when-a-legacy-midi-host-connected-into-it#post-11605</guid>
                    </item>
				                    <item>
                        <title> What is the common practice of handling a virtual UMP device when a legacy Midi host connected into it?</title>
                        <link>https://midi.org/community/midi-specifications/alsa-sequencer-what-is-the-common-practice-of-handling-a-virtual-ump-device-when-a-legacy-midi-host-connected-into-it#post-11604</link>
                        <pubDate>Mon, 17 Aug 2026 02:02:21 +0000</pubDate>
                        <description><![CDATA[Hi mate!First time commenter here since I have a hard time on searching relevant info regardless to the ALSA sequencer where I find no info related to this problem in the ALSA documentation,...]]></description>
                        <content:encoded><![CDATA[<p>Hi mate!<br /><br />First time commenter here since I have a hard time on searching relevant info regardless to the ALSA sequencer where I find no info related to this problem in the ALSA documentation, nor I could find anyone handing this problem in the existing midi libraries, while the github and sourceforge discussions are a bit inactive where many of the questions remain unanswered. Seems like here is the closest place where can give me some directions to solve the problems since my problem might also involves in some basic midi 2.0 knowledge.<br /><br />I am currently studying the ALSA sequencer and I have some success on building a basic midi 1.0 input and output, so I decided to build a virtual input with supporting ump; basically, I have created a port with an enum of SND_SEQ_PORT_TYPE_MIDI_UMP:</p>
<pre contenteditable="false">// Create an input port, but ump
const port_id = asound.snd_seq_create_simple_port(
    seq.?,
    "Zig Midi In Ump",
    asound.SND_SEQ_PORT_CAP_WRITE | asound.SND_SEQ_PORT_CAP_SUBS_WRITE,
    asound.SND_SEQ_PORT_TYPE_MIDI_GENERIC | asound.SND_SEQ_PORT_TYPE_APPLICATION | asound.SND_SEQ_PORT_TYPE_MIDI_UMP,
);</pre>
<p>After that, I have created an async callback to receive the ump packet. is_active is a global variable so that the loop can be stopped outside the async function, while the type UmpEvent is snd_seq_ump_event_t: </p>
<pre contenteditable="false">fn processUmpEvent(seq: ?*Seq) void {
    var ev: ?*UmpEvent = null;
    while (is_active) {
        if (asound.snd_seq_ump_event_input(seq.?, &amp;ev) &gt;= 0) {
            std.debug.print("Event type: {d}\n", .{ev.?.type});
        }
    }
}
</pre>
<p>While the program is run, since I also want to see how midi host that can't support ump behaves to my virtual input device, I decided to open a daw and trying to send something with it; unsurprisingly, although my daw recognized my virtual port, the port don't response to the event since my host didn't send ump event, but this creates some questions since I am not sure how should I handle this situation if I want to build a midi library or a midi host for example, so here are the questions:</p>
<p>- Is the behavior of legacy midi host recognized my virtual input device intended?<br />- When I build a virtual input device, do I need to check if the new incoming or target device support ump? Or my virtual device should always handle both ump and legacy format? Or I should prevent the legacy device to connect to the ump endpoint?</p>
<p>Please let me know if anyone needs more info for the questions, or if the question is duplicated so that I could referred to the existing discussion.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>Accipiter Nova</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/alsa-sequencer-what-is-the-common-practice-of-handling-a-virtual-ump-device-when-a-legacy-midi-host-connected-into-it#post-11604</guid>
                    </item>
				                    <item>
                        <title>RE: Middle C (note 60) Pitch Assignment?</title>
                        <link>https://midi.org/community/midi-software/middle-c-note-60-pitch-assignment#post-11603</link>
                        <pubDate>Sat, 15 Aug 2026 21:59:48 +0000</pubDate>
                        <description><![CDATA[@Bavi H, thank you for your reply AND for providing a link to the six year old discussion regarding my question.
The linked discussion rather concisely displays nearly every pro and con vie...]]></description>
                        <content:encoded><![CDATA[<p>@Bavi H, thank you for your reply AND for providing a link to the six year old discussion regarding my question.</p>
<p>The linked discussion rather concisely displays nearly every pro and con viewpoint possible about (1) should an octave designation be attached to the "note 60 equals middle C" specification and (2) if so there are at least two standards that define middle C, which standard should be used? </p>
<p>What the much earlier thread does not touch upon is why the midi middle C standard needs the addition of an octave number.  The most reasonable reason I can give is the general population has a renewed interest in midi with the continual release of MIDI 2.0 standards.  Once again midi is exciting!  The best way to kill excitement is inconsistency.  Midi 2.0 has the opportunity to eliminate much of the inconsistency.  But how is that possible you may ask, it's a two step process.</p>
<p>Step 1 is to assign an octave value to middle C equals note 60.  Of course to assign an octave value the specification also has to state which standard the octave value is derived from.  That way there is a starting point for everyone to understand where middle C resides within an instrument's range.</p>
<p>Step 2 is during a midi device identity interrogation the midi device middle C octave value is returned.  Midi 1 hardware devices can be assigned a middle C octave value from either a look up table that will be compiled over time or by a one time user setting.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>Jim Fogle</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-software/middle-c-note-60-pitch-assignment#post-11603</guid>
                    </item>
				                    <item>
                        <title>RE: Middle C (note 60) Pitch Assignment?</title>
                        <link>https://midi.org/community/midi-software/middle-c-note-60-pitch-assignment#post-11602</link>
                        <pubDate>Sat, 15 Aug 2026 19:26:41 +0000</pubDate>
                        <description><![CDATA[Here is a previous thread: MIDI Octave and Note Numbering Standard
My understanding is MIDI specifications do not mention any octave number for middle C because there is not good agreement ...]]></description>
                        <content:encoded><![CDATA[<p style="margin-top: 1rem">Here is a previous thread: <a style="text-decoration: underline" href="https://midi.org/community/midi-specifications/midi-octave-and-note-numbering-standard">MIDI Octave and Note Numbering Standard</a></p>
<p style="margin-top: 1rem">My understanding is MIDI specifications do not mention any octave number for middle C because there is not good agreement on which octave number to use. But my understanding is that MIDI specifications are otherwise clear that:</p>
<p style="margin-top: 1rem">MIDI note number 60 is middle C.<br />MIDI note number 69 is A 440 hertz.<br />MIDI devices use 12-tone equal temperament by default unless other kinds of tuning messages change that.</p>
<p style="margin-top: 1rem">I think it is well known that there is no universal agreement about what octave number to use for middle C. Anyone who is specifying pitches using pitch letters and octave numbers should explain what they consider middle C to be to avoid confusion. (Or provide the frequency of some note in hertz.)</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>Bavi_H</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-software/middle-c-note-60-pitch-assignment#post-11602</guid>
                    </item>
				                    <item>
                        <title>Middle C (note 60) Pitch Assignment?</title>
                        <link>https://midi.org/community/midi-software/middle-c-note-60-pitch-assignment#post-11601</link>
                        <pubDate>Sat, 15 Aug 2026 17:14:21 +0000</pubDate>
                        <description><![CDATA[Greetings to all but especially those that write MIDI specifications.
Is assigning a pitch value such as C2, C3, C4 or C5 to midi middle C equals note 60 under consideration?
As things cur...]]></description>
                        <content:encoded><![CDATA[<p>Greetings to all but especially those that write MIDI specifications.</p>
<p>Is assigning a pitch value such as C2, C3, C4 or C5 to midi middle C equals note 60 under consideration?</p>
<p>As things currently stand there is hardware and software that use each of the pitch values listed above as their middle C standard.</p>
<p>Whatever audio is played back may not represent the intent of the midi composer because the audio maybe played back at the wrong octave.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>Jim Fogle</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-software/middle-c-note-60-pitch-assignment#post-11601</guid>
                    </item>
				                    <item>
                        <title>RE: MIDI Manager - collection organizer for .mid, .midi and .kar files</title>
                        <link>https://midi.org/community/midi-software/midi-manager-collection-organizer-for-mid-midi-and-kar-files#post-11600</link>
                        <pubDate>Sat, 15 Aug 2026 02:22:17 +0000</pubDate>
                        <description><![CDATA[MusicNote Haven MIDI Manager has now reached its 1.0 production generation.
Windows 1.0.0 is officially available through the Microsoft Store, and Linux 1.0.1 is available as a verified Ubu...]]></description>
                        <content:encoded><![CDATA[<p class="PDq2pG_selectionAnchorContainer" data-start="9315" data-end="9390">MusicNote Haven MIDI Manager has now reached its 1.0 production generation.<span class="PDq2pG_selectionAnchor" aria-hidden="true"></span></p>
<p data-start="9395" data-end="9541"><strong data-start="9395" data-end="9412">Windows 1.0.0</strong> is officially available through the Microsoft Store, and <strong data-start="9470" data-end="9485">Linux 1.0.1</strong> is available as a verified Ubuntu/Kubuntu 24.04 <code data-start="9534" data-end="9540">.deb</code>.</p>
<p data-start="9546" data-end="9822">MIDI Manager is designed around local MIDI/KAR archive management rather than DAW project management. It indexes existing collections, extracts searchable technical information from MIDI files, and lets the user review analysis evidence before organization decisions are made.</p>
<p data-start="9827" data-end="10081">The 1.0 release includes Search &amp; Filter, Deep MIDI Analysis, analysis provenance, targeted reanalysis, safe copy-first organization, database-backed Organized Library browsing, playback workflows and FAT12/IMG image tools for vintage keyboard workflows.</p>
<p data-start="10086" data-end="10196">The software does not require MIDI collections to be uploaded. Source folders remain under the user's control.</p>
<p data-start="10201" data-end="10337">A real-world test collection containing 193,195 MIDI/KAR files has also been used throughout development to test large-library behavior.</p>
<p data-start="10342" data-end="10412">More information and downloads:<br /><a class="decorated-link" href="https://musicnotehaven.ethercomm.eu/?utm_source=chatgpt.com" target="_new" rel="noopener" data-start="10376" data-end="10412">https://musicnotehaven.ethercomm.eu/</a></p>
<p data-start="10417" data-end="10558">I would be interested in feedback from people working with older hardware, unusually large MIDI archives or device-specific MIDI collections.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>MusicNoteHaven</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-software/midi-manager-collection-organizer-for-mid-midi-and-kar-files#post-11600</guid>
                    </item>
				                    <item>
                        <title>RE: MIDI Manager - collection organizer for .mid, .midi and .kar files</title>
                        <link>https://midi.org/community/midi-software/midi-manager-collection-organizer-for-mid-midi-and-kar-files#post-11598</link>
                        <pubDate>Wed, 12 Aug 2026 19:30:34 +0000</pubDate>
                        <description><![CDATA[MusicNote Haven MIDI Manager 0.9.5 is now available in the Microsoft Store for Windows.
A small milestone for the project, but an important one: the Store version has passed certification, ...]]></description>
                        <content:encoded><![CDATA[<p>MusicNote Haven MIDI Manager 0.9.5 is now available in the Microsoft Store for Windows.</p>
<p>A small milestone for the project, but an important one: the Store version has passed certification, was installed directly from the public Microsoft Store on a Windows 11 test system, and retained the existing MIDI Manager settings and database correctly.</p>
<p>MIDI Manager is a local-first desktop application for people working with MIDI and KAR collections. It can index large collections, run deeper MIDI analysis, search and review files, detect MIDI/device characteristics, build a separate Organized Library, create playback queues, and prepare floppy/Gotek IMG files. Your MIDI files stay on your own computer or storage.</p>
<p class="PDq2pG_selectionAnchorContainer" data-start="506" data-end="628"><strong data-start="506" data-end="575">Windows 0.9.5 is now available directly from the Microsoft Store:</strong><br data-start="575" data-end="578" /><a class="decorated-link cursor-pointer" target="_new" rel="noopener" data-start="580" data-end="626">https://apps.microsoft.com/detail/9P9PKX8XNDWF</a><span class="PDq2pG_selectionAnchor" aria-hidden="true"></span></p>
<p data-start="633" data-end="693">Linux 0.9.5-1 remains available as an Ubuntu/Kubuntu .deb.</p>
<p data-start="698" data-end="791">Downloads and current release information:<br data-start="740" data-end="743" /><a class="decorated-link cursor-pointer" target="_new" rel="noopener" data-start="745" data-end="791">https://musicnotehaven.ethercomm.eu/downloads/</a></p>
<p>I am still looking for MIDI users who want to test the application with real-world collections. That feedback is now directly influencing the work toward Windows 1.0.0 and Linux 1.0.1 — especially analysis explainability, preservation of MIDI data, Library Organizer usability and support for less straightforward MIDI/arranger-keyboard material.</p>
<p>The tester programme is here:<br /><a href="https://musicnotehaven.ethercomm.eu/midi-manager-testers/">https://musicnotehaven.ethercomm.eu/midi-manager-testers/</a></p>
<p>I’m particularly interested in feedback from people with collections that go beyond straightforward General MIDI files: older archives, KAR files, keyboard/arranger material, GS/XG files, unusual controller/program/bank data, SysEx, and files that have survived several generations of software.</p>
<p>If anyone here tries it, I’d genuinely like to hear what it gets right, what it misunderstands, and what would make it more useful for serious MIDI collection management.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>MusicNoteHaven</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-software/midi-manager-collection-organizer-for-mid-midi-and-kar-files#post-11598</guid>
                    </item>
							        </channel>
        </rss>
		