# Outils de &arts;

&arts; est livré avec plusieurs outils pour contrôler et configurer son comportement. Ces outils doivent vous être familiers pour utiliser &arts; de façon efficace. Cette section décrit chaque utilitaire et ses options.

## &centreConfiguration;

Lorsque vous exécutez &arts; sous &kde;, le &centreConfiguration; fournit un groupe de réglages du centre de configuration dans la catégorie Son. Certains de ces réglages sont utilisés par &arts;. Vous pouvez aussi associer des sons avec des événements de &kde; et du gestionnaire de fenêtres en utilisant Apparence et ergonomie Notifications du système. Lisez le manuel du &centreConfiguration; pour avoir des informations sur l'utilisation de ces réglages.

## &artsd;

L'accès aux ressources matérielles pour le son est contrôlé par &artsd;, le démon de &arts;. Ceci permet à différentes applications d'envoyer simultanément des requêtes au serveur, où elles peuvent être mixées puis jouées. Sans un serveur sonore centralisé, une application utilisant le périphérique son empêche toutes les autres de l'utiliser.

Pour utiliser &arts;, il doit y avoir une copie et une seule de &artsd; en fonctionnement. C'est typiquement le cas lorsque &kde; démarre si cela est activé dans Serveur de son dans le &centreConfiguration;.

Le programme accepte les arguments suivants :

    artsd

    -n
    -p
    -N
    -W n

    -a audiomethod
    -r sampling rate
    -b bits
    -d
    -D devicename
    -F fragments
    -S size
    -s seconds
    -m appName

    -h
    -A
    -v
    -l level

`-r taux d'échantillonnage`

  Règle le taux d'échantillonnage utilisé.

`-h`

  Affiche l'utilisation des commandes.

`-n`

  Active la transparence réseau.

`-p port`

  Règle le port TCP à utiliser (implique `-n`).

`-u`

  Public, pas d'authentification (dangereux).

`-d`

  Active le mode full duplex.

`-D nom du périphérique`

  Spécifie le périphérique audio (habituellement `/dev/dsp`).

`-F fragments`

  Règle le nombre de fragments.

`-S taille`

  Règle la taille des fragments, en octets.

`-s secondes`

  Règle la durée avant suspension automatique du serveur, en secondes. Une valeur nulle désactive la suspension automatique.

`-m Nom de l'application`

  Spécifie le nom de l'application qui sera utilisée pour afficher les erreurs, alertes et messages informatifs. Si vous exécutez KDE, vous pouvez utiliser l'utilitaire artsmessage.

`-N`

  Augmente la taille du tampon réseau à une valeur acceptable pour fonctionner sur un réseau local à 10 mbps. C'est équivalent à l'option -w 5 (voir plus bas).

`-w n`

  Lorsque artsd est exécuté par une connexion réseau sur un autre hôte, il est recommandé d'utiliser un tampon de grande taille pour éviter des interruptions du son. ARts fournit des applications avec une taille de tampon minimale recommandée. Sans cette option, la taille par défaut est basée sur la taille des fragments * le nombre de fragments. En utilisant cette option, vous pouvez augmenter la taille par défaut par un facteur n.

`-l niveau`

  Règle le niveau d'information - 3 (muet), 2 (alertes), 1 (info), 0 (déboguage).

`-v`

  Affiche le numéro de version..

Dans la plupart des cas, exécuter simplement &artsd; suffira.

## &artswrapper;

Pour avoir un bon temps de réponse, &artsd; est souvent exécuté en tant que processus temps-réel (sur les plates-formes gérant la priorité temps-réel). Ceci nécessite les droits administrateur, donc pour minimiser les problèmes de sécurité, &artsd; peut être lancé à l'aide d'un petit programme encapsulant, &artswrapper;, qui actionne simplement la priorité temps-réel (s'exécutant en tant qu'administrateur) et exécute ensuite &artsd; en tant qu'utilisateur non administrateur.

Si vous rendez artswrapper SUID root, ceci améliorera sensiblement la qualité de la lecture audio en réduisant les coupures dans la musique. Cependant, ceci augmente également le risque qu'un bogue dans le code ou qu'un utilisateur malicieux ne fasse planter ou bloquer votre machine. De plus, sur des machines multiutilisateurs, donner la priorité à un son de haute qualité peut diminuer les performances pour les utilisateurs qui essaient d'utiliser la machine de manière productive.

