author | František Kučera <franta-hg@frantovo.cz> |
Mon, 21 Feb 2022 00:43:11 +0100 | |
branch | v_0 |
changeset 329 | 5bc2bb8b7946 |
parent 317 | fce3d6290c40 |
permissions | -rw-r--r-- |
317
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
1 |
<stránka |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
2 |
xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana" |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
3 |
xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
4 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
5 |
<nadpis>Generating and sending MIDI messages</nadpis> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
6 |
<perex>generate some sounds and send them to the JACK daemon</perex> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
7 |
<m:pořadí-příkladu>04500</m:pořadí-příkladu> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
8 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
9 |
<text xmlns="http://www.w3.org/1999/xhtml"> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
10 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
11 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
12 |
A powerful audio system called <a href="https://jackaudio.org/">JACK</a> allows us to |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
13 |
build pipelines consisting of audio interfaces, players, recorders, filters and effects… |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
14 |
and route sound streams (both PCM and MIDI) through them. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
15 |
MIDI messages can come from keyboards or other hardware MIDI controllers or from MIDI players and other software. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
16 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
17 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
18 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
19 |
While <code>relpipe-in-jack</code> can be used for <m:a href="examples-jack-midi-monitoring">monitoring MIDI messages</m:a> (<i>recording</i>), |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
20 |
the <code>relpipe-out-jack</code> (since <m:a href="release-v0.17">v0.17</m:a>) is designed for sending messages to JACK (<i>playback</i>). |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
21 |
So instead of playing <em>Standard MIDI Files</em> (.smf, .mid) |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
22 |
we can read relational data and send them as MIDI messages to JACK daemon that forwards them to a hardware or software synthesizer |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
23 |
or other program (called <i>client</i> in JACK terminology). |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
24 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
25 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
26 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
27 |
The <code>relpipe-out-jack</code> reads relational data in the same format as <code>relpipe-in-jack</code>. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
28 |
So we can capture some MIDI data and play it later. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
29 |
But this is bit boring and any music sequencer would do a better job. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
30 |
We can have more fun with programmatically generating the „music“ (or rather just sounds in beginnings). |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
31 |
Thanks to the nature of <m:name/>, the relation containing such „music“ can come from many various sources. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
32 |
In this example we will use the SQL language. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
33 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
34 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
35 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
36 |
<h2>Connect and say hello to MT-32 (SysEx)</h2> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
37 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
38 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
39 |
Before doing anything audible, we will start with saying hello to our sound module. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
40 |
We need a relation with two attributes. The first one is <code>event</code> and says what should be done. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
41 |
The second one <code>raw</code> contains the raw MIDI data. It is a SysEx message specific to Roland MT-32, |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
42 |
but it can be any MIDI event: |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
43 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
44 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
45 |
<m:pre jazyk="bash"><![CDATA[relpipe-in-cli \ |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
46 |
--relation "midi" \ |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
47 |
--attribute "event" string \ |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
48 |
--attribute "raw" string \ |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
49 |
--record "sysex" "f0 41 10 16 12 20 00 00 52 65 6c 70 69 70 65 21 6e f7" \ |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
50 |
| relpipe-out-jack --connect-to j2a_bridge:playback]]></m:pre> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
51 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
52 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
53 |
If we omit the <code>--connect-to j2a_bridge:playback</code> part, the <code>relpipe-out-jack</code> command |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
54 |
will wait util we connect it somewhere e.g. using QjackCtl. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
55 |
We can control this behavior by explicitly specifying <code>--required-connections N</code> (default <code>N</code> is 1) |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
56 |
and say e.g. „Wait until you have 3 connections and then start sending“. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
57 |
But because we specified the destination port, the <code>relpipe-out-jack</code> command immediately |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
58 |
connects to it and sends data there. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
59 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
60 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
61 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
62 |
The <code>j2a_bridge:playback</code> port was created by the <code>j2amidi_bridge</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
63 |
that bridges JACK-MIDI and ALSA-MIDI. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
64 |
In QjackCtl or other tool, we can connect the ALSA end of this bridge to a physical interface (sound module, synthesizer). |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
65 |
If we have no audio hardware, we omit this part and stay in the JACK world – we can connect our MIDI ports to various |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
66 |
applications like Yoshimi, QMidiArp, Qtractor etc. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
67 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
68 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
69 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
70 |
See more details on MT-32 and MIDI SysEx in: <m:a href="examples-jack-midi-monitoring">Monitoring MIDI messages using JACK</m:a>. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
71 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
72 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
73 |
<h2>Set the MIDI instruments for particular channels</h2> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
74 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
75 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
76 |
Instruments (like particular pianos, guitars, drums, special effects etc.) can be set on our synthesizer for particular channels. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
77 |
However for reproducible results and more comfort, it is better to configure the instruments through MIDI commands (<i>Patch change</i>). |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
78 |
Currently we misuse the <code>sysex</code> event for this and send this configuration as raw MIDI commands |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
79 |
(the <code>c0 0e</code> and <code>c1 58</code> below). |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
80 |
In later versions of <code>relpipe-out-jack</code>, there might be better support for instrument configuration. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
81 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
82 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
83 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
84 |
The list of standard instruments is available at MIDI.org: <a href="https://www.midi.org/specifications/item/gm-level-1-sound-set">General MIDI: GM 1 Sound Set</a>. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
85 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
86 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
87 |
<h2>Play some SQL tones</h2> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
88 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
89 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
90 |
Specifying the notes as raw MIDI messages is possible but uncomfortable. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
91 |
So we will put <code>note</code> in the <code>event</code> attribute |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
92 |
and specify also <code>time</code>, <code>channel</code>, <code>note_on</code>, <code>note_pitch</code> and <code>note_velocity</code> attributes. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
93 |
The <code>relpipe-out-jack</code> will compose the raw MIDI event from these values. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
94 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
95 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
96 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
97 |
We are not going to create any tables or insert any records. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
98 |
Everything in this example is done in-memory by a single SELECT statement executed on an empty database. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
99 |
But of course, we can persist our creations in database tables and later play the music by SELECTing from them. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
100 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
101 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
102 |
<m:pre jazyk="sql" odkaz="ano" src="examples/jack-midi-1.sql"/> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
103 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
104 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
105 |
The SQL engine (SQLite by default) called from <code>relpipe-in-sql</code> converts our script into a relation. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
106 |
Then the <code>relpipe-out-jack</code> translates this relation to actual MIDI events and sends them to JACK system. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
107 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
108 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
109 |
<m:pre jazyk="bash"><![CDATA[relpipe-in-sql \ |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
110 |
--relation "midi" "$(cat examples/jack-midi-1.sql)" \ |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
111 |
--type-cast 'note_on' boolean \ |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
112 |
| relpipe-out-jack \ |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
113 |
--connect-to j2a_bridge:playback \ |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
114 |
--connect-to relpipe-in-jack:midi-in]]></m:pre> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
115 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
116 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
117 |
We connect it to two ports, so we can hear the sounds and at the same time, we can monitor the MIDI events |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
118 |
(through <code>relpipe-in-jack</code> and usually <code>relpipe-out-csv</code>). |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
119 |
We can also use <code>relpipe-out-tabular</code> instead of <code>relpipe-out-jack</code> and check generated data without sending them to JACK. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
120 |
For visual check, we can connect to the JACK port of a MIDI program like Qtractor and record there our creation (like recording from a MIDI keyboard). |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
121 |
We can also do some real-time post-processing e.g. using QMidiArp (arpeggiator). |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
122 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
123 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
124 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
125 |
If we have some hardware, it should look and sound like this: |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
126 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
127 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
128 |
<video src="https://blog.frantovo.cz/s/1601/jack-midi-1.webm" poster="img/sc-88-video-1.jpeg" controls="controls" width="820px">Maybe you often ask: What would MT-32 do?</video> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
129 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
130 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
131 |
In this video, the Roland MT-32 and SC-88 Pro are daisy-chained and most sounds come from the SC-88. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
132 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
133 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
134 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
135 |
n.b. the MIDI channel 1 (index 0) is usually silent on MT-32 (default configuration). |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
136 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
137 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
138 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
139 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
140 |
<h2>Supported event types and attributes</h2> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
141 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
142 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
143 |
The <code>relpipe-out-jack</code> supports following event types: |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
144 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
145 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
146 |
<ul> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
147 |
<li> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
148 |
<code>note</code>: press or release (depending on <code>note_on</code>) of particular key on keyboard |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
149 |
</li> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
150 |
<li> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
151 |
<code>control</code>: change value of a controller (knob, slider, switch etc.) |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
152 |
</li> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
153 |
<li> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
154 |
<code>sysex</code>: SystemExclusive command specific for particular device or manufacturer (e.g. show some text on the display) |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
155 |
</li> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
156 |
<li> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
157 |
<code>connect</code>: link two JACK ports using a virtual cable |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
158 |
</li> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
159 |
<li> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
160 |
<code>disconnect</code>: put that cable away |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
161 |
</li> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
162 |
</ul> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
163 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
164 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
165 |
Because the events of various types are usually interleaved, we pass them as records of one relation. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
166 |
Each type uses a different set of attributes: |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
167 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
168 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
169 |
<table> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
170 |
<thead> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
171 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
172 |
<td><code>event</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
173 |
<td><code>note</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
174 |
<td><code>control</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
175 |
<td><code>sysex</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
176 |
<td><code>connect</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
177 |
<td><code>disconnect</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
178 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
179 |
</thead> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
180 |
<tbody> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
181 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
182 |
<td><code>time</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
183 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
184 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
185 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
186 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
187 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
188 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
189 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
190 |
<td><code>channel</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
191 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
192 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
193 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
194 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
195 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
196 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
197 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
198 |
<td><code>note_on</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
199 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
200 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
201 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
202 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
203 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
204 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
205 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
206 |
<td><code>note_pitch</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
207 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
208 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
209 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
210 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
211 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
212 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
213 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
214 |
<td><code>note_velocity</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
215 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
216 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
217 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
218 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
219 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
220 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
221 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
222 |
<td><code>controller_id</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
223 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
224 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
225 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
226 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
227 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
228 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
229 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
230 |
<td><code>controller_value</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
231 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
232 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
233 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
234 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
235 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
236 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
237 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
238 |
<td><code>raw</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
239 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
240 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
241 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
242 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
243 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
244 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
245 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
246 |
<td><code>source_port</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
247 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
248 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
249 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
250 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
251 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
252 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
253 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
254 |
<td><code>destination_port</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
255 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
256 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
257 |
<td></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
258 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
259 |
<td>✔</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
260 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
261 |
</tbody> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
262 |
</table> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
263 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
264 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
265 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
266 |
Note: this design pattern is one of possible ways how to implement the <em>inheritance</em> (an object-oriented concept) in the relational world. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
267 |
The relation contains one attribute that determines the <i>type</i> (or <i>class</i>) |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
268 |
and then union of all attributes of all that types. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
269 |
Each type uses just its relevant attributes and the rest is empty. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
270 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
271 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
272 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
273 |
The meaning of the attributes is following: |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
274 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
275 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
276 |
<table> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
277 |
<thead> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
278 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
279 |
<td>attribute</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
280 |
<td>type</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
281 |
<td>description</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
282 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
283 |
</thead> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
284 |
<tbody> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
285 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
286 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
287 |
<code>event</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
288 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
289 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
290 |
<code>string</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
291 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
292 |
<td>type of the record</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
293 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
294 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
295 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
296 |
<code>time</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
297 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
298 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
299 |
<code>integer</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
300 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
301 |
<td>time in microseconds since start of the playback</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
302 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
303 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
304 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
305 |
<code>channel</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
306 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
307 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
308 |
<code>integer</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
309 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
310 |
<td>number of the MIDI channel; starts from 0</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
311 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
312 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
313 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
314 |
<code>note_on</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
315 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
316 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
317 |
<code>boolean</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
318 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
319 |
<td>whether the key was pressed (<code>true</code>) or released (<code>false</code>)</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
320 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
321 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
322 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
323 |
<code>note_pitch</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
324 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
325 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
326 |
<code>integer</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
327 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
328 |
<td>pitch or tone; starts from 0; e.g. C4 is 60</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
329 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
330 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
331 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
332 |
<code>note_velocity</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
333 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
334 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
335 |
<code>integer</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
336 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
337 |
<td>force with which a note is played; 0-127</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
338 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
339 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
340 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
341 |
<code>controller_id</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
342 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
343 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
344 |
<code>integer</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
345 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
346 |
<td>number of the controller; starts from 0</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
347 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
348 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
349 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
350 |
<code>controller_value</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
351 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
352 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
353 |
<code>integer</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
354 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
355 |
<td>value of the controller; 0-127</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
356 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
357 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
358 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
359 |
<code>raw</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
360 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
361 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
362 |
<code>string</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
363 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
364 |
<td>raw MIDI bytes written in hexadecimal format; e.g. <code>91 3c 41</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
365 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
366 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
367 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
368 |
<code>source_port</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
369 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
370 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
371 |
<code>string</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
372 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
373 |
<td>name of the JACK output port; e.g. <code>system:capture_1</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
374 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
375 |
<tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
376 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
377 |
<code>destination_port</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
378 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
379 |
<td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
380 |
<code>string</code> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
381 |
</td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
382 |
<td>name of the JACK input port; e.g. <code>system:playback_1</code></td> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
383 |
</tr> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
384 |
</tbody> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
385 |
</table> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
386 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
387 |
<p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
388 |
Besides the <code>event</code> we need to specify only attributes we use. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
389 |
So if we e.g. only send SysEx messages, we need only <code>event</code> and <code>raw</code> attributes. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
390 |
If the <code>time</code> is missing, the event is processed as soon as possible (in the next real-time cycle). |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
391 |
The <code>time</code> attribute is used for precise timing |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
392 |
– so the process is not driven by the time when the event arrives on STDIN of the <code>relpipe-out-jack</code>. |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
393 |
</p> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
394 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
395 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
396 |
</text> |
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
397 |
|
fce3d6290c40
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
398 |
</stránka> |