<!-- <?xml version="1.0" ?>
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant
V1.0//EN" "dtd/kdex.dtd">
To validate or process this file as a standalone document, uncomment
this prolog. Be sure to comment it out again when you are done -->

<chapter id="future-work">
<title
>Travaux futurs</title>

<para
> Cette section décrit les fonctionalités de &arts; en cours de développement.Le développement de aRts progresse rapidement, donc plutôt que d'essayer de documenter les choses nouvelles ici, qui risquent très vite de ne plus être à jour, je vous propose de consulter les fichiers TODO et les archives de la <link linkend="mailing-lists"
>liste de discussion</link
> pour voir quelle nouvelle fonctionnalité est planifiée. N'hésitez pas à vous investir dans le développement de nouveaux design et implantations. </para>

<para
> Ce document tente de vous donner une vue d'ensemble de la façon dont les nouvelles technologies vont s'intégrer dans &arts;. Pour être plus précis, elle traite des sujets suivants&nbsp;: </para>

<itemizedlist
> <listitem
><para
>Comment fonctionne l'interface</para
></listitem
> <listitem
><para
>Codec - décodage des flux mp3 ou wav vers un format de données exploitable.</para
></listitem
> <listitem
><para
>Video.</para
></listitem
> <listitem
><para
></para
></listitem
> <listitem
><para
>Synchronisation</para
></listitem
> <listitem
><para
></para
></listitem
> <listitem
><para
>Composition dynamique</para
></listitem
> <listitem
><para
>Interfaces graphiques</para
></listitem
> <listitem
><para
>&MIDI;</para
></listitem
> </itemizedlist>

<para
> Ce travail est en cours. Cependant, ce peut être une base si vous voulez voir les nouvelles technologies de &arts;, et devrait vous donner une idée générale de la façon dont les problèmes vont être abordés. N'hésitez pas à corriger les erreurs que vous pourriez détecter. </para>

<para
> Éléments qui utiliseront la technologie de &arts; (veuillez coordonner vos travaux)&nbsp;:  </para>

<itemizedlist
> <listitem
> <para
> <application
>KPhone</application
> (téléphone par <acronym
>IP</acronym
>) </para
> </listitem
> <listitem
> <para
> &noatun; (lecteur video / audio) </para
> </listitem
> <listitem
> <para
> &artscontrol; (programme de contrôle du serveur sonore, par affichage graphique) </para
> </listitem
> <listitem
> <para
> <application
>Brahms</application
> (séquenceur) </para
> </listitem
> <listitem
> <para
><application
>Kaiman</application
> (lecteur multimédia de &kde;2 - compatible kmedia2) </para
> </listitem
> <listitem
> <para
> <application
>mpglib</application
>/<application
>kmpg</application
> (technologie de lecture des données <acronym
>mpg</acronym
> audio et video) </para
> </listitem
> <listitem
> <para
>  </para
> </listitem
> <listitem
> <para
> <application
>electric ears</application
> (l'auteur m'a contacté - état inconnu) </para
> </listitem
> </itemizedlist>

<sect1 id="interfaces-how">
<title
>Comment fonctionne l'interface</title>

<!-- I think this is now obsolete and documented elsewhere ? -->

<para
> Les interfaces &MCOP; sont à la base du concept de &arts;. Elles sont l'équivalent des classes C++ avec la transparence réseau. Chaque fois que c'est possible, utilisez les interfaces. Elles sont constituées de quatre parties&nbsp;: </para>

<itemizedlist
> <listitem
><para
>Des flux synchrones</para
></listitem
> <listitem
><para
>Des flux asynchrones</para
></listitem
> <listitem
><para
>des méthodes</para
></listitem
> <listitem
><para
>des attributs</para
></listitem
> </itemizedlist>

<para
>  </para>

<para
>  </para>

</sect1>

<sect1 id="codecs">
<title
></title>

<para
>  </para>

<para
>  </para>

<para
>  </para>

<programlisting>
interface Codec {
  in async byte stream indata;
  out async byte stream outdata;
};
</programlisting>


<para
>  </para>

<programlisting>
interface ByteAudioCodec {
  in async byte stream indata;
  out async byte stream outdata;
  readonly attribute samplingRate, bits, channels;
};
</programlisting>

<para
>  </para>

<para
>  </para>

<programlisting>
interface VideoCodec {
  in async byte stream indata;
  out video stream outdata;      /* note: video streams do not exist yet */
};
</programlisting>

<para
>  </para>

</sect1>

<sect1 id="video">
<title
></title>

<para
>  </para>

<para
>  </para>

<itemizedlist
> <listitem
> <para
>  </para
> </listitem
> <listitem
> <para
>  </para
> </listitem
> <listitem
> <para
>  </para
> </listitem
> </itemizedlist>

<para
>  </para>

<para
>  </para>

<para
>  </para>

<para
>  </para>

</sect1>

<sect1 id="threading">
<title
></title>

<para
>  </para>


<itemizedlist
> <listitem
><para
>  </para
> </listitem
> <listitem
> <para
>  </para
> </listitem
> </itemizedlist>

<para
>  </para>

<para
>  </para>


<itemizedlist
> <listitem
> <para
> </para
> <itemizedlist
> <listitem
><para
></para
></listitem
> <listitem
><para
></para
></listitem
> <listitem
><para
></para
></listitem
> </itemizedlist
> </listitem
> <listitem
> <para
>  </para
> </listitem
> <listitem
> <para
>  </para
> </listitem
> </itemizedlist>

</sect1>

<sect1 id="synchronization">
<title
></title>

<para
>  </para>

<para
>  </para>

</sect1>

<sect1 id="dynamic-composition">
<title
></title>

<para
>  </para>

<para
>  </para>

</sect1>

<sect1 id="gui">
<title
>Interfaces graphiques</title>

<para
>  </para>

<para
>  </para>

</sect1>

<sect1 id="midi-stuff">
<title
>&MIDI;</title>

<para
>  </para>

<para
>  </para>

<programlisting>
struct MidiEvent {
  byte b1,b2,b3;
  sequence&lt;byte&gt; sysex;
}
</programlisting>

<para
>  </para>

</sect1>

</chapter>



