oss_midiloop(7)

πŸ“¦
version 4.2-build2020 Β· 3 versions
, in ubuntu noble

πŸ’– oss_midiloop β€” the loopback MIDI driver (section 7, OSS Devices) πŸ’–

okay bestie, buckle up, because this one is genuinely iconic once it clicks ✨

πŸŽ€ NAME πŸŽ€

oss_midiloop β€” the Loopback MIDI driver. fr fr, that's the whole name, that's the whole vibe.


🌸 DESCRIPTION 🌸

so here's the tea: the loopback MIDI driver is what lets you build special-purpose virtual MIDI devices out of user-land server processes. like, your own lil program becomes a MIDI device. main character energy honestly πŸ’…

πŸ¦‹ INTRODUCTION πŸ¦‹

think of MIDI loopback devices as being like named pipes or pseudo terminals β€” same kind of idea, but make it MIDI 🎹

they come in client + server device pairs, always grouped together. and there's one rule you cannot skip, no cap:

the server side device must be open before the client side device can be opened. periodt. if the server side isn't open, the client side literally won't open, sorry bestie 😭

πŸ‘‘ SERVER SIDE DEVICE πŸ‘‘

the server side device is the one some special application grabs β€” think a software-based MIDI synthesizer, for example β€” so it can receive MIDI events from the applications that wanna play MIDI. it's the one catching all the notes 🫢

🌈 CLIENT SIDE DEVICE 🌈

client applications β€” MIDI players and friends β€” open the client side device whenever they need to play some MIDI stream (a file, for example). and here's the slay part: the client side device behaves just like any "ordinary" MIDI device. the catch? it cannot be opened when there's no program connected to the server side. no server, no client, that's the deal πŸ’€

πŸ’œ COMPATIBILITY ISSUES πŸ’œ

lowkey the most important section, so pay attention bestie:

MIDI loopback devices differ from "normal" MIDI devices because an application is needed at both ends of the loop. because of that, the loop device will return a "Connection reset by peer" error β€” that's ECONNRESET β€” as an error.

and no, that's not a bug, that's a feature 🧚 applications that are designed to be used as loopback-based server applications can/should use this error (returned by read or write) as an end-of-stream indication. it's giving "goodbye, we're done here" ✨

⭐ OPTIONS ⭐

  • midiloop_instances β€” specifies how many loopback client/server MIDI device pairs to be created. yes, you can have a whole lil squad of them πŸ‘‘
    • Values: 1-16
    • Default: 1

πŸ™ˆ KNOWN PROBLEMS πŸ™ˆ

None. not a single one. she's flawless, she's perfect, we love her πŸ’– (genuinely, the page says None, so. None.)

πŸ“ FILES πŸ“

  • /etc/oss4/conf/oss_midiloop.conf β€” the Device configuration file. that's where the settings live, bestie.

🌟 AUTHOR 🌟

4Front Technologies β€” the icons who brought you this whole thing 🫢


okay that's the whole page!! go forth and loop some MIDI, you've got this πŸ’…πŸŽ€πŸ¦‹

cute lil sign-off: this page is from the OSS Devices manual, oss_midiloop(7), dated 11 February 2015. bye bestie, stream safely 🌸✨
πŸ“¦ where this page comes from