The docbook dtd requires the listitems to contain <para>s

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18999 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Niels Sascha Reedijk 2006-10-05 08:52:24 +00:00
parent b488dcdbad
commit 65416e2a91
7 changed files with 83 additions and 76 deletions

View File

@ -9,9 +9,9 @@
<para> The <emphasis>Mail Kit</emphasis> encompasses all email activities on Haiku, providing means for, but not limited to:
<itemizedlist>
<listitem>Sending and receiving of email</listitem>
<listitem>Interfacing for the manipulation of email messages and attachments</listitem>
<listitem>Manipulating email account information</listitem>
<listitem><para>Sending and receiving of email</para></listitem>
<listitem><para>Interfacing for the manipulation of email messages and attachments</para></listitem>
<listitem><para>Manipulating email account information</para></listitem>
</itemizedlist>
</para>
</sect1>

View File

@ -33,16 +33,16 @@
<para>
The main differences between the two kits:
<itemizedlist>
<listitem>Instead of one <classname>BMidi</classname> object that both produces and consumes events, we have
<classname>BMidiProducer</classname> and <classname>BMidiConsumer</classname>.</listitem>
<listitem>Applications are capable of sharing MIDI producers and consumers with other
applications via the centralized Midi Roster.</listitem>
<listitem>Physical MIDI ports are now sharable without apps "stealing" events from each
other.</listitem>
<listitem>Applications can now send/receive raw MIDI byte streams (useful if an
application has its own MIDI parser/engine).</listitem>
<listitem>Channels are numbered 0..15, not 1..16</listitem>
<listitem>Timing is now specified in microseconds instead of milliseconds.</listitem>
<listitem><para>Instead of one <classname>BMidi</classname> object that both produces and consumes events, we have
<classname>BMidiProducer</classname> and <classname>BMidiConsumer</classname>.</para></listitem>
<listitem><para>Applications are capable of sharing MIDI producers and consumers with other
applications via the centralized Midi Roster.</para></listitem>
<listitem><para>Physical MIDI ports are now sharable without apps "stealing" events from each
other.</para></listitem>
<listitem><para>Applications can now send/receive raw MIDI byte streams (useful if an
application has its own MIDI parser/engine).</para></listitem>
<listitem><para>Channels are numbered 0..15, not 1..16</para></listitem>
<listitem><para>Timing is now specified in microseconds instead of milliseconds.</para></listitem>
</itemizedlist>
</para>
</sect1>

View File

