Juggling Toolbox v1.4 - README

Frédéric Roudaut
Creation : 03/2008
Last Update: 04/2012

1 - INTRODUCTION
2 - INSTALLATION & BESOINS
3 - LANCEMENT
4 - JUGGLINGTB
   4.1 - OBTENIR DE L'AIDE
   4.2 - EXECUTER UNE COMMANDE DOS/UNIX
   4.3 - AFFICHAGE DU RESULTAT
   4.4 - PLACER LES RESULTATS DANS UN FICHIER
   4.5 - COMBINER LES MODULES
5 - EXEMPLES
6 - ETENDRE JUGGLINGTB
7 - CREDITS & LICENCE
8 - BUGS
ANNEXE - MODULES
   A1 - MAIN
   A2 - BTN v1.2.1
   A3 - SOU v1.3
   A4 - MMSTD v1.4
   A5 - LADDER v0.9
   A5 - SSWAP v0.7.8 (ex-SITESWAP)
 

1 - INTRODUCTION

L'objectif principal de jugglingTB est d'offrir une boîte à outil pour différentes notations jonglistiques. Il est écrit en Perl avec pour objectif d'être très facilement étendu pour de nouveaux modules ou de nouvelles commandes. Actuellement il contient des modules pour les notations :

  • BTN,
  • SOU Etendue,
  • MMSTD,
  • LADDER,
  • SITESWAP.

Le module SITESWAP utilise le génial JugglingLab.

2 - INSTALLATION & BESOINS

Pour utiliser cet outil vous avez 2 possibilités :

  • Soit utiliser directement un binaire;
  • Soit partir des sources, et installer les modules nécessaires.

Binaires

Vous trouverez une version binaire pour Windows 32bits (packagée en perl v5.14.1 par pp (PAR::Packer)) nommée jugglingTB.exe. Dézipper simplement le fichier "jugglingTB_1.4-bin-win32.zip"

Vous aurez ensuite éventuellement besoin de reparamétrer conf.ini indispensable pour jugglingTB. Ce fichier contient en effet différentes variables utilisées par l'outil :

# Langage
LANG="FRENCH"
# Commande pour lancer le Navigateur Web
HTTP_BROWSER="C:/Program Files/Internet Explorer/iexplore.exe"
# Commande pour java
JAVA_CMD="java"
# Taille des Colonnes du display
XSIZE="60"

# Comportement par defaut au lancement de JugglingToolbox. 0 : desactive, 1 active
# Usage lors du lancement de jugglingTB :
jtbOptions_u=0;
# version de JugglingTB
jtbOptions_v=0;
# Colorisation de JugglingTB
jtbOptions_c=1;
# Aide de JugglingTB
jtbOptions_h=0;
# Aide etendue de JugglingTB
jtbOptions_H=0;
# Autocompletion de JugglingTB
jtbOptions_a=0;
# Gestion Unicode dans lang.pm
jtbOptions_s=0;


### Parametre des modules ###
# Repertoire des fichiers résultats
RESULTS="results"
# Path pour GRAPHVIZ (necessaire pour tracer certains graphes)
GRAPHVIZ_BIN="C:/Program Files/Graphviz/bin/"
# Taille des colonnes Excel (Mod SSWAP)
EXCELCOLSIZE="auto"

Il ne vous restera plus ensuite qu'à lancer l'exécutable.

Sources

  1. Si vous souhaitez partir des sources, vous devez donc déja disposer d'une version de Perl ... chose aisée pour Linux. Sous Windows vous pouvez opter pour ActivePerl (testé avec v5.8, v5.10, v5.12, v5.14) .
    Pensez ensuite à ajouter le chemin de l'exécutable Perl dans votre Path, ainsi que celui de PPM (Perl Package Manager) si vous utilisez ActiveState sous Windows.

  2. Il vous faudra ensuite bien entendu récupérer les sources de jugglingTB ici et les dézipper.

  3. Certains des modules distribués utilisent des modules perl du CPAN (Comprehensive Perl Archive Network) :

    • Devel-Symdump-2.08
    • Set-Scalar-1.22
    • Parse-Yapp-1.05
    • Perl4-CoreLibs-0.003
    • Excel-Writer-XLSX-0.25
    • Win32-Console-ANSI : indispensable si vous souhaitez avoir des couleurs sur les terminaux Windows "Cmd".
    • Term-ReadKey-2.30.01 : util pour l'Autocomplétion sur Windows (!! Pensez à répéter 4 fois les pressions sur la touche "ENTER" pour palier un bug Perl sous Windows)

    Vous aurez donc soit à les installer par vous-même manuellement ou en utilisant le script install.pl :

    perl ./install.pl

    Ce script générera et installera les modules perl suivants :

    • Devel-Symdump-2.08
    • Set-Scalar-1.22
    • Parse-Yapp-1.05
    • Perl4-CoreLibs-0.003
    • Excel-Writer-XLSX-0.25

    Si vous utilisez Windows et si vous disposez de PPM (Perl Package Manager délivré avec ActiveState), ce script peut également installer les binaires de :

    • Win32-Console-ANSI : indispensable si vous souhaitez avoir des couleurs sur les terminaux "Cmd".
    • Term-ReadKey-2.30.01 : util pour l'Autocomplétion sur Windows

  4. Ce script d'installation configurera également conf.ini indispensable pour jugglingTB. Ce fichier contient en effet différentes variables utilisées par l'outil :

    # Langage
    LANG="FRENCH"
    # Commande pour lancer le Navigateur Web
    HTTP_BROWSER="C:/Program Files/Internet Explorer/iexplore.exe"
    # Commande pour java
    JAVA_CMD="java"
    # Taille des Colonnes du display
    XSIZE="60"

    # Comportement par defaut au lancement de JugglingToolbox. 0 : desactive, 1 active
    # Usage lors du lancement de jugglingTB :
    jtbOptions_u=0;
    # version de JugglingTB
    jtbOptions_v=0;
    # Colorisation de JugglingTB
    jtbOptions_c=0;
    # Aide de JugglingTB
    jtbOptions_h=0;
    # Aide etendue de JugglingTB
    jtbOptions_H=0;
    # Autocompletion de JugglingTB
    jtbOptions_a=0;
    # Gestion Unicode dans lang.pm
    jtbOptions_s=0;


    ### Parametre des modules ###
    # Repertoire des fichiers résultats
    RESULTS="results"
    # Path pour GRAPHVIZ (necessaire pour tracer certains graphes)
    GRAPHVIZ_BIN="C:/Program Files/Graphviz/bin/"
    # Taille des colonnes Excel (Mod SSWAP)
    EXCELCOLSIZE="auto"

    Par défaut chacune des options de lancement est désactivée. Pour changer ce comportement par défaut vous devrez positionner la valeur adéquate à 1. Dans ce cas la désactivation des options au lancement de jugglingTB est explicitement indiquée par l'utilisation du préfix "-no" au lieu de "-".