## &artsshell;

La commande &artsshell; est dédiée à exécuter des fonctions diverses liées au serveur de son. Cet utilitaire devrait être étendu dans le futur par l'ajout de nouvelles commandes (voir les commentaires dans le source).

La commande s'utilise comme suit :

    artsshell

    suspendstatus
    terminate
    autosuspend secs
    networkbuffers n
    volume [volume]
    stereoeffect options

    -h
    -q

artsshell [options] command [command-options]

Les options suivantes sont disponibles :

`-q`

  Supprime toute sortie.

`-h`

  Affiche l'utilisation des commandes.

Les commandes suivantes sont disponibles :

`suspend`

  Suspend le serveur de son.

`état`

  Affiche les informations sur l'état du serveur de son.

`terminate`

  Arrête le serveur sonore. Ceci peut perturber ou faire planter toute application l'utilisant.

`autosuspend` `secondes`

  Règle la durée avant suspension automatique du serveur, en secondes. Le serveur sonore sera arrêté automatiquement s'il n'est pas sollicité durant cette période. Une valeur nulle désactive la suspension automatique.

`networkbuffers` `n`

  Règle la taille du tampon réseau à `n` fois la taille par défaut.

`volume` [volume]

  Règle le volume de sortie du serveur audio. L'argument volume est une valeur de type flottant. Sans argument, le volume actuel est affiché.

`Liste des effets stéréo`

  Liste tous les modules d'effets stéréo disponibles.

`stereoeffect insert [top|bottom]` nom

  Insère un effet stéréo dans une pile d'effets stéréo. Retourne un identificateur qui peut être utilisé pour le supprimer plus tard. On peut l'installer en haut ou en bas (par défaut).

`stereoeffect remove` id

  Supprime l'effet stéréo avec l'identificateur id de la pile d'effets.

## artsplay

La commande artsplay est un simple utilitaire qui permet de lire un fichier son. Son seul argument est le nom du fichier son à envoyer au serveur sonore pour y être lu. Il peut être n'importe quel type de fichiers sons classique comme par exemple du type `wav` ou `au`. Ce programme est utile pour tester si le serveur sonore fonctionne bien. En exécutant deux commandes en parallèle, ou successivement, de manière rapide, on peut mettre en évidence le mixage de plusieurs sources sonores par le serveur.

## artsdsp

Le serveur de son ne gère que les applications compatibles avec &arts;. Beaucoup d'applications héritées accèdent directement au périphérique son. La commande &artsdsp; fournit une solution intermédiaire qui permet à la plupart de ces applications de fonctionner sans changements.

Lorsqu'une application est exécutée sous &artsdsp;, tous les accès au périphérique audio `/dev/dsp` sont interceptés et transformés en appels aux API de &arts;. Cette émulation n'est pas parfaite, mais la plupart des applications fonctionnent de cette manière, avec une diminution des performances et des coupures.

La commande &artsdsp; s'utilise comme suit :

artsdsp [options] arguments

Les options suivantes sont disponibles :

`-h`, `--help`

  De l'aide succincte.

`-n` `--name` = nom

  Utilisez nom pour identifier le lecteur auprès de `artsd`.

`-m` `--mmap`

  Émule le memory mapping (&pex; pour Quake).

`-v` `--verbose`

  Affiche des paramètres.

Une invocation typique serait :

``artsdsp` `-v` `-m` `realplay song.mp3``

Certaines applications fonctionnent mieux avec l'option `--mmap`. Les caractéristiques du périphérique sonore ne sont pas toutes émulées, mais la plupart des applications devrait fonctionner. Si vous trouvez une application qui ne fonctionne pas, envoyez un rapport de bogue détaillé et le développeur devrait être en mesure de régler le problème. Encore une fois, souvenez-vous que c'est une solution intermédiaire et peu élégante, la meilleure solution serait d'ajouter la gestion native de &arts; dans les applications multimédia. Si votre application favorite ne reconnaît pas &arts;, demandez au développeur d'y ajouter cette gestion.

