Java et NoteWorthyComposer

NoteWorthyComposer (http://www.noteworthysoftware.com/) est un shareware permettant d'écrire des partitions musicales, le cas échéant, de les transposer, de générer des fichiers MIDI ou de la musique en direct.

La version 2 propose maintenant des "User Tools" c'est à dire la possibilité de créer soi-même ses propres commandes.

NoteWorthy Software est fourni avec un interpréteur de PHP et des exemples de commandes écrites dans ce langage.

PHP est bien sûr gratuit, puissant ce qui explique le choix. Mais c'est un interpréteur ; cela implique une vitesse d'excécution des commandes pas très rapide sur de grosses partitions. Par contre cela facilite grandement les mises au point.

Les scripts PHP sont lancés grâce à un cadre de saisie. On peut y ajouter des paramètres. Les données musicales sont prises sur STDIN et redéposées après traitement sur STDOUT. Alors je me suis dit : et pourquoi pas des scripts en JAVA ?

En fait les "User Tools" peuvent être écrites dans n'importe quel langage (C++, Python...).

Pour que cela fonctionne il faut déposer les fichiers JAVA compilés donc d'extension ".class" dans le répertoire où se trouve nwc2.exe. On peut choisir un autre répertoire à condition de l'avoir déclaré dans la variable d'environnement CLASSPATH.

Ci-dessous se trouvent deux exemples de programmes JAVA : le premier se contente d'afficher un texte, le second montre comment passer des paramètres et lire une partition.

nwc_test

- "dézipper" le fichier nwc_test.zip

- déposer "nwc_test.class" dans le répertoire "C:\Program Files\Noteworthy Software\NoteWorthy Composer 2"

- cliquer sur "Tools" puis "User Tools" puis "New"; préciser le titre (Name) et la commande "java nwc_test".

nwc_test1 teste le passage de paramètres

- "dézipper" le fichier nwc_test1.zip

- déposer "nwc_test1.class" dans le répertoire "C:\Program Files\Noteworthy Software\NoteWorthy Composer 2"

- cliquer sur "Tools" puis "User Tools" puis "New"; préciser le titre (Name) et la commande :

par exemple  :

java nwc_test1 "<PROMPT:Durée de la note ?=|Quarter|8th|16th|32nd>" "<PROMPT:Entrer un nombre entre 0 et 127=#[0,127]>" "<PROMPT:Taper un texte:=*>".

 

Sources des programmes test : nwc_test.java ; nwc_test1.java.