Les exemples donnés par la suite peuvent être obsolètes selon la version des modules usités mais ils restent cependant des exemples concrêts concernant la façon générale d'utiliser jugglingTB !

3 - LANCEMENT

Voici la façon de lancer jugglingTB :

USAGE : perl [[-|-no][a|c|h|H|i|s|u|v]] ./jugglingTB.pl ou jugglingTB.exe [[-|-no][a|c|h|H|i|s|u|v]]

-a : Active l'autocompletion (C^d et "TAB", C^U pour effacer). [Fonctionne mal avec Cmd sur MsWindows ;-(].
-c : Colorise jugglingTB. Fonctionne uniquement sur un terminal ANSI [ie Cmd sur MsWindows ne fonctionnera pas ;-(]
-h : Aide de jugglingTB.
-H : Aide etendue de jugglingTB.
-i : Fichier de Configuration pour jugglingTB (Défaut:conf.ini).
-s : Affiche les characteres speciaux (Unicodes) des Menus.
-u : Usage pour lancer jugglingTB.
-v : Done la version sans lancer jugglingTB.

Par défaut chacune de ces options est désactivée. Ce comportement peut être modifié dans le fichier conf.ini. Dans ce cas la désactivation des options est explicitement indiquée par l'utilisation du préfix "-no" au lieu de "-".

Différents paramètres de configuration peuvent également être positionnés dans "conf.ini" (Tel que le langage usité par exemple).
Pour disposer des menus en français : LANG="FRENCH";
ou si vous les préférez en anglais : LANG="ENGLISH";

A l'issue du lancement, vous obtiendrez une invite. Vous pouvez dès à présent entrer dans un Menu de Module en entrant son nom, lister les menus/commandes disponibles par help et/ou help2, exécuter une commande DOS/Unix préfixée par ! ...

Pour accéder à un menu de Module, entrez simplement son nom ou au moins ses 2 premières lettres, celles-ci seront complétées pour former le nom du premier module les incluants selon l'ordre alphabétique. D'où l'intérêt d'éviter au maximum de définir des modules avec des noms proches. Une fonction d'un module MOD peut directement être accédée par son nom dans le Menu MOD ou bien par MOD::LaFonction depuis n'importe quel Menu. Dans le premier cas on parlera de chemin relatif pour le nommage. Dans le second cas il s'agit d'un chemin absolu.

Vous obtiendrez de l'aide sur un module en tapant help("LeModule"). Pour obtenir de l'aide sur une commande particulière vous pouvez à partir de son menu de Module taper help("LaCommande()") (Chemin Relatif), ou depuis n'importe où taper help("LeModule::LaCommande()") (Chemin Absolu).
Si vous ne mettez pas d'arguments à la commande help() celle-ci vous donnera des informations sur l'ensemble des commandes disponibles depuis le Module courant.

La commande help2() est similaire à la commande help() à la différence qu'elle donne plus d'information avec en particulier des informations sur les différents paramètres des fonctions.

Commands Overview

4 - JUGGLINGTB

Voici un exemple d'utilisation de jugglingTB correspondant aux étapes suivantes :

  • Accès au Module BTN (en v1.0).
  • Affichage de l'aide de la commande genThrows (équivalent de gen en v1.1).
  • Exécution de la commande genThrows afin d'obtenir les lancers BTN traversant au maximum 2 trous.

Simple Example

l'appel aux différentes commandes des modules se fait de manière similaire à un appel de fonction dans la majeur partie des langages. Les paramètres sont entre ( et ) séparés par des ,. Les paramètres indiqués comme optionnels peuvent être omis. Les chaînes de caractères sont encadrées par au choix: " ou '.

Si l'on reprend l'exemple précédent en utilisant le paramètre optionnel permettant l'écriture fichier on obtient :

genThrows(2,"toto.txt");

4.1 - OBTENIR DE L'AIDE

Les commandes suivantes vous permettront d'obtenir de l'aide :

  • help, help2 : Sans paramètre, liste l'ensemble des commandes visibles dans le Module courant; avec paramètre, donne l'aide associé à la commande (Nommage absolu/relatif) ou au module passée en paramètre
  • help("LeModule"), help2("LeModule") : depuis n'importe quel Menu, liste l'ensemble des commandes du module indiqué ainsi que leurs paramètres

Voici un exemple correspondant aux étapes suivantes :

  • Accès au Module MMSTD (en v1.0).
  • Affichage de l'aide générale du module MMSTD.
  • Affichage de l'aide de la commande genAllPatterns (équivalent de gen en v1.1).
  • Affichage de l'aide de la commande isSymetric.

Getting Help

4.2 - EXECUTER UNE COMMANDE DOS/UNIX

L'environnement intéractif de jugglingTB vous permet d'accéder au système sous-jacent par préfixage de vos commandes Shell par le caractère !. Ainsi, vous pourrez lire un fichier sauvé au travers de jugglingTB ...

Dans l'exemple ci-dessous, effectué sous Linux, on souhaite lister le répertoire courant :
Running Shell Command

4.3 - AFFICHAGE DU RESULTAT

Il est parfois intéressant de désactiver l'affichage des résultats d'une commande. Ce résultat étant en effet en général retourné par la commande, on peut vouloir le récupérer pour une commande supplémentaire sans l'afficher.

Si la commande permet un tel comportement, celui-ci sera indiqué par l'aide de la commande. Il s'agit en général d'utiliser un paramètre optionnel (positionné à -1) lors de l'appel à la commande.

La commande isSymetric du Module MMSTD permet un tel comportement :

Mixing Modules Commands

4.4 - PLACER LES RESULTATS DANS UN FICHIER

Il est parfois intéressant de stocker les résultats d'une commande dans un fichier.

Si la commande permet un tel comportement, celui-ci sera indiqué par l'aide de la commande. Il s'agit en général d'utiliser un paramètre optionnel (positionné au nom du fichier) lors de l'appel à la commande.

La commande genAllPatterns (équivalent de gen en v1.1) du Module MMSTD (en v1.0) permet un tel comportement :

Mixing Modules Commands

4.5 - COMBINER LES MODULES

Les différentes commandes peuvent être combinées entre elles entre modules différents, le résultat rendu par une commande étant un paramètre d'une autre commande. Dans ce cas d'utilisation, les commandes doivent être préfixées par leur module respectif (création d'un chemin absolu).

Afin d'épurer les résultats il peut être intéressant de désactiver les affichages des commandes intermédiaires comme indiqué précédemment.

voici à titre d'exemple, les étapes suivantes :

  • Accès au Module SOU.
  • Affichage de l'équivalent MMSTD d'un pattern SOU à l'aide de la commande toMMSTD.
  • Accès au Module MMSTD.
  • Affichage de l'équivalent SOU d'un pattern MMSTD à l'aide de la commande toSOU.
  • Accès au Module Main.
  • Affichage de l'équivalent SOU d'un pattern MMSTD obtenu depuis un pattern SOU (fonction Identité obtenue par combinaison de commandes) .

Mixing Modules Commands

Le menu intéractif de jugglingTB permet l'exécution de commandes classiques Perl, permettant ainsi la sauvegarde de résultats intermédiaire pour leur éventuel affichage ultérieur.

voici à titre d'exemple, les étapes suivantes :

  • Accès au Module BTN.
  • Affichage de l'aide pour la commande isValid.
  • Vérification sans affichage de résultat que la trajectoire BTN OPALAC est valide et stockage du résultat dans la variable Perl v.
  • Affichage de la variable v par la commande Perl print.

Mixing Modules Commands

5 - EXEMPLES

De nombreux exemples sont normalement disponibles au sein de chaque module par la fonction __test().

SITESWAP

Un petit exemple rapide pour récupérer quelques informations sur un siteswap (module baptisé SSWAP à présent):

Get Info on a siteswap

LADDER

Le Module Ladder vous permet de dessiner un diagramme en échelle à partir d'un siteswap donné. Il est nécessaire de disposer au préalable de l'outil Graphviz et d'avoir correctement renseigné son chemin dans <conf.ini>. Les 2 commandes ci-dessous vous permettent de tracer 2 colorisations différentes d'un même siteswap.

LADDER::draw("24[54]","test1.png")
LADDER::draw("24[45]","test2.png")

Les diagrammes tracés sont alors :
test1.png : test1.png
test2.png : test2.png

Ce module offre différentes opérations possibles sur les diagrammes comme par exemple le tracé Time-Reversed :

LADDER::inv("24[54]","test3.png")

Le résultat obtenu est alors :
test3.png : test3.png

6 - ETENDRE JUGGLINGTB

jugglingTB est très simple à étendre. (cf modules/MODTEST.pm pour un exemple de nouveau module). En premier vous devez déclarer le package ainsi que les procédures nécessaires à jugglingTB :

package MODTEST;
use common;
use strict;
use lang;
use Term::ANSIColor;

$Term::ANSIColor::AUTORESET = 1;

&lang::initLang();

print "MODTEST $MODTEST::MODTEST_VERSION loaded\n";

our $MODTEST_INFO = "MODTEST juggling Notation";
our $MODTEST_HELP = "Module de Test";
our $MODTEST_VERSION = "v1.1";

Chaque commande du module doit également être déclarée :

our %MODTEST_CMDS =
(
'cmd1' => ["cmd1hlp1","cmd1hlp2"],
'cmd2' => ["cmd1hlp1","cmd1hlp2"]
);

La première chaîne indique le message d'aide à afficher par les commandes help/lsc. La seconde précise les paramètre de la commande tels qu'ils seront affichés par help("cmd1") depuis le Menu MODTEST par exemple.

Les commandes doivent bien entendue également être définies:

sub cmd1
{
print colored [$common::COLOR_RESULT], "This is the Cmd1 Result\n";
}


sub cmd2
{
print colored [$common::COLOR_RESULT], "This is the Cmd2 Result\n";
}

Si vous souhaitez utiliser plusieurs langages les chaînes de caractères affichables doivent être déclarées en tant que constante dans lang.pm.

Le module MODTEST doit ensuite être ajouté dans jugglingTB.pl :

use modules::MODTEST;

my @MODULES= ("BTN", "SOU", "MMSTD", "MODTEST");

Toutes les aides, menus, exécution de commandes seront alors automatiquement pris en compte par jugglingTB.

Module Add-on

7 - CREDITS & LICENCE

Cet outil est soumis à la license LGPL :

This tool is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

8 - BUGS

Tout bug trouvé peut être envoyé à l'adresse suivante :
frederic.roudaut@free.fr

ANNEXE - MODULES

Cette annexe présente les modules existants en standard, leurs commandes ainsi que leurs paramètres.

MAIN

============= COMMANDES PRINCIPALES =============

! : Lance une commande Shell.

? : Résultat de la commande précédente.
<1> pour OK

exit : Quitte le Programme. "bye" ou "quit" peuvent egalement être utilisés.

help : Utile dans le Menu des modules pour une aide générique ou spécialisée. <help>, <help("command")> ou encore <help("module")>. Utilisez :
- <help> pour obtenir l'Aide courante dans le Menu Principal ou le Menu d'un Module;
- <help("command")> pour obtenir une Aide spécifique sur une commande du module courant;
- <help("module")> pour obtenir une Aide spécifique sur un Module;
- <help("command::module")> pour obtenir une Aide spécifique sur une commande d'un module donné.

help2 : Utile pour obtenir les paramètres des commandes. Utilisez :
- <help2> pour obtenir l'ensemble des commandes disponibles du module courant ainsi que leur paramètres;
- <help2("command")> pour obtenir une Aide spécifique détaillée sur une commande du module courant;
- <help2("module")> pour obtenir une Aide spécifique et détaillée sur les paramètres des commandes d'un Module;
- <help2("commande::module")> pour obtenir une Aide spécifique et détaillée sur les paramètres d'une commande d'un Module donné.

lsc : Liste l'intégralité des commandes disponibles.

lsc2 : Liste l'intégralité des commandes disponibles ainsi que leurs paramètres.

main : Menu principal.

mods : Affiche les modules disponibles.

usage : Options au lancement de jugglingTB.

version : Retourne la version du Module.

BTN v1.2.1

Dans ce module un lancer BTN sera composé d'une succession de trous pris parmi AC, AL, BOL ainsi que de l'opérateur OP. (Minuscule ou Majuscule).

Exemples : OPALAC, BOLAL, OPALOPAC ...

BTN - BTN juggling Notation (v1.2.1)
-----------------------------------------

BTNParity : Donne la parité BTN.
Paramètres :
- <Throw> : Lancer.
- [-1] Optionnel, retourne le résultat sans l'afficher. En retour 0 indique une parite Paire, 1 indique Impaire

gen : Donne les lancers BTN limités par le nombre de trous traversés.
Paramètres :
- <nb> Nombre maximum de trous traversés [>4 réservé aux Extra-Terrestres ;-)].
- ["fichier"] Optionnel, fichier de résultats.

gen2 : Donne les lancers BTN sans les lancers dont le corps contient 2 trous successifs identiques.
Paramètres :
- <nb> Nombre maximum de trous traversés [>4 réservé aux Extra-Terrestres ;-)].
- ["fichier"] Optionnel, fichier de résultats.