@ -10,37 +10,37 @@
The old Midi Kit, or midi1 for short, goes all the way back to DR8, when the
BeOS only ran on BeBoxen. Fortunately for us, it is pretty well documented:
<itemizedlist>
<listitem><ulink url="http://bang.dhs.org/be/bebook/The%20Midi%20Kit/index.html">Midi
Kit chapter in the online Be Book</ulink></listitem>
<listitem><ulink url="http://web.archive.org/web/20010618100542/www-classic.be.com/developers/developer_library/midi_kit.html">Midi
Kit section of the old Be Developer Library</ulink></listitem>
<listitem>Be Newsletter Volume 1, Issue 49 - Introduces the MIDI synth</listitem>
<listitem>Be Newsletter Volume 1, Issue 52 - Follow-up on issue 49</listitem>
<listitem>Be Newsletter Volume 1, Issue 91 - How to use BSynth</listitem>
<listitem>Be Newsletter Volume 1, Issue 102 - Axe sample code</listitem>
<listitem>Be Newsletter Volume 1, Issue 104 - How to use BMidiPort</listitem>
<listitem>Be Newsletter Volume 2, Issue 23 - EdMidi sample code</listitem>
<listitem>Be Newsletter Volume 2, Issue 37 - How to use the MIDI synth</listitem>
<listitem>Be Newsletter Volume 3, Issue 37 - Whistle sample code</listitem>
<listitem><para><ulink url="http://bang.dhs.org/be/bebook/The%20Midi%20Kit/index.html">Midi
Kit chapter in the online Be Book</ulink></para></listitem>
<listitem><para><ulink url="http://web.archive.org/web/20010618100542/www-classic.be.com/developers/developer_library/midi_kit.html">Midi
Kit section of the old Be Developer Library</ulink></para></listitem>
<listitem><para>Be Newsletter Volume 1, Issue 49 - Introduces the MIDI synth</para></listitem>
<listitem><para>Be Newsletter Volume 1, Issue 52 - Follow-up on issue 49</para></listitem>
<listitem><para>Be Newsletter Volume 1, Issue 91 - How to use BSynth</para></listitem>
<listitem><para>Be Newsletter Volume 1, Issue 102 - Axe sample code</para></listitem>
<listitem><para>Be Newsletter Volume 1, Issue 104 - How to use BMidiPort</para></listitem>
<listitem><para>Be Newsletter Volume 2, Issue 23 - EdMidi sample code</para></listitem>
<listitem><para>Be Newsletter Volume 2, Issue 37 - How to use the MIDI synth</para></listitem>
<listitem><para>Be Newsletter Volume 3, Issue 37 - Whistle sample code</para></listitem>
</itemizedlist></para>
<para>
To summarize, there are four basic MIDI classes:
<itemizedlist>
<listitem><classname>BMidi</classname> is the base class for most other classes from the Midi Kit.</listitem>
<listitem><classname>BMidiPort</classname> can talk to a MIDI hardware port.</listitem>
<listitem><classname>BMidiStore</classname> can read, write, and perform Standard MIDI files.</listitem>
<listitem><classname>BMidiText</classname> is a debugging aid that dumps MIDI messages to <function>stdout</function></listitem>
<listitem><para><classname>BMidi</classname> is the base class for most other classes from the Midi Kit.</para></listitem>
<listitem><para><classname>BMidiPort</classname> can talk to a MIDI hardware port.</para></listitem>
<listitem><para><classname>BMidiStore</classname> can read, write, and perform Standard MIDI files.</para></listitem>
<listitem><para><classname>BMidiText</classname> is a debugging aid that dumps MIDI messages to <function>stdout</function></para></listitem>
</itemizedlist>
</para>
<para>
The following classes let you use the Midi Kit's General MIDI synthesizer:
<itemizedlist>
<listitem><classname>BSynth</classname> controls the synthesizer.</listitem>
<listitem><classname>BMidiSynth</classname> connects a <classname>BMidi</classname> object to the synth.</listitem>
<listitem><classname>BMidiSynthFile</classname> connects a MIDI file to the synth</listitem>
<listitem><classname>BSamples</classname> lets you access the synth's sound data stream</listitem>
<listitem><para><classname>BSynth</classname> controls the synthesizer.</para></listitem>
<listitem><para><classname>BMidiSynth</classname> connects a <classname>BMidi</classname> object to the synth.</para></listitem>
<listitem><para><classname>BMidiSynthFile</classname> connects a MIDI file to the synth</para></listitem>
<listitem><para><classname>BSamples</classname> lets you access the synth's sound data stream</para></listitem>
</itemizedlist></para>
<para>

View File

