Myriad Forum « Définir l'instrument d'une portée »
 Welcome, Guest.
 You can read all messages, but to be able to post,
 please Login or Register.
Nov 16th, 2018, 1:21am 
   Myriad Forum
   MyrScript Language
(Moderator: Forum Administrator)
   Définir l'instrument d'une portée
« Previous topic | Next topic »
Pages: 1  Reply | Notify of replies | Print
   Author  Topic: Définir l'instrument d'une portée  (Read 197 times)
Andre_B
Board Master
*****





   


Gender: male
Posts: 818
Définir l'instrument d'une portée  
« on: Aug 18th, 2018, 10:05am »
Quote | Modify

Je suis sur un script qui vise à standardiser certains paramètres à travers une série de partitions. Les volumes/vélocités, les placements, les voix des chanteurs, etc
 
Je voudrais y inclure le choix d'instrument: par exemple, "piano" pour les portées voix (quand VS est déactivé), "orgue" pour l'accompagnement.  
 
Quand je cherche "Instrument" dans le manuel, les arbres cachent la forêt.    
 
Merci des tuyaux.
offline

André Baeck, belge vivant dans le Gard
bubu42
Board Master
*****





   


Gender: male
Posts: 9060
Re: Définir l'instrument d'une portée  
« Reply #1 on: Aug 18th, 2018, 11:44am »
Quote | Modify

En fait, je crois qu'il ne faut pas chercher à Instruments mais plutôt dans Notation>Staff object type>Staff Values>Miscellaneaous. On a Staff.Instrument qui doit faire l'affaire pour assigner un instrument à une portée.
Maintenant, il y a aussi les lois, mais c'est une autre histoire.
offline
Andre_B
Board Master
*****





   


Gender: male
Posts: 818
Re: Définir l'instrument d'une portée  
« Reply #2 on: Aug 18th, 2018, 2:32pm »
Quote | Modify

En effet, staff.Instrument me permet de donner à une portée l'instrument d'une autre (donner à tous l'instrument de la première, par exemple) - peut-être aller chercher ce qu'on veut dans une partition "modèle".  
 
Mais staff.Instrument.Name  me donne quelque chose comme "Portée 1", j'ai aussi eu "Secundus", mais pas "Piano" ou "Orgue"...  
 
Je devrais trouver cela dans l'instrument object type, mais je sèche...
offline

André Baeck, belge vivant dans le Gard
bubu42
Board Master
*****





   


Gender: male
Posts: 9060
Re: Définir l'instrument d'une portée  
« Reply #3 on: Aug 18th, 2018, 3:56pm »
Quote | Modify

En fait, il y a deux noms possibles, d'après ce que j'ai compris :
1- le nom de l'instrument dans la base de sons (déterminé d'après la valeur SoundID, à rechercher dans le SoundArray)
2- le nom de l'instrument donné par l'utilisateur (par exemple quand on crée un instrument dans les lois), ce qui fait qu'on peut très bien avoir un "grand orgue" (nom dans la base) qui s'appelle "pipeau" parce qu'on lui a donné ce nom dans la partition.
D'autre part, si on utilise la fonction de recherche avec Instrument.Next/Instrument.Index,  on recherche dans le tableau des instruments de la partition et pas dans la base de sons.
offline
Andre_B
Board Master
*****





   


Gender: male
Posts: 818
Re: Définir l'instrument d'une portée  
« Reply #4 on: Aug 19th, 2018, 9:09am »
Quote | Modify

on Aug 18th, 2018, 2:32pm, Andre_B wrote:
En effet, staff.Instrument me permet de donner à une portée l'instrument d'une autre (donner à tous l'instrument de la première, par exemple) - peut-être aller chercher ce qu'on veut dans une partition "modèle".  
 

Non, on ne peut pas copier (si aisément) l'instrument d'une portée d'une partition dans une autre.  
 
En mode normal (hors script), il y a une fonction "Importer Portées" (menue Portées). Je ne trouve pas l'équivalent en myrscript.
offline

André Baeck, belge vivant dans le Gard
bubu42
Board Master
*****





   


Gender: male
Posts: 9060
Re: Définir l'instrument d'une portée  
« Reply #5 on: Aug 19th, 2018, 11:39am »
Quote | Modify

Je verrais le truc un peu comme ça :
1- On charge la partition "modèle" et ensuite la partition à retoucher.
2- Le script doit pouvoir récupérer l'ID de l'instrument du modèle (pas le nom utilisateur, mais son numéro dans la base de sons)
3- Le script associe l'ID de l'instrument modèle  avec celui de la portée à retoucher
Code:

targetstaff.Instrument.SoundId=sourcestaff.instrument.SoundId

Je suppose que le point 1 est déjà réalisé, si les vélocités/volumes, placements et voix des chanteurs sont déjà faits.
offline
Andre_B
Board Master
*****





   


Gender: male
Posts: 818
Re: Définir l'instrument d'une portée  
« Reply #6 on: Aug 19th, 2018, 4:15pm »
Quote | Modify

C'est ça, Bubu - un grand merci
 
petit détail, c'est SoundID et non SoundId (mais c'était facile à rectifier).  
 
Il y a un petit problème de format, quand je mets  
 
sourcestaff.instrument.SoundID  dans une variable, puis la réinjecte dans targetstaff.instrument.SoundID j'ai apparemment un problème de format.  
 
Mais en pratique, j'ai noté que la valeur est de 0 pour "Pïano", 1600 pour "Orgue", 7200 pour "Flûte" et je peux me passer de la partition modèle.
« Last Edit: Aug 19th, 2018, 4:16pm by Andre_B » offline

André Baeck, belge vivant dans le Gard
bubu42
Board Master
*****





   


Gender: male
Posts: 9060
Re: Définir l'instrument d'une portée  
« Reply #7 on: Aug 19th, 2018, 5:49pm »
Quote | Modify

Tiens, c'est curieux. Avec le code suivant, ça copie bien de la portée 1 vers la 2 :
Code:

myscore=FrontScore()
mystaff1=myscore.FirstStaff
mystaff2=mystaff1.Next
myID=mystaff1.Instrument.SoundID
mystaff2.Instrument.SoundID=myID
offline
Andre_B
Board Master
*****





   


Gender: male
Posts: 818
Re: Définir l'instrument d'une portée  
« Reply #8 on: Aug 20th, 2018, 8:26pm »
Quote | Modify

on Aug 19th, 2018, 5:49pm, bubu42 wrote:
Tiens, c'est curieux. Avec le code suivant, ça copie bien de la portée 1 vers la 2 :

 
En effet. Sauf si le staff.Title de la portée source se termine par un "retour chariot" - ou peut-être aussi d'autres variantes syntaxiques.  
 
Ca devrait être un bug...  qui ne fut pas aisé à identifier.    
 
MERCI BUBU!
« Last Edit: Aug 20th, 2018, 8:32pm by Andre_B » offline

André Baeck, belge vivant dans le Gard
Pages: 1  Reply | Notify of replies | Print

« Previous topic | Next topic »

« Myriad Forum » Powered by YaBB 1 Gold - SP 1.1!
YaBB © 2000-2002,
Xnull. All Rights Reserved.

Top of page
Legal information Last update:  (c) Myriad