inv : Donne le lancer BTN Time Reversed associé.
Paramètres :
- <Lancer> : Lancer dont on veut obtenir le Time Reversed.
- <Parite> : Parité du lancer (0: paire, 1: impaire). - [-1] Optionnel, retourne le résultat sans l'afficher.

isValid : Teste la validité du lancer BTN.
Paramètres :
- <Lancer> : Lancer à valider.
- [-1] Optionnel, retourne le résultat sans l'afficher.

size : Donne la taille du lancer en nombre de trous traversés.
Paramètres :
- <Throw> : Lancer.
- [-1] Optionnel, retourne le résultat sans l'afficher.

SOU v1.3

Dans ce module un pattern SOU sera composé d'une succession d'états (O, Ob, U, Ub, S, Sb) et d'échanges (<in>, <out>).

Exemple : O<in>S<out>U<in>Ob<in>Sb<out>Ub<in>Sb<out>U<in>Ob<in>Sb<out>Ub

SOU - Extended S,O,U juggling Notation (v1.3)
-----------------------------------------

gen : Génération de tous les patterns avec suppression des redondances.
Paramètres :
- <cpt> : Nombre de Passages maximum par Etat
- <pathLenMax> : Longueur du chemin maximum (-1 : toute longueur)
- ["fichier"] Optionnel, fichier de résultats.