@ -12,35 +12,35 @@
<para>
A brief overview of the elements that comprise the Midi Kit:
<itemizedlist>
<listitem><emphasis>Endpoints</emphasis>. This is what the Midi Kit is all about: sending MIDI messages
<listitem><para><emphasis>Endpoints</emphasis>. This is what the Midi Kit is all about: sending MIDI messages
between endpoints. An endpoint is like a MIDI In or MIDI Out socket on your
equipment; it either receives information or it sends information. Endpoints
that send MIDI events are called \b producers; the endpoints that receive those
events are called \b consumers. An endpoint that is created by your own
application is called \b local; endpoints from other applications are \b
remote. You can access remote endpoints using \b proxies.</listitem>
remote. You can access remote endpoints using \b proxies.</para></listitem>
<listitem><emphasis>Filters</emphasis>. A filter is an object that has a consumer and a producer
<listitem><para><emphasis>Filters</emphasis>. A filter is an object that has a consumer and a producer
endpoint. It reads incoming events from its consumer, performs some operation,
and tells its producer to send out the results. In its current form, the Midi
Kit doesn't provide any special facilities for writing filters.</listitem>
Kit doesn't provide any special facilities for writing filters.</para></listitem>
<listitem><emphasis>Midi Roster</emphasis>. The roster is the list of all published producers and
<listitem><para><emphasis>Midi Roster</emphasis>. The roster is the list of all published producers and
consumers. By publishing an endpoint, you allow other applications to talk to
it. You are not required to publish your endpoints, in which case only your own
application can use them.</listitem>
application can use them.</para></listitem>
<listitem><emphasis>Midi Server</emphasis>. The Midi Server does the behind-the-scenes work. It
<listitem><para><emphasis>Midi Server</emphasis>. The Midi Server does the behind-the-scenes work. It
manages the roster, it connects endpoints, it makes sure that endpoints can
communicate, and so on. The Midi Server is started automatically when BeOS
boots, and you never have to deal with it directly. Just remember that it runs
the show.</listitem>
the show.</para></listitem>
<listitem><filename>libmidi</filename>. The BMidi* classes live inside two shared libraries: <filename>libmidi.so</filename>
<listitem><para><filename>libmidi</filename>. The BMidi* classes live inside two shared libraries: <filename>libmidi.so</filename>
and <filename>libmidi2.so</filename>. If you write an application that uses old Midi Kit, you must
link it to <filename>libmidi.so</filename>. Applications that use the new Midi Kit must link to
<filename>libmidi2.so</filename>. If you want to mix-and-match both kits, you should also link to
both libraries.</listitem>
both libraries.</para></listitem>
</itemizedlist>
</para>
@ -319,12 +319,12 @@
as the BeOS R5 kits, although there are a few small differences in the API
(mostly bug fixes):
<itemizedlist>
<listitem>BMidiEndpoint::IsPersistent() always returns false.</listitem>
<listitem>The B_MIDI_CHANGE_LATENCY notification is now properly sent. The Be kit
<listitem><para>BMidiEndpoint::IsPersistent() always returns false.</para></listitem>
<listitem><para>The B_MIDI_CHANGE_LATENCY notification is now properly sent. The Be kit
incorrectly set be:op to B_MIDI_CHANGED_NAME, even though the rest of the
message was properly structured.</listitem>
<listitem>If creating a local endpoint fails, you can still Release() the object
without crashing into the debugger.</listitem>
message was properly structured.</para></listitem>
<listitem><para>If creating a local endpoint fails, you can still Release() the object
without crashing into the debugger.</para></listitem>
</itemizedlist>
</para>
</sect2>
@ -335,25 +335,25 @@
<para>
More about the Midi Kit:
<itemizedlist>
<listitem>Be Newsletter Volume 3, Issue 47 - Motor Mix sample code</listitem>
<listitem>Be Newsletter Volume 4, Issue 3 - Overview of the new kit</listitem>
<listitem><ulink url="http://haiku-os.org/learn.php?mode=nsl_view&amp;id=33">Haiku
Newsletter 33</ulink>, Introduction to MIDI, Part 1</listitem>
<listitem><ulink url="http://haiku-os.org/learn.php?mode=nsl_view&amp;id=36">Haiku
Newsletter 36</ulink>, Introduction to MIDI, Part 2</listitem>
<listitem>Sample code and other goodies at the
<ulink url="http://haiku-os.org/contribute.php?mode=team_view&amp;id=midi">OpenBeOS Midi Kit team page</ulink></listitem>
<listitem><para>Be Newsletter Volume 3, Issue 47 - Motor Mix sample code</para></listitem>
<listitem><para>Be Newsletter Volume 4, Issue 3 - Overview of the new kit</para></listitem>
<listitem><para><ulink url="http://haiku-os.org/learn.php?mode=nsl_view&amp;id=33">Haiku
Newsletter 33</ulink>, Introduction to MIDI, Part 1</para></listitem>
<listitem><para><ulink url="http://haiku-os.org/learn.php?mode=nsl_view&amp;id=36">Haiku
Newsletter 36</ulink>, Introduction to MIDI, Part 2</para></listitem>
<listitem><para>Sample code and other goodies at the
<ulink url="http://haiku-os.org/contribute.php?mode=team_view&amp;id=midi">OpenBeOS Midi Kit team page</ulink></para></listitem>
</itemizedlist>
</para>
<para>
Information about MIDI in general:
<itemizedlist>
<listitem><ulink url="http://www.midi.org">MIDI Manufacturers Association</ulink></listitem>
<listitem><ulink url="http://www.borg.com/~jglatt/tutr/miditutr.htm">MIDI Tutorials</ulink></listitem>
<listitem><ulink url="http://www.borg.com/~jglatt/tech/midispec.htm">MIDI Specification</ulink></listitem>
<listitem><ulink url="http://www.borg.com/~jglatt/tech/midifile.htm">Standard MIDI File Format</ulink></listitem>
<listitem><ulink url="http://www.io.com/~jimm/midi_ref.html">Jim Menard's MIDI Reference</ulink></listitem>
<listitem><para><ulink url="http://www.midi.org">MIDI Manufacturers Association</ulink></para></listitem>
<listitem><para><ulink url="http://www.borg.com/~jglatt/tutr/miditutr.htm">MIDI Tutorials</ulink></para></listitem>
<listitem><para><ulink url="http://www.borg.com/~jglatt/tech/midispec.htm">MIDI Specification</ulink></para></listitem>
<listitem><para><ulink url="http://www.borg.com/~jglatt/tech/midifile.htm">Standard MIDI File Format</ulink></para></listitem>
<listitem><para><ulink url="http://www.io.com/~jimm/midi_ref.html">Jim Menard's MIDI Reference</ulink></para></listitem>
</itemizedlist>
</para>
</sect2>

