Author |
Topic: Dimension (en hauteur) des portées. (Read 2814 times) |
|
ANdre_B
Board Master
Email
Gender:
Posts: 2847
|
|
Dimension (en hauteur) des portées.
« on: Dec 10th, 2017, 8:50pm » |
Quote | Modify
|
Quand on affiche les taquets à gauche des portées, on voit un certain nombre de traits rouges qui règlent les hauteurs relatives: de la portée par rapport à la précédente, de l'espace au-dessus et en dessous de la portée, au-dessus des paroles, etc. Peut-on introduire cela dans un script? Le réglage manuel n'est pas aisé car les lignes à saisir sont petites et parfois fort rapprochées. En plus on n'arrive jamais à mettre les mêmes valeurs pour toutes les portées du système.
|
|
offline |
André Baeck, de retour en Belgique après 12 ans passés dans le Gard. Windows 11, HA 997e (et précédents)
|
|
|
Geo
Board Master
Gender:
Posts: 2488
|
Oui, on peut. J'avais fait un schéma, que je vous joins, il vaut ce qu'il vaut, il y a quelques erreurs de nom de propriétés, je ne sais plus lesquelles, mais Myrscript vous le dira. Le truc à bien intégrer c'est qu'on part d'en haut, les abscisses positives sont vers le bas. Ca déroute un peu les matheux.
|
|
offline |
|
|
|
Geo
Board Master
Gender:
Posts: 2488
|
|
Re: Dimension (en hauteur) des portées.
« Reply #2 on: Dec 10th, 2017, 10:12pm » |
Quote | Modify
|
Application pratique : Je règle les portées 2 et +, par rapport à la première : Au départ pupitre = la première portée BaseLigne= pupitre.BaseLine Hauteur = pupitre.Height ParolesY=pupitre.LyricsYPosition reduction = 10 pupitre=pupitre.Next while pupitre ~=nil do pupitre.BaseLine =BaseLigne -reduction pupitre.LyricsYPosition =ParolesY -reduction pupitre.Height =Hauteur -reduction pupitre = pupitre.Next end -- while La variable 'reduction' a pour rôle de conserver une hauteur supérieure pour la première portée par rapport aux les autres pour pouvoir y placer les indications de tempo par exemple, qui ne sont pas sur les autres. Je passe toutes mes partitions à cette moulinette. Si ça peut être utile ...
|
|
offline |
|
|
|
Daniel Frouvelle
Board Master
WWW | Email
Gender:
Posts: 1610
|
|
Re: Dimension (en hauteur) des portées.
« Reply #3 on: Dec 10th, 2017, 11:06pm » |
Quote | Modify
|
Bonsoir Andre-B, tu peux essayer le script "Mise en pages" qui fait quelque chose comme ça...Rotation de la molette pour ajuster la valeur et clic droit pour appliquer à toutes les portées, dans les boutons "Hauteur de l'aire" et "Position". Le cas échéant même manip avec les boutons au-dessous, "Numérotation", "Paroles", "Accords", "Tablature". Amistats, Danièl.
|
« Last Edit: Dec 11th, 2017, 1:43pm by Daniel Frouvelle » |
offline |
|
|
|
ANdre_B
Board Master
Email
Gender:
Posts: 2847
|
|
Dimension (en hauteur) des portées.
« Reply #4 on: Dec 12th, 2017, 7:24pm » |
Quote | Modify
|
on Dec 10th, 2017, 9:53pm, Geo wrote:Oui, on peut. Le truc à bien intégrer c'est qu'on part d'en haut, les abscisses positives sont vers le bas. Ca déroute un peu les matheux. |
| Merci Geo, Le matheux que je suis n'a aucun problème avec les ordonnées positives vers le bas. C'est bien pour cela qu'on met des flêches du côté positif, et qu'on rappelle l'x ou l'y sur chacun des axes. Le problème ici est qu'on part d'une "origine floue, le point zéro entre le bas d'une portée et le haut de la suivante n'est pas marqué. Je mets tout cela en "musique" dans un script, en partant des intervalles individuels. Appliquer les mêmes paramètres à toutes les portées, c'est l'idéal. Mais il faut souvent abaisser un peu les paroles d'alto. Ah, si elles avait toutes fait du violon homonyme, on ppourrait utiliser la clef qui leur convient: ut 3ème ligne.
|
« Last Edit: Dec 12th, 2017, 8:12pm by ANdre_B » |
offline |
André Baeck, de retour en Belgique après 12 ans passés dans le Gard. Windows 11, HA 997e (et précédents)
|
|
|
Geo
Board Master
Gender:
Posts: 2488
|
|
Re: Dimension (en hauteur) des portées.
« Reply #5 on: Dec 15th, 2017, 9:24am » |
Quote | Modify
|
Bonjour J'en suis resté au repère orthonormé en x -y. Donc je me trompe régulièrement sur le signe et j'écris en clair dans mes script : augmenter la valeur fait monter/descendre. Vous avez raison pour les alti, il faut souvent décaler un peu. Donc on pourrait compléter le script par un test sur l'intitulé de la portée "Alto" Alto 1", etc.. C'est comme ça que mes scripts deviennent énormes. Je comprends moins votre remarque sur l'origine floue. J'ai mis un O en rouge à droite, qui est en fait le zéro du y. Il y a une origine par portée, c'est la fin (height) de la précédente. @ Danièl Ton script est impeccable pour régler une partition. C'est ce que j'ai fait au début et que je continue à faire pour une partition particulière. Par la suite j'ai essayé de standardiser mes partitions, les paramètres sont en dur dans le script. On appuie sur un bouton : les marges de document et les entêtes/pied de pages sont normalisés, les marges des mesures aussi, etc. Et on en rajoute toujours un peu chaque fois. Encore une fois, merci pour tes scripts.
|
|
offline |
|
|
|
Daniel Frouvelle
Board Master
WWW | Email
Gender:
Posts: 1610
|
|
Re: Dimension (en hauteur) des portées.
« Reply #6 on: Dec 15th, 2017, 5:39pm » |
Quote | Modify
|
Bonjour Geo Quote:Par la suite j'ai essayé de standardiser mes partitions, les paramètres sont en dur dans le script. On appuie sur un bouton : les marges de document et les entêtes/pied de pages sont normalisés, les marges des mesures aussi, etc. Et on en rajoute toujours un peu chaque fois. |
| Dans ce cas, lorsqu'une partition est au point, tu peux l'enregistrer comme modèle dans le script "Mise en pages" et appliquer ce modèle pour d'autres partitions (marges, en-têtes, etc... ainsi que les positions et styles des titres, paroles, accords, etc... de la "partition-modèle" sont copiées dans la nouvelle) on peut ainsi avoir plusieurs types de partitions pré-enregistrées. C'est le bouton tout en haut du script qui fait ça (afficher la fenêtre d'aide pour voir toutes les possibilités de cette commande) Amistats, Danièl.
|
« Last Edit: Dec 16th, 2017, 8:38pm by Daniel Frouvelle » |
offline |
|
|
|
Geo
Board Master
Gender:
Posts: 2488
|
|
Re: Dimension (en hauteur) des portées.
« Reply #7 on: Dec 15th, 2017, 10:36pm » |
Quote | Modify
|
D'accord, je regarde cette piste que je ne pratique pas. merci
|
|
offline |
|
|
|
ANdre_B
Board Master
Email
Gender:
Posts: 2847
|
|
Re: Dimension (en hauteur) des portées.
« Reply #8 on: Dec 16th, 2017, 8:25pm » |
Quote | Modify
|
on Dec 15th, 2017, 9:24am, Geo wrote: Je comprends moins votre remarque sur l'origine floue. J'ai mis un O en rouge à droite, qui est en fait le zéro du y. Il y a une origine par portée, c'est la fin (height) de la précédente. |
| Oui, bien sûr, l'origine est indiquée sur le schéma. Mais sur la partition imprimée, rien n'indique cet endroit, qui est en continuité de blanc avec le bas de la portée précédente, ou la marge du haut pour la première. Car il y a un espace entre le bas de la dernière ligne de paroles et la fin de la portée, mais il n'y a pas de taquet pour le régler. Je ne suis pas tenté de prévoir un espace en-dessous des portées. Votre schéma n'indique pas le taquet rouge marqué N (au dessus de la portée), et la doc n'en parle pas. Je comprends néanmoins que c'est la ligne sur laquelle s'écrivent les accords (variable staff. ChordYPosition). J'avance dans mon script, mais j'ai du mal à intégrer la hauteur des lignes de paroles. Staff.LyricsVerticalSize n'est pas modifiable directement, il faut y aller via LyricsSize et passer par les TextStyles. J'ai utilisé le script de Didier "Changer le style des paroles" , et regardé ce qu'il fait, mais je n'arrive pas à l'intégrer chez moi. Je vois que lorsqu'on change de police, taille, face, couleur il faut appliquer le changement à toutes les paroles qui sont déjà la. Mais j'ai toujours un retard entre le moment ou ce changement est fait et celui où LyricsVerticalSize est modifié. J'ai beau mettre des "Application.UpdateScore()", rien n'y fait. Pëut-on intyroduire une "pause" de synchronisation?
|
« Last Edit: Dec 16th, 2017, 8:31pm by ANdre_B » |
offline |
André Baeck, de retour en Belgique après 12 ans passés dans le Gard. Windows 11, HA 997e (et précédents)
|
|
|
Daniel Frouvelle
Board Master
WWW | Email
Gender:
Posts: 1610
|
|
Re: Dimension (en hauteur) des portées.
« Reply #9 on: Dec 16th, 2017, 10:38pm » |
Quote | Modify
|
Bonsoir Andre_B: Quote:Car il y a un espace entre le bas de la dernière ligne de paroles et la fin de la portée, mais il n'y a pas de taquet pour le régler. Je ne suis pas tenté de prévoir un espace en-dessous des portées. |
| Cet espace dépend de la valeur de l'aire de la portée (Staff.Height), et pas des lignes de paroles, il se peut ainsi que le bas de la dernière ligne des paroles "dépasse" cette aire et chavauche l'aire de la portée suivante. Quote:Votre schéma n'indique pas le taquet rouge marqué N (au dessus de la portée), et la doc n'en parle pas. Je comprends néanmoins que c'est la ligne sur laquelle s'écrivent les accords (variable staff. ChordYPosition). |
| Le taquet rouge marqué N correspond à la position verticale des numéros de mersure(staff.BarNumberingYPosition) Quote:J'avance dans mon script, mais j'ai du mal à intégrer la hauteur des lignes de paroles. Staff.LyricsVerticalSize n'est pas modifiable directement, il faut y aller via LyricsSize et passer par les TextStyles. |
| je fais comme ceci: (si je veux augmenter par exemple la taille de "D") a=staff.LyricsSize+D str=PurgeStringStyle(staff.LyricsText) str2=SetStringStyle(str,0,0,staff.LyricsFont,staff.LyricsFace,a) staff.LyricsText=str2 staff.LyricsSize=a Il y a également une astuce pour augmenter l'interligne entre les paroles, c'est d'ajouter au début des paroles un caractère"muet"( par exemple":")de taille supérieure aux paroles, et de couleur blanc pour le rendre invisible Il faut également prendre garde que des valeurs locales sont peut-être différentes (ex Staff.GetLocalLyricsYPosition(...)) et vont interférer avec les valeurs globales de la portée (dans ce cas Staff.LyricsYPosition(...)) Quote:Mais j'ai toujours un retard entre le moment ou ce changement est fait et celui où LyricsVerticalSize est modifié. J'ai beau mettre des "Application.UpdateScore()", rien n'y fait. Pëut-on intyroduire une "pause" de synchronisation? |
| As-tu essayé FrontScore().ComputePageSetup()? Je t'invite à approfondir le fonctionnement du script "Mise en pages" où de nombreux points à ce propos ont été développés. Amistats, Danièl.
|
« Last Edit: Dec 16th, 2017, 10:40pm by Daniel Frouvelle » |
offline |
|
|
|
Geo
Board Master
Gender:
Posts: 2488
|
|
Re: Dimension (en hauteur) des portées.
« Reply #10 on: Dec 16th, 2017, 10:46pm » |
Quote | Modify
|
Bonsoir Oui, égoïstement je n'ai mis sur ce schéma que ce que ce dont j'avais besoin, donc pas les accords. La hauteur réservée pour les paroles, est unique par ligne de paroles. J'ai cru comprendre que la hauteur était calculée sur le premier caractère de la ligne. J'utilise le script Notation/ Paroles /Changer le style ... pour mettre la même police partout, quitte à intervenir sur la taille plus tard, à la main. J'ai rencontré le même souci de manque de réaction, ce qui complique énormément les essais. Je ne suis pas certain que ce soit une question de délai. Le résultat ne se voit pas immédiatement, on se demande si la commande a un effet et lequel. Beaucoup de temps perdu donc. Je livre à votre réflexion, ces trois lignes recopiées d'un script de mise en forme : Application.UpdateScores() -- inopérant Pupitre=maPartition.FirstStaff Pupitre.TitleAlignment = -1 -- rafraichit l'affichage. Pourquoi ? J'ai renoncé à comprendre, l'important est que l'objectif soit atteint. Voilà qui va heurter votre sens de la logique. sinon on peut mettre le script en attente avec l'instruction Application.WaitDelay(...) Je l'utiliser pour faire souffler un script qui dure des dizaines de minutes.
|
|
offline |
|
|
|
ANdre_B
Board Master
Email
Gender:
Posts: 2847
|
|
Re: Dimension (en hauteur) des portées.
« Reply #11 on: Dec 20th, 2017, 9:34am » |
Quote | Modify
|
Merci à Geo et à Danièl. Je crois que j'ai compris l'ensemble et l'ai mis en forme, en prenant comme valeurs de base des espaces consécutifs, donc ne se chevauchant pas (staff.Height étant la somme, certaines valeurs étant éventuellement négatives. J'ai pris la solution de Danièl pour rafraîchir les lignes de paroles, en augmentant la taille (LyricsSize) jusqu'à ce qu'elle atteignent la hauteur (LyricsVerticalSize) souhaitée. Mais, étrangement, je dois faire chaque opération deux fois (même avec tous les forçages possibles), avant qu'un changement de taille n'induise un changement de hauteur; il doit y avoir un asynchronisme là-dessous.
|
|
offline |
André Baeck, de retour en Belgique après 12 ans passés dans le Gard. Windows 11, HA 997e (et précédents)
|
|
|
ANdre_B
Board Master
Email
Gender:
Posts: 2847
|
|
Re: Dimension (en hauteur) des portées.
« Reply #12 on: Dec 20th, 2017, 9:36am » |
Quote | Modify
|
En effet, le taquet rouge marché "N" indique la hauteur des numéros de mesures. Lorsqu'il y a des accords, un taquet rouge "C" apparaît.
|
|
offline |
André Baeck, de retour en Belgique après 12 ans passés dans le Gard. Windows 11, HA 997e (et précédents)
|
|
|
ANdre_B
Board Master
Email
Gender:
Posts: 2847
|
|
Re: Dimension (en hauteur) des portées.
« Reply #13 on: Dec 20th, 2017, 9:50am » |
Quote | Modify
|
on Dec 10th, 2017, 11:06pm, Daniel Frouvelle wrote:Bonsoir Andre-B, tu peux essayer le script "Mise en pages" qui fait quelque chose comme ça...Rotation de la molette pour ajuster la valeur et clic droit pour appliquer à toutes les portées, dans les boutons "Hauteur de l'aire" et "Position". Le cas échéant même manip avec les boutons au-dessous, "Numérotation", "Paroles", "Accords", "Tablature". Amistats, Danièl. |
| Désolé, j'ai essayé mais je n'y arrive pas. D'une part l'image est très petite et très dense, mes yeux n'aiment pas trop (et les verres progressifs, c'est pas top pour les écrans d'ordinateur), d'autre part je suis loin d'être un fan de la manivelle... (déjà que j'ai été allergique à la souris pendant de longues années...). Et je cherche à intégrer des fonctions dans mes scripts... je ne dis aucunement que celui-ci serait "mal écrit", mais il me semble à moi peu lisible. Cela me rappelle deux langages de programmation rencontrés dans ma vie professionnelle qui étaient "write only".
|
|
offline |
André Baeck, de retour en Belgique après 12 ans passés dans le Gard. Windows 11, HA 997e (et précédents)
|
|
|
|