genByState : Génération de tous les patterns avec classification par Etat.
Paramètres :
- <cpt> : Nombre de Passages maximum par Etat
- <pathLenMax> : Longueur du chemin maximum (-1 : toute longueur)
- ["fichier"] Optionnel, fichier de résultats.

graph : Affiche le Graphe SOU des transitions valides.
Paramètres :
- Aucun.

inv : Calcule l'inversion d'un pattern donné.
Paramètres :
- <pattern> : pattern
- [-1] Optionnel, retourne le résultat sans l'afficher.

isEquivalent : Teste l'équivalence de 2 patterns.
Paramètres :
- <pattern1> <pattern2> : patterns à comparer.
- [-1] Optionnel, retourne le résultat sans l'afficher.

isSymetric : Teste la symétrie de 2 patterns.
Paramètres :
- <pattern1> <pattern2>> : patterns à comparer.
- [-1] Optionnel, retourne le résultat sans l'afficher.

isValid : Teste la validité d'un pattern.
Paramètres :
- <pattern> : pattern à tester.
- [-1] Optionnel, retourne le résultat sans l'afficher.

size : Donne la longueur du pattern en nombre d'Etats.
Paramètres :
- <pattern> : pattern. Une unité est considérée uniquement sur composition d'un Etat et d'une transition.
- [-1] Optionnel, retourne le résultat sans l'afficher.

sym : Calcule la symétrie d'un pattern donné.
Paramètres :
- <pattern> : pattern
- [-1] Optionnel, retourne le résultat sans l'afficher.

toMMSTD : Donne la notation MMSTD correspondante.
Paramètres :
- <pattern> : pattern.
- [-1] Optionnel, retourne le résultat sans l'afficher.

MMSTD v1.4

Dans ce module un pattern MMSTD sera composé d'une succession d'états (Ur, Ul, Rl, Rr, Lr, Lr) et d'échanges (-+->, -o->).

Exemples : Ur -o-> Ll -+> Ur , Rr -+-> Ul -o->

MMSTD - Mills Mess State Transition juggling Notation (v1.4)
-----------------------------------------

gen : Génération de tous les patterns avec suppression des redondances.
Paramètres :
- <cpt> : Nombre de Passages maximum par Etat
- <pathLenMax> : Longueur du chemin maximum (-1 : toute longueur)
- ["fichier"] Optionnel, fichier de résultats.

genByState : Génération de tous les patterns avec classification par Etat.
Paramètres :
- <cpt> : Nombre de Passages maximum par Etat
- <pathLenMax> : Longueur du chemin maximum (-1 : toute longueur)
- ["fichier"] Optionnel, fichier de résultats.

graph : Affiche le Graphe MMSTD des transitions valides.
Paramètres :
- Aucun ou sinon Graphviz doit préalablement être installé et son Path correctement configuré dans <conf.ini>.
Sinon :
- <"fichier"> : fichier de résultats.
- ["Format"] Optionnel, format d'image (Défaut:png) parmi : bmp (Windows Bitmap Format),cmapx (client-side imagemap for use in html and xhtml), dia (GTK+ based diagrams), eps (Encapsulated PostScript), fig (XFIG graphics), gd, gd2 (GD/GD2 formats), gif (bitmap graphics), gtk (GTK canvas), hpgl (HP pen plotters) and pcl (Laserjet printers), imap (imagemap files for httpd servers for each node or edge that has a non-null "href" attribute.), jpg, jpeg, jpe (JPEG), mif (FrameMaker graphics), pdf (Portable Document Format), png (Portable Network Graphics format), ps (PostScript), ps2 (PostScript for PDF), svg, svgz (Structured Vector Graphics), tif, tiff (Tag Image File Format), vml, vmlz (Vector Markup Language), vrml (VRML), wbmp (Wireless BitMap format), xlib (Xlib canvas), canon, dot, xdot : Output in DOT langage, plain , plain-ext : Output in plain text
- ["Generateur"] Optionnel, filtre generateur Graphviz (Défaut:circo) parmi : circo (circular layout), dot(directed graphs), neato (undirected graphs), twopi (radial layouts), fdp (undirected graphs), sfdp (large undirected graphs), osage (clustered graphs).

inv : Calcule l'inversion d'un pattern donné.
Paramètres :
- <pattern> : pattern
- [-1] Optionnel, retourne le résultat sans l'afficher.

isEquivalent : Teste l'équivalence de 2 patterns.
Paramètres :
- <pattern1> <pattern2> : patterns à comparer.
- [-1] Optionnel, retourne le résultat sans l'afficher.

isSymetric : Teste la symétrie de 2 patterns.
Paramètres :
- <pattern1> <pattern2> : patterns à comparer.
- [-1] Optionnel, retourne le résultat sans l'afficher.

isValid : Teste la validité d'un pattern.
Paramètres :
- <pattern> : pattern à tester.
- [-1] Optionnel, retourne le résultat sans l'afficher.

size : Donne la longueur du pattern en nombre d'Etats.
Paramètres :
- <pattern> : pattern. Une unité est considérée uniquement sur composition d'un Etat et d'une transition.
- [-1] Optionnel, retourne le résultat sans l'afficher.

sym : Calcule la symétrie d'un pattern donné.
Paramètres :
- <pattern> : pattern
- [-1] Optionnel, retourne le résultat sans l'afficher.