View File

@ -143,12 +143,12 @@
<para>
Parameters:
<itemizedlist>
<listitem><parameter>when</parameter> An absolute time that's
measured against the system clock.</listitem>
<listitem><parameter>data</parameter> A pointer to a "cookie" that
<listitem><para><parameter>when</parameter> An absolute time that's
measured against the system clock.</para></listitem>
<listitem><para><parameter>data</parameter> A pointer to a "cookie" that
you can pass along to Timeout(). The data is not copied, so
you must ensure that the pointer remains valid until Timeout() is
called. You typically delete the data inside Timeout().</listitem>
called. You typically delete the data inside Timeout().</para></listitem>
</itemizedlist>
</para>
</sect3>
@ -200,11 +200,11 @@
<para>
Parameters:
<itemizedlist>
<listitem><parameter>data</parameter> the MIDI event data</listitem>
<listitem><parameter>length</parameter> byte size of the data buffer</listitem>
<listitem><parameter>atomic</parameter> whether the data buffer contains
a single complete MIDI event</listitem>
<listitem><parameter>time</parameter> the requested performance time of the event</listitem>
<listitem><para><parameter>data</parameter> the MIDI event data</para></listitem>
<listitem><para><parameter>length</parameter> byte size of the data buffer</para></listitem>
<listitem><para><parameter>atomic</parameter> whether the data buffer contains
a single complete MIDI event</para></listitem>
<listitem><para><parameter>time</parameter> the requested performance time of the event</para></listitem>
</itemizedlist>
</para>

View File

@ -143,11 +143,11 @@
<para>
Parameters:
<itemizedlist>
<listitem><parameter>data</parameter> the MIDI event data</listitem>
<listitem><parameter>length</parameter> byte size of the data buffer</listitem>
<listitem><parameter>atomic</parameter> whether the data buffer contains
a single complete MIDI event</listitem>
<listitem><parameter>time</parameter> the required performance time of the event</listitem>
<listitem><para><parameter>data</parameter> the MIDI event data</para></listitem>
<listitem><para><parameter>length</parameter> byte size of the data buffer</para></listitem>
<listitem><para><parameter>atomic</parameter> whether the data buffer contains
a single complete MIDI event</para></listitem>
<listitem><para><parameter>time</parameter> the required performance time of the event</para></listitem>
</itemizedlist>
</para>
</sect3>

View File

@ -238,6 +238,7 @@
notifications when you register or unregister your local endpoints, but the
other apps will.
<table id="bmidirostertable1">
<table>B_MIDI_REGISTERED message structure</table>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname="label"/>
<colspec colname='type'/>
@ -265,6 +266,7 @@
</table>
<table id="bmidirostertable2">
<table>B_MIDI_UNREGISTERED message structure</table>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname="label"/>
<colspec colname='type'/>
@ -294,7 +296,7 @@
<para>
The "connected" and "disconnected" notifications are sent when a consumer
BMidiProducer::Connect()'s to a producer, or when they
BMidiProducer::Connect()'s to a producer, or when they table
BMidiProducer::Disconnect(). You will receive these
notifications when <emphasis>any</emphasis> two endpoints connect or disconnect, even if they
are not published. (The purpose of which is debatable.) You won't receive the
@ -303,6 +305,7 @@
published endpoints.
<table id="bmidirostertable3">
<table>B_MIDI_CONNECTED message structure</table>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname="label"/>
<colspec colname='type'/>
@ -330,6 +333,7 @@
</table>
<table id="bmidirostertable4">
<table>B_MIDI_DISCONNECTED message structure</table>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname="label"/>
<colspec colname='type'/>
@ -363,6 +367,7 @@
its published endpoints.
<table id="bmidirostertable5">
<table>B_MIDI_CHANGED_NAME message structure</table>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname="label"/>
<colspec colname='type'/>
@ -396,6 +401,7 @@
</table>
<table id="bmidirostertable6">
<table>B_MIDI_CHANGED_LATENCY message structure</table>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname="label"/>
<colspec colname='type'/>
@ -429,6 +435,7 @@
</table>
<table id="bmidirostertable7">
<table>B_MIDI_CHANGED_PROPERTIES message structure</table>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname="label"/>
<colspec colname='type'/>