<?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, 25 Aug 2026 15:57:40 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <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-11615</link>
                        <pubDate>Mon, 24 Aug 2026 08:41:33 +0000</pubDate>
                        <description><![CDATA[Hello everyone,An update to the MIDI Manager project I posted about previously: MusicNote Haven MIDI Manager 1.1 is now available.Version 1.1 represents a substantial step forward, particula...]]></description>
                        <content:encoded><![CDATA[<p>Hello everyone,<br /><br />An update to the MIDI Manager project I posted about previously: MusicNote Haven MIDI Manager 1.1 is now available.<br /><br />Version 1.1 represents a substantial step forward, particularly in the analysis, review and large-library workflow.<br /><br />Among the changes:<br />• redesigned professional desktop interface<br />• Source Index and Deep MIDI Analysis improvements<br />• explicit Search with detailed per-file evidence<br />• instruments, controllers, SysEx and GM/GS/XG-related information<br />• human Review for uncertain recognition and organization decisions<br />• preview-first, copy-first organization<br />• scalable Organized Library browsing<br />• MIDI playback and playback queues<br />• FAT12 / Gotek-oriented Floppy Image Studio<br />• Library Health, database maintenance and recovery workflows<br /><br />MIDI Manager remains local-first. MIDI/KAR files are not uploaded to a cloud service; the archive and analysis database remain on the user’s own computer, NAS or storage.<br /><br />One of the main development collections contains 193,195 MIDI/KAR files. Working with that collection continues to drive improvements in indexing, search, incremental browsing and database maintenance.<br /><br />I’ve published a new walkthrough of the current 1.1 application:<br />https://youtu.be/5w1RfQlsUuY<br /><br />Updated downloads, documentation and release notes:<br />https://musicnotehaven.ethercomm.eu/<br /><br />Windows is available through the Microsoft Store, with a verified Linux package also available.<br /><br />For those working with large or older MIDI collections, I’d still be very interested in hearing which metadata or analysis results you find most valuable when identifying an unfamiliar MIDI file.<br /><br />Thanks,</p>
<p><br />MusicNote Haven</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-11615</guid>
                    </item>
				                    <item>
                        <title>RE: Got Property Exchange working between two vendors&#039; gear that never coordinated — sharing it, and some open questions on adoption</title>
                        <link>https://midi.org/community/midi-specifications/got-property-exchange-working-between-two-vendors-gear-that-never-coordinated-sharing-it-and-some-open-questions-on-adoption#post-11609</link>
                        <pubDate>Wed, 19 Aug 2026 21:47:36 +0000</pubDate>
                        <description><![CDATA[Hi Nick,
On question 3, a trap that cost me some time and might be useful: the MUID being generated before the RNG is seeded. On the RP2350 I had a fixed MUID on every boot, and nothing bre...]]></description>
                        <content:encoded><![CDATA[<p>Hi Nick,</p>
<p>On question 3, a trap that cost me some time and might be useful: the MUID being generated before the RNG is seeded. On the RP2350 I had a fixed MUID on every boot, and nothing breaks until there are two identical devices on the same bus, then both declare the same MUID and the session becomes ambiguous. It only showed up when I went to check the MUID on the wire rather than in the log.</p>
<p>On your offer of an open reference: there's interest on this end. I work from the opposite side to yours, with the responder running inside the device, on the MCU, not on the host. I've run that successfully against the MIDI 2.0 Workbench on several MCU families.</p>
;)]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>Saulo Verissimo</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/got-property-exchange-working-between-two-vendors-gear-that-never-coordinated-sharing-it-and-some-open-questions-on-adoption#post-11609</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-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>
							        </channel>
        </rss>
		