toSOU : Donne la notation SOU correspondante.
Paramètres :
- <pattern> : pattern.
- [-1] Optionnel, retourne le résultat sans l'afficher.

LADDER v0.9

La description des Diagrammes se fera en utilisant la notation SITESWAP Classique telle qu'elle est utilisée par JugglingLab.

Exemples : 534, (6x,4)*, (2x,[22x])(2,[22])(2,[22x])*.

On considérera en plus les symboles '!' et '*' que ce soit en Synchrone ou en Asynchrone :

  • '!' : supprime un Beat de temps. Apres un Siteswap Synchrone il indique que le lancer suivant se fait sur le Beat suivant censé être un Beat de récupération (et non plus 2 Beats après). Après un lancer Asynchrone, il indique que le lancer suivant se fait au même Beat. Il devient alors possible de représenter un Siteswap Synchrone par un Siteswap Asynchrone. Les Multiplexes peuvent également être adaptés selon ce schéma
  • '*' : dans le cas d'un Siteswap Synchrone il indique un changement de l'ordre des mains et n'est plus obligatoirement positionné a la fin. Dans le cas d'un Siteswap Asynchrone, le prochain lancer se fait par la même main (Notion de Hurry).

Exemples : 4!40, 5!*4!*3, 6x0*, (6x,0)*, 51x*, (1x,3)!11x* ...

Ce module différentie aussi la colorisation des multiplexes.

Exemples : 24[54] et 24[45] ont une colorisation différente.

LADDER - LADDER juggling Notation (v0.9)
-----------------------------------------

draw : Dessine le Diagramme en Echelle associé au Siteswap.
Paramètres :
- <"ss"> : Siteswap à dessiner.

- <"fichier"> : fichier image de résultats.

- ["options"] Différentes options ('-c','-l','-n','-p','-o','-t') précisées ci-dessous :
-c <int> : Mode de colorisation (Défaut:2)
   '0' : pas de colorisation;
   '1' : Multiplexe dans l'ordre croissant des valeurs Siteswap des lancers précédents;
   '2' : Multiplexe dans l'ordre décroissant des valeurs Siteswap des lancers précédents.
-l <pos> : Position du label de Siteswap (Défaut:t)
   't': tail, près de la queue de la flêche;
   'h': head, près de la tete;
   'm': middle, au centre de la flêche;
   'n': Pas de label de Siteswap.
-n <'y'|'n'> : Affichage des lancers négatifs [Expérimental] (Défaut:n);
-p : Période à afficher (Défaut:25).
-o <type> : format d'image (Défaut:png) parmi : bmp (Windows Bitmap Format),cmapx (client-side imagemap for use in html and xhtml), dia (GTK+ based diagrams), eps (Encapsulated PostScript), fig (XFIG graphics), gd, gd2 (GD/GD2 formats), gif (bitmap graphics), gtk (GTK canvas), hpgl (HP pen plotters) and pcl (Laserjet printers), imap (imagemap files for httpd servers for each node or edge that has a non-null "href" attribute.), jpg, jpeg, jpe (JPEG), mif (FrameMaker graphics), pdf (Portable Document Format), png (Portable Network Graphics format), ps (PostScript), ps2 (PostScript for PDF), svg, svgz (Structured Vector Graphics), tif, tiff (Tag Image File Format), vml, vmlz (Vector Markup Language), vrml (VRML), wbmp (Wireless BitMap format), xlib (Xlib canvas), canon, dot, xdot : Output in DOT langage, plain , plain-ext : Output in plain text.
-t <'y'|'n'> : Affichage du titre de l'image (Défaut:y).

- [%hash] : Optionnel, hash des transitions. Dans ce cas le Siteswap n'est utilisé que pour le titre. Chaque Clé/Valeur est de la forme : Ri:j pour une transition amorcée à droite ou Li:j lorsqu'il s'agit de la gauche. i correspond au Beat du lancer et j est le numéro de l'objet lors du lancer (en commencant a 0) pour aider à la colorisation.
Ex : my %hash = (
'L2:0' => 'R4:0',
'R2:0' => 'R4:0',
'L4:0' => 'R6:0',
'R4:0' => 'R5:0',
'R6:0' => 'R6:0'
);

inv : Dessine le Diagramme Time-Reversed du Diagramme en Echelle associé au Siteswap.
Paramètres :
- <"ss"> : Siteswap.

- <"fichier"> : fichier image de résultats.

- ["options"] Différentes options ('-c','-l','-n','-p','-o','-t') précisées ci-dessous :
-c <int> : Mode de colorisation (Défaut:2)
   '0' : pas de colorisation;
   '1' : Multiplexe dans l'ordre croissant des valeurs Siteswap des lancers précédents;
   '2' : Multiplexe dans l'ordre décroissant des valeurs Siteswap des lancers précédents.
-l <pos> : Position du label de Siteswap (Défaut:t)
   't': tail, pres de la queue de la flêche;
   'h': head, pres de la tete;
   'm': middle, au centre de la flêche;
   'n': Pas de label de Siteswap.
-p : Période à afficher (Défaut:25).
-o <type> : format d'image (Défaut:png) parmi : bmp (Windows Bitmap Format),cmapx (client-side imagemap for use in html and xhtml), dia (GTK+ based diagrams), eps (Encapsulated PostScript), fig (XFIG graphics), gd, gd2 (GD/GD2 formats), gif (bitmap graphics), gtk (GTK canvas), hpgl (HP pen plotters) and pcl (Laserjet printers), imap (imagemap files for httpd servers for each node or edge that has a non-null "href" attribute.), jpg, jpeg, jpe (JPEG), mif (FrameMaker graphics), pdf (Portable Document Format), png (Portable Network Graphics format), ps (PostScript), ps2 (PostScript for PDF), svg, svgz (Structured Vector Graphics), tif, tiff (Tag Image File Format), vml, vmlz (Vector Markup Language), vrml (VRML), wbmp (Wireless BitMap format), xlib (Xlib canvas), canon, dot, xdot : Output in DOT langage, plain , plain-ext : Output in plain text.
-t <'y'|'n'> : Affichage du titre de l'image (Défaut:y).

slide : Dessine le Diagramme en Echelle après décalage(s) de la main droite ou gauche d'un Siteswap.
Paramètres :
- <"ss"> : Siteswap.

- <"fichier"> : fichier image de résultats.

- ["options"] Différentes options ('-c','-l','-n','-p','-o','-t') précisées ci-dessous :
-c <int> : Mode de colorisation (Défaut:2)
   '0' : pas de colorisation;
   '1' : Multiplexe dans l'ordre croissant des valeurs Siteswap des lancers précédents;
   '2' : Multiplexe dans l'ordre décroissant des valeurs Siteswap des lancers précédents.
