Re: [LAD] making sense of Jack MIDI; or, is this an appropriate use for Jack?

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: M Donalies <ingeniousnebbish@...>
Cc: <linux-audio-dev@...>
Date: Friday, February 15, 2013 - 8:22 pm

--bcaec554dbbadf467f04d5c921db
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Feb 15, 2013 at 3:19 PM, M Donalies wrote:

>

although flash is on its way out (thanks largely to apple, but also html5 +
), javascript is at the core of a lot serious website
functionality. it actually makes a number of web-centric user experiences
much more pleasant.

> and other gimmicks? Why is it that I can find

follow the money ... who do you propose would write such documentation?
why?

the JACK API is fully documented. tutorials on basic use of the audio API
exist. the big difference here is that there are several example blobs of
source, ranging from the explicitly "example" clients within the JACK
source code package itself, to the utility clients, and onward up to full
scale MIDI sequencers such as ardour.

But they also use Jack for audio. This is my frustration. If I want to

which is, of course, another reason why JACK MIDI exists.

> Perhaps this should go in the "what sucks about linux audio" thread.

look, the ALSA sequencer emerged at a time (1998 or so) when it was sort-of
correctly believed that you couldn't do "realtime-y" stuff from user space
on linux.

although the functionality it offers is incredibly useful for quite a few
purposes, the basic design assumption that this sort of thing must be done
by handing data to the kernel and allowing it to be scheduled there is just
wrong (or at best, unnecessary).

nobody has ever stepped up to write a library based on JACK MIDI that would
do "MIDI sequencing" in the sense of your "deliver this event at time T
where T is arbitrary". nothing is stopping anyone from doing that.

but ... i would point out that if you look carefully at the insides of the
linux based sequencers you mentioned, you will find that they do not
actually use this functionality of the ALSA sequencer either. they ask for
"immediate" delivery and use their own sequencing mechanisms to get the
timing right (mostly).

the only effort i have seen in the open source world to implement a general
purpose MIDI sequencing library that did "future" sequencing was something
called (something like) TME3. it was a complete failure in terms of getting
other apps to use it.

>

"shouldn't there be a kind of general purpose JACK audio sequencer" makes
about as much sense ...

what could make quite a bit of sense would be a utility JACK client that
played an SMF file via JACK MIDI. this would be *relatively* simple to do
(once you figure out what godawful lump of code you plan to use to parse
SMF) and would be quite instructional for future questions such as yours.

however, this tool does not exist at this time.

--p

--bcaec554dbbadf467f04d5c921db
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Fri, Feb 15, 2013 at 3:19 PM, M Donal=
ies <ingeniousnebbish@cox.net> wrote:

[insert rant: If html email is for children, shouldn't serious document=
ation
refrain from flash, javascript, although flash is on =
its way out (thanks largely to apple, but also html5 + <canvas>), jav=
ascript is at the core of a lot serious website functionality. it actually =
makes a number of web-centric user experiences much more pleasant.
=A0and other gimmicks? Why is it that =
I can find
entire books on programming the linux kernel, but so little about either Al=
sa
or Jack?]follow the money ... who do=
you propose would write such documentation? why? the JACK API is f=
ully documented. tutorials on basic use of the audio API exist. the big dif=
ference here is that there are several example blobs of source, ranging fro=
m the explicitly "example" clients within the JACK source code pa=
ckage itself, to the utility clients, and onward up to full scale MIDI sequ=
encers such as ardour.=A0

But they also use Jack for audio. This=
is my frustration. If I want to support
both audio and midi, then I have to learn 2 completely different and confli=
cting
api's.which is, of course, another reason why JAC=
K MIDI exists.=A0 Perhaps this sho=
uld go in the "what sucks about linux audio" thread.

What I could do 15+ years ago under Window still mystifies me in how to do =
it
under linux. (And, no, I'm not a shill for MS. I use linux for everythi=
ng
other than audio, and I really, really want it for audio as well.)look, the ALSA sequencer emerged at a time (1998 or so) wh=
en it was sort-of correctly believed that you couldn't do "realtim=
e-y" stuff from user space on linux.
although the functionality it offers is incredibly useful for quite a f=
ew purposes, the basic design assumption that this sort of thing must be do=
ne by handing data to the kernel and allowing it to be scheduled there is j=
ust wrong (or at best, unnecessary).
nobody has ever stepped up to write a library based on JACK MIDI that w=
ould do "MIDI sequencing" in the sense of your "deliver this=
event at time T where T is arbitrary". nothing is stopping anyone fro=
m doing that.
but ... i would point out that if you look carefully at the insides of =
the linux based sequencers you mentioned, you will find that they do not ac=
tually use this functionality of the ALSA sequencer either. they ask for &q=
uot;immediate" delivery and use their own sequencing mechanisms to get=
the timing right (mostly).
the only effort i have seen in the open source world to implement a gen=
eral purpose MIDI sequencing library that did "future" sequencing=
was something called (something like) TME3. it was a complete failure in t=
erms of getting other apps to use it.
=A0

[insert rambling conspiracy or other rant of your choice here]

If Jack is used for audio, then shouldn't there be a kind-of general-pu=
rpose
Jack midi sequencer? (... and the crowd muttered, "Idiot. You have no =
idea
what you're talking about.")"should=
n't there be a kind of general purpose JACK audio sequencer" makes=
about as much sense ... what could make quite a bit of sense would=
be a utility JACK client that played an SMF file via JACK MIDI. this would=
be *relatively* simple to do (once you figure out what godawful lump of co=
de you plan to use to parse SMF) and would be quite instructional for futur=
e questions such as yours.
however, this tool does not exist at this time.--p

--bcaec554dbbadf467f04d5c921db--

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [LAD] making sense of Jack MIDI; or, is this an appropri..., Pedro Lopez-Cabanillas, (Fri Feb 15, 5:53 pm)
Re: [LAD] making sense of Jack MIDI; or, is this an appropri..., Pedro Lopez-Cabanillas, (Sat Feb 16, 12:16 pm)
Re: [LAD] making sense of Jack MIDI; or, is this an appropri..., Pedro Lopez-Cabanillas, (Sat Feb 16, 5:22 pm)
Re: [LAD] making sense of Jack MIDI; or, is this an appropri..., Pedro Lopez-Cabanillas, (Sat Feb 16, 9:39 am)
Re: [LAD] making sense of Jack MIDI; or, is this an appropri..., Paul Davis, (Fri Feb 15, 8:22 pm)
Re: [LAD] making sense of Jack MIDI; or, is this an appropri..., Pedro Lopez-Cabanillas, (Sat Feb 16, 10:03 am)
Re: [LAD] making sense of Jack MIDI; or, is this an appropri..., Pedro Lopez-Cabanillas, (Sat Feb 16, 11:03 am)
Re: [LAD] making sense of Jack MIDI; or, is this an appropri..., Pedro Lopez-Cabanillas, (Fri Feb 15, 7:15 pm)