## artscat

C'est un simple utilitaire pour envoyer des données audio vers le serveur de son. Vous devez spécifier le format des données (taux d'échantillonnage, taille de l'échantillon, et nombre de canaux). Vous ne l'utiliserez probablement pas souvent, mais il peut rendre service pour certains tests. La syntaxe de la commande est la suivante :

artscat [ options ] [ fichier ]

Si aucun nom de fichier n'est spécifié, l'entrée standard est lue. Les options suivantes sont disponibles :

`-r` `taux d'échantillonnage`

  Règle le taux d'échantillonnage.

`-b` `bits`

  Règle la taille des échantillons (8 bits ou 16 bits).

`-c` `canaux`

  Règle le nombre de canaux (1 ou 2).

`-h`

  Affiche l'utilisation de la commande et quitte.

## &artscontrol;

C'est un utilitaire graphique pour réaliser un certain nombre de tâches en rapport avec le serveur de son. La fenêtre par défaut affiche deux indicateurs de niveau de volume et une glissière pour contrôler le volume principal. À partir du menu Affichage, vous pouvez sélectionner d'autres fonctions :

FFT

  Ouvre une fenêtre qui affiche un analyseur de spectre en temps réel.

Gestionnaire audio

  Affiche les sources sonores actives et vous permet de les connecter aux bus disponibles.

État de aRts

  Montre si le serveur sonore est actif et s'il s'exécute avec la priorité temps-réel. Il indique lorsque le serveur est suspendu automatiquement, et permet de le suspendre immédiatement.

Gestionnaire Midi

  Affiche les entrées et sorties &MIDI; actives et vous permet de faire des connexions [à faire : Est-ce que ça marche ? Besoin de plus de détails].

FreeVerb

  Connecte une réverbération FreeVerb à la pile des effets de sortie de &arts; et vous permet de contrôler les paramètres de l'effet de manière graphique.

Affichage du volume sous forme de LED

  Utilise des diodes électroluminescentes (LED) colorées pour les indicateurs de volume de la fenêtre principale à la place des barres de progression.

## artsc-config

C'est un utilitaire pour aider les développeurs à utiliser les API C de &arts;. Il donne les options du lieur et du compilateur nécessaires pour compiler et lier du code avec &arts;. Il est destiné à être utilisé dans des makefiles pour favoriser la portabilité. La commande accepte trois options :

`--cflags`

  Affiche les options de compilation nécessaires pour compiler avec les API C de &arts;..

`--libs`

  Affiche les options de compilation du lieur nécessaires pour compiler avec les API C de &arts;..

--version

  Affiche la version de la commande `artsc-config`.

Voici la sortie typique de la commande :

    % artsc-config --cflags
    -I/usr/local/kde2/include/artsc
    % artsc-config --libs
    -L/usr/local/kde2/lib -ldl -lartsc -DPIC -fPIC -lpthread
    % artsc-config --version
    0.9.5

Vous auriez pu utiliser cet utilitaire dans un makefile en utilisant une règle telle que :

    artsc : artsc.c
            gcc `artsc-config --cflags` -o artsc artsc.c `artsc-config --libs`

## &mcopidl;

La commande &mcopidl; est le compilateur &IDL; pour &MCOP;, le protocole de communication multimédia utilisé par &arts;. Les interfaces dans &arts; sont définies en &IDL;, un langage de définition d'interface (Interface Definition Language) indépendant du langage. L'utilitaire &mcopidl; accepte en entrée un fichier &IDL; et génère des fichiers d'en-tête et de sources C++ pour une classe implantant l'interface. La commande a la syntaxe suivante :

mcopidl [ options ] fichier

Les options disponibles sont :

`-I` `dossier`

  Cherche les fichiers d'inclusion dans `dossier`.

`-e` `nom`

  Exclut le type de struct, interface, ou enum `nom` de la génération du code.

`-t`

  Crée aussi les fichiers `.mcoptype`/`.mcopclass` contenant les informations de type pour le fichier &IDL;.

Vous trouverez plus d'informations à propos de &MCOP; et &IDL; dans la section Interfaces et &IDL;.