-l <pos> : Position du label de Siteswap (Défaut:t)
   't': tail, près de la queue de la flêche;
   'h': head, près de la tete;
   'm': middle, au centre de la flêche;
   'n': Pas de label de Siteswap.
-n <'y'|'n'> : Affichage des lancers negatifs [Expérimental] (Défaut:n);
-p : Période à afficher (Défaut:25).
-o <type> : format d'image (Défaut:png) parmi : bmp (Windows Bitmap Format),cmapx (client-side imagemap for use in html and xhtml), dia (GTK+ based diagrams), eps (Encapsulated PostScript), fig (XFIG graphics), gd, gd2 (GD/GD2 formats), gif (bitmap graphics), gtk (GTK canvas), hpgl (HP pen plotters) and pcl (Laserjet printers), imap (imagemap files for httpd servers for each node or edge that has a non-null "href" attribute.), jpg, jpeg, jpe (JPEG), mif (FrameMaker graphics), pdf (Portable Document Format), png (Portable Network Graphics format), ps (PostScript), ps2 (PostScript for PDF), svg, svgz (Structured Vector Graphics), tif, tiff (Tag Image File Format), vml, vmlz (Vector Markup Language), vrml (VRML), wbmp (Wireless BitMap format), xlib (Xlib canvas), canon, dot, xdot : Output in DOT langage, plain , plain-ext : Output in plain text.
-t <'y'|'n'> : Affichage du titre de l'image (Défaut:y).

sym : Dessine le Symetrique du Diagramme en Echelle associé au Siteswap.
Paramètres :
- <"ss"> : Siteswap.

- <"fichier"> : fichier image de résultats.

- ["options"] Différentes options ('-c','-l','-n','-p','-o','-t') précisées ci-dessous :
-c <int> : Mode de colorisation (Défaut:2)
   '0' : pas de colorisation;
   '1' : Multiplexe dans l'ordre croissant des valeurs Siteswap des lancers précédents;
   '2' : Multiplexe dans l'ordre décroissant des valeurs Siteswap des lancers précédents.
-l <pos> : Position du label de Siteswap (Défaut:t)
   't': tail, près de la queue de la flêche;
   'h': head, près de la tete;
   'm': middle, au centre de la flêche;
   'n': Pas de label de Siteswap.
-p : Période à afficher (Défaut:25).
-o <type> : format d'image (Défaut:png) parmi : bmp (Windows Bitmap Format),cmapx (client-side imagemap for use in html and xhtml), dia (GTK+ based diagrams), eps (Encapsulated PostScript), fig (XFIG graphics), gd, gd2 (GD/GD2 formats), gif (bitmap graphics), gtk (GTK canvas), hpgl (HP pen plotters) and pcl (Laserjet printers), imap (imagemap files for httpd servers for each node or edge that has a non-null "href" attribute.), jpg, jpeg, jpe (JPEG), mif (FrameMaker graphics), pdf (Portable Document Format), png (Portable Network Graphics format), ps (PostScript), ps2 (PostScript for PDF), svg, svgz (Structured Vector Graphics), tif, tiff (Tag Image File Format), vml, vmlz (Vector Markup Language), vrml (VRML), wbmp (Wireless BitMap format), xlib (Xlib canvas), canon, dot, xdot : Output in DOT langage, plain , plain-ext : Output in plain text.
-t <'y'|'n'> : Affichage du titre de l'image (Défaut:y).

toAsync : Donne le Siteswap Asynchrone correspondant (ie transformation des multiplexes, des lancers synchrones)
Paramètres :
- <Siteswap> : Siteswap.
- ["fichier"] Optionnel, fichier image de résultats au format png. Si -1 retourne le résultat sans l'afficher.

SSWAP v0.7.8

Ce module intègre JugglingLab. Dans ce module un SITESWAP sera donc noté selon la notation siteswap classique telle qu'elle est utilisée par JugglingLab (cf ici pour de plus amples informations).
Auparavant ce module portait le nom SITESWAP mais j'ai jugé que SSWAP était moins laborieux à écrire.

Exemples : 534, (6x,4)*, (2x,[22x])(2,[22])(2,[22x])*;

SSWAP - SITESWAP juggling Notation (v0.7.8)
-----------------------------------------

anim : Montre l'animation d'un Siteswap donné (JugglingLab).
Paramètres :
- <siteswap> : Siteswap dont on veut obtenir l'animation.

drawStates : Génération des Graphes Etats/Transitions (Graphviz).
Paramètres :
- <type> : Type de générateur parmi 'R' (Normal), 'S' (Synchrone), 'M' (Multiplexe), 'MS' (Multiplexe Synchrone).

== cas 'R', 'S' ==
- <nb> : Nombre d'objets (-1 non spécifié).
- <nb> : Valeur du lancer max.

== cas 'M', 'MS' ==
- <nb> : Nombre d'objets (-1 non spécifié).
- <nb> : Valeur du lancer max.
- <nb> : Nombre Max de lancers Simultanés.

- <"fichier"> : fichier de résultats.

- ["Format"] Optionnel, format d'image (Défaut:png) parmi : bmp (Windows Bitmap Format),cmapx (client-side imagemap for use in html and xhtml), dia (GTK+ based diagrams), eps (Encapsulated PostScript), fig (XFIG graphics), gd, gd2 (GD/GD2 formats), gif (bitmap graphics), gtk (GTK canvas), hpgl (HP pen plotters) and pcl (Laserjet printers), imap (imagemap files for httpd servers for each node or edge that has a non-null "href" attribute.), jpg, jpeg, jpe (JPEG), mif (FrameMaker graphics), pdf (Portable Document Format), png (Portable Network Graphics format), ps (PostScript), ps2 (PostScript for PDF), svg, svgz (Structured Vector Graphics), tif, tiff (Tag Image File Format), vml, vmlz (Vector Markup Language), vrml (VRML), wbmp (Wireless BitMap format), xlib (Xlib canvas), canon, dot, xdot : Output in DOT langage, plain , plain-ext : Output in plain text

- ["Generateur"] Optionnel, filtre générateur Graphviz (Défaut:circo) parmi : circo (circular layout), dot(directed graphs), neato (undirected graphs), twopi (radial layouts), fdp (undirected graphs), sfdp (large undirected graphs), osage (clustered graphs).

Graphviz doit préalablement être installé et son Path correctement configuré dans <conf.ini>

drawStatesAggr : Génération des Graphes Réduits Etats/Transitions (Graphviz).
Paramètres :
- <type> : Type de générateur parmi 'R' (Normal), 'S' (Synchrone), 'M' (Multiplexe), 'MS' (Multiplexe Synchrone).

== cas 'R', 'S' ==
- <nb> : Nombre d'objets (-1 non spécifié).
- <nb> : Valeur du lancer max.

== cas 'M', 'MS' ==
- <nb> : Nombre d'objets (-1 non spécifié).
- <nb> : Valeur du lancer max.
- <nb> : Nombre Max de lancers Simultanés.

- <"fichier"> : fichier de résultats.

- ["Format"] Optionnel, format d'image (Défaut:png) parmi : bmp (Windows Bitmap Format),cmapx (client-side imagemap for use in html and xhtml), dia (GTK+ based diagrams), eps (Encapsulated PostScript), fig (XFIG graphics), gd, gd2 (GD/GD2 formats), gif (bitmap graphics), gtk (GTK canvas), hpgl (HP pen plotters) and pcl (Laserjet printers), imap (imagemap files for httpd servers for each node or edge that has a non-null "href" attribute.), jpg, jpeg, jpe (JPEG), mif (FrameMaker graphics), pdf (Portable Document Format), png (Portable Network Graphics format), ps (PostScript), ps2 (PostScript for PDF), svg, svgz (Structured Vector Graphics), tif, tiff (Tag Image File Format), vml, vmlz (Vector Markup Language), vrml (VRML), wbmp (Wireless BitMap format), xlib (Xlib canvas), canon, dot, xdot : Output in DOT langage, plain , plain-ext : Output in plain text

- ["Generateur"] Optionnel, filtre générateur Graphviz (Défaut:circo) parmi : circo (circular layout), dot(directed graphs), neato (undirected graphs), twopi (radial layouts), fdp (undirected graphs), sfdp (large undirected graphs), osage (clustered graphs).

Graphviz doit préalablement être installé et son Path correctement configuré dans <conf.ini>

expand : Développe un Siteswap.
Paramètres :
- <siteswap> : Siteswap à développer.
- [-1] Optionnel, retourne le résultat sans l'afficher.

genDiagProbert : Génération des Diagrammes de Martin Probert.
Paramètres :
- <nb> : Nombre d'objets.
- <nb> : Hauteur Max des Siteswaps (-1 toute hauteur).
- <nb> : Période des Siteswaps.
- ["fichier"] Optionnel, fichier de résultats. Si -1, retourne
le résultat sans l'afficher; Si le fichier commence par 'XLS:',
génère un fichier Excel en y ajoutant l'extension .xlsx

genSS : Génération de siteswaps (j2).
Paramètres :
- <nb> : Nombre d'objets.
- <nb> : Valeur du lancer max.
- <nb> : Période.
- ["-O [options]"] Optionnel, Différentes options précisées ci-dessous.
- ["fichier"] Optionnel, fichier de résultats.

les options incluent :
  -s : mode synchrone
  -j <nombre> : définit le nombre de jongleurs
  -n : affiche le nombre de Siteswaps générés
  -m <nombre> : multiplex avec au moins le nombre donné de lancers simultanés
  -no : imprime juste le nombre de Siteswaps générés
  -g : figures fondamentales
  -mf : permet les réceptions multiples
  -ng : figures excitées
  -mc : empêche les lancers multiplex en grappe
  -f : liste complète (avec les figures composées)
  -mt : vrais multiplexes uniquement
  -d <nombre> : retard de communication (passing)
  -se : désactive starting/ending
  -l <nombre> : numéro du leader passing
  -prime : premiers seulement
  -x <lancer> : .. exclure les lancers
  -rot : avec permutations des figures
  -i <lancer> : .. inclure les lancers
  -lame : supprimer les '11' en mode asynchrone
  -cp : patterns connectés uniquement
  -jp : Montre toutes les permutations de jongleurs

genSSMagic : Génération de Magics Siteswaps.
Paramètres :
- <type> : Type de générateur parmi 'R' (Normal), 'S' (Synchrone), 'M' (Multiplexe), 'MS' (Multiplexe Synchrone).

== cas 'R', 'S' ==
- <mode> : Mode de Magics Siteswaps (Pair/Impair/All).
- <nb> : Période des Siteswaps.
- <opts> : Options parmi '-p1' (suppression des redondances), '-p2' (suppression des redondances avec conservation des ss ground prioritairement), '-e' (indique l'état d'excitation du siteswap); utiliser -1 sinon.
- ["fichier"] Optionnel, fichier de résultats. Si -1, retourne le résultat sans l'afficher.

== cas 'M', 'MS' ==
- <mode> : Mode de Magics Siteswaps (Pair/Impair/All).
- <nb> : Nombre de lancers.
- <opts> : Options parmi '-p1' (suppression des redondances), '-p2' (suppression des redondances avec conservation des ss ground prioritairement), '-e' (indique l'état d'excitation du siteswap), '-s (tri par nombre d'objets), '-i' (infos supplémentaires éventuelles; utiliser -1 sinon.
- ["fichier"] Optionnel, fichier de résultats. Si -1, retourne le résultat sans l'afficher. Si le fichier commence par 'HTML:', génère un fichier pour une vue JugglingLab, en HTML en y ajoutant l'extension .html

genSSMagicStadler : Génération Partielle de Magics Siteswaps Vanilles par l'algorithme de Jon Stadler.
Paramètres :
- <nb> : Période Maximum.
- <opts> : Options parmi '-e' (indique l'état d'excitation du siteswap); utiliser -1 sinon.
- ["fichier"] Optionnel, fichier de résultats. Si -1, retourne le résultat sans l'afficher.

genSSPerm : Génération de Siteswaps Vanilles Par Test de Permutation (Algorithme de Polster).
Paramètres :
- <nb> : Nombre d'objets.
- <nb> : Periode des Siteswaps.
- <opts> : Options parmi '-p1' (suppression des redondances), '-p2' (suppression des redondances avec conservation des ss ground prioritairement), '-e' (indique l'état d'excitation du siteswap), '-s (tri par nombre d'objets), '-i' (infos supplémentaires éventuelles; utiliser -1 sinon.
- ["fichier"] Optionnel, fichier de résultats. Si -1, retourne le résultat sans l'afficher. Si le fichier commence par 'HTML:', génère un fichier pour une vue JugglingLab, en HTML en y ajoutant l'extension .html

genSSProbert : Génération de Siteswaps Vanilles depuis Diagrammes de Martin Probert.
Paramètres :
- <nb> : Nombre d'objets.
- <nb> : Hauteur Max des Siteswaps (-1 toute hauteur).
- <nb> : Période des Siteswaps.
- <opts> : Options parmi '-p' (suppression des redondances); -t
(ajout des Siteswaps Time Reversed associés) ; utiliser -1 sinon.
- ["fichier"] Optionnel, fichier de résultats. Si -1, retourne le résultat sans l'afficher. Si le fichier commence par 'HTML:', génère un fichier pour une vue JugglingLab, en HTML en y ajoutant l'extension .html

genScramblable : Génération de Scrambable Siteswaps
Paramètres :
- <type> : Type de générateur parmi 'R' (Normal), 'S' (Synchrone), 'M' (Multiplexe), 'MS' (Multiplexe Synchrone).
- <siteswap> : Suite de chiffres dont on veut obtenir l'ensemble des combinaisons valides.
- <opts> : Options parmi '-p1' (suppression des redondances), '-p2' (suppression des redondances avec conservation des ss ground prioritairement), '-e' (indique l'état d'excitation du siteswap); utiliser -1 sinon.
- ["fichier"] Optionnel, fichier de résultats. Si -1, retourne le résultat sans l'afficher. Si le fichier commence par 'HTML:', génère un fichier pour une vue JugglingLab, en HTML en y ajoutant l'extension .html

genStates : Génération des Matrices Etats/Transitions.
Paramètres :
- <type> : Type de générateur parmi 'R' (Normal), 'S' (Synchrone), 'M' (Multiplexe), 'MS' (Multiplexe Synchrone).

== cas 'R', 'S' == - <nb> : Nombre d'objets (-1 non spécifié).
- <nb> : Valeur du lancer max.

== cas 'M', 'MS' ==
- <nb> : Nombre d'objets (-1 non spécifié).
- <nb> : Valeur du lancer max.
- <nb> : Nombre Max de lancers Simultanés.

- ["fichier"] Optionnel, fichier de résultats. Si -1, retourne le résultat sans l'afficher; Si le fichier commence par 'XLS:', génère un fichier Excel en y ajoutant l'extension .xlsx

genStatesAggr : Génération des Matrices Reduites Etats/Transitions.
Paramètres :
- <type> : Type de générateur parmi 'R' (Normal), 'S' (Synchrone), 'M' (Multiplexe), 'MS' (Multiplexe Synchrone).

== cas 'R', 'S' ==
- <nb> : Nombre d'objets (-1 non spécifié).
- <nb> : Valeur du lancer max.

== cas 'M', 'MS' ==
- <nb> : Nombre d'objets (-1 non spécifié).
- <nb> : Valeur du lancer max.
- <nb> : Nombre Max de lancers Simultanés.

- ["fichier"] Optionnel, fichier de résultats. Si -1, retourne le résultat sans l'afficher; Si le fichier commence par 'XLS:', génère un fichier Excel en y ajoutant l'extension .xlsx

getInfo : Affiche des informations sur le Siteswap.
Paramètres :
- <siteswap> : siteswap à analyser.

getObjNumber : Donne le nombre d'objets du Siteswap
Paramètres :
- <siteswap> : Siteswap à analyser.
- [-1] Optionnel, retourne le résultat sans l'afficher.

getPeriod : Donne la Période du Siteswap
Paramètres :
- <siteswap> : Siteswap à analyser.
- [-1] Optionnel, retourne le résultat sans l'afficher.

getSSType : Donne la famille du Siteswap parmi R (Regulier), M (Multiplexe), S (Synchrone), MS (Multiplexe-Synchrone)
Paramètres :
- <siteswap> : Siteswap à analyser.
- [-1] Optionnel, retourne le résultat sans l'afficher.

getSSstatus : Donne le Statut du Siteswap (Excite [Excited], non excité [Ground] ou [Unknown] si le nombre d'objets ne permet pas de le dire)
Paramètres :
- <siteswap> : Siteswap à analyser.
- [-1] Optionnel, retourne le résultat sans l'afficher.

inv : Calcule l'inversion d'un Siteswap.
Paramètres :
- <siteswap> : Siteswap
- [-1] Optionnel, retourne le résultat sans l'afficher.

isEquivalent : Teste l'équivalence de 2 siteswaps.
Paramètres :
- <siteswap1> <siteswap2> : siteswaps à comparer.
- [-1] Optionnel, retourne le résultat sans l'afficher.

isSyntaxValid : Teste la syntaxe grammaticale du siteswap.
Paramètres :
- <siteswap> : siteswap à tester.
- [-1] Optionnel, retourne le résultat sans l'afficher.

isValid : Teste la validité du siteswap.
Paramètres :
- <siteswap> : siteswap à tester.
- [-1] Optionnel, retourne le résultat sans l'afficher.

jugglingLab : Lance JugglingLab.
Paramètres :
- Aucun

normalize : Normalise un Siteswap (ie Développement + Normalisation d'écriture (par ex: Poids forts en premier dans multiplexes ...).
Paramètres :
- <siteswap> : Siteswap à normaliser.
- [-1] Optionnel, retourne le résultat sans l'afficher.

periodMin : Période Minimum d'un Siteswap. Paramètres :
- <siteswap> : Siteswap dont on veut obtenir la Période minimum.
- [-1] Optionnel, retourne le résultat sans l'afficher.

printSSList : Met en forme une Liste de Siteswaps (Texte, Fichier ou dans Applet JugglingLab). Les Siteswaps invalides sont masqués.
Paramètres :
- <List> : Liste Perl de Siteswaps.
- <opts> : Options parmi '-p1' (suppression des redondances), '-p2' (suppression des redondances avec conservation des ss ground prioritairement), '-e' (indique l'état d'excitation du siteswap), '-s (tri par nombre d'objets), '-i' (infos supplémentaires éventuelles; utiliser -1 sinon. - ["fichier"] Optionnel, fichier de résultats. Si -1, retourne le résultat sans l'afficher. Si le fichier commence par 'HTML:', génère un fichier pour une vue JugglingLab, en HTML en y ajoutant l'extension .html

shrink : Forme Abregée d'un Siteswap.
Paramètres :
- <siteswap> : Siteswap à abréger.
- [-1] Optionnel, retourne le résultat sans l'afficher.

writeStates_xls : Génération en Excel des Matrices Etats/Transitions.
Paramètres :
- <type> : Type de générateur parmi 'R' (Normal), 'S' (Synchrone), 'M' (Multiplexe), 'MS' (Multiplexe Synchrone).

== cas 'R', 'S' ==
- <nb> : Nombre d'objets (-1 non spécifié).
- <nb> : Valeur du lancer max.

== cas 'M', 'MS' ==
- <nb> : Nombre d'objets (-1 non spécifié).
- <nb> : Valeur du lancer max.
- <nb> : Nombre Max de lancers Simultanés.

- <"fichier"> corps du fichier de résultats sans l'extension .xlsx

Vous devez disposer auparavant d'Excel avec une license valide ! (Fonctionne sous Windows).