Myriad Blog 1.3.0 Friday, Oct 24th, 2014 at 10:06am 

Thursday, May 31st, 2007 at 05:07pm
Harmony 9.4 - Etape 9

 
Aujourd'hui nous avons travaillé notamment sur la manière de gérer des vues en MyrScript, le langage de programmation intégré à Harmony Assistant.
 
Il fallait permettre de gérer tous les paramètres des vues, et d'altérer le contenu de chacune des vues, sans que les programmes déjà écrits en MyrScript ne nécessitent d'être repris.
 
Nous avons donc opté pour une solution relativement simple, mais qui ne permet pas de travailler extrèmement facilement sur plusieurs vues simultanément : la gestion d'une "vue courante", qui conditionne toutes les opérations effectuées ensuite sur les paramètres auxquels on accède.
 
Par exemple, pour faire apparaître la première portée du conducteur dans la première vue partielle, il faudra écrire quelque chose comme:
 
-- L'index 1 correspond à  la vue générale
-- et l'index 2 à la premiere vue partielle

vue=score.Views[2]
-- Fixe la vue courante
score.SetCurrentView(vue)  
-- A partir d'ici on travaille sur la vue n°2 (1e vue partielle)
score.FirstStaff.IsPrinted=true  
-- La 1e portée est maintenant visible dans cette vue

 
Le système a l'air de bien fonctionner, et d'être relativement simple d'emploi.  
Seule contrainte, lorsqu'on veut recopier un certain nombre de paramètres d'une vue sur une autre, il vaut mieux fixer la 1e vue comme vue courante, copier tous les paramètres désirés dans des variables locales, puis fixer la 2e vue comme vue courante et recopier les variables locales dans la 2e vue, plutôt que de passer d'une vue à l'autre à chaque paramètre.
 
Il ne reste plus qu'à mettre en place la création, suppression et déplacement de vue, et MyrScript devrait alors être complet sur ce point.
by Olivier Guillion
Comments

Comment from Danièl Frouvelle Friday, Jun 1st, 2007 at 08:01am
copie paramètres
Dans ce cas il serait peut-être intéressant de faire 'à l'envers': prédéfinir dans Myscript une fonction CopyView(1,2) qui reprendrait l'intégralité des paramètres de la vue 1 vers la vue 2 (sans que l'opérateur n'ait à le faire) et 'nettoyer' ensuite la vue 2
Ou encore mieux prédéfinir dans Myscript (et HA) une fonction CreateViewForAllStaves pour créer une vue pour chaque portée conforme à la vue principale, à modifier après 'à la main'. C'est dans mon cas ce que je ferai dès que cette exaltante moûture sera opérationnelle.
Bien à vous


Most recent first
Oldest first

Top of page
Last update:  (c) Myriad 2013