Paramétrage en durée d'une commande perso

classic Classique list Liste threaded Arborescence
7 messages Options
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Paramétrage en durée d'une commande perso

survoje
Bonjour,

je joue de l'accordéon chromatique basses standard. Main gauche, on a les basses d'une part et les accords d'autre part qui sont déjà constitués (un bouton = un accord (majeur, mineur ou septième))

Je me fais des partitions "accordéon chromatique basses standard" avec un staff "melodie" (main droite) et "accompagnement" (main gauche):

Pour accompagnement = {basses et accords main gauche}, j'ouvre un \input "accords.ly" qui contient "basiquement" pour l'instant :

%----basses
bassC = c4
bassD = d4
bassE = e4
bassF = f4
bassG = g,4
bassA = a,4
bassB = b,4
%---accords majeurs
accC = <e g c>4
accD = <fis a d>4
accF = 4
accG = 4
%---accords mineurs
accDm = <f a d>4
accEm = <g b e>4
accAm = <c e a>4
%---accords septièmes
accGsept = 4
%---------------------

ce qui donne par exemple :
accompagnement = {\bassC \accC \accC \bassG \accG...}

Mon problème c'est que, pour l'instant,c'est à la noire et j'aurais bien voulu une astuce pour basculer en blanche, en noire pointée, en croche à la demande sans avoir toute une collection de basses et d'accords dans toutes les durées avec des noms à rallonge (bassC_noirepointee, accC_blanche, accAm_croche...)

J'aimerai paramétrer mes \bassG ou \accAm dans "accompagnement"... faire par exemple \bassC4 ou \bassA4. ou \accAm8 ... accGsept2... (j'ai fouillé, mais rien trouvé..)

Y a une ruse ou je dois me résigner à compléter mon accords.ly ? (au fond de moi j'opte pour la 1 )

Ou alors une autre piste que je n'ai pas envisagée !

Bien cordialement
Gérard

Bien le merci à vous
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Paramétrage en durée d'une commande perso

NOreply
Pas de problème, mais il faut écrire le rythme de chaque accord:

\version "2.18.2"
accC =
  #(define-music-function (parser location p) (ly:duration?)
     "Make the rhythm in Mars (the Planets) at the given pitch"
    #{ <e g c> $p #})

\new Staff {
  \accC8 \accC8  \accC4
}

% ; = )
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Paramétrage en durée d'une commande perso

NOreply
En réponse à ce message posté par survoje
Comme tu as déjà défini les accords en noires, tu peux aussi faire comme ça:
\version "2.18.2"

bassC = { <c' e' g'>4 }
{ \bassC  
\shiftDurations #1 #0
 \bassC
 \shiftDurations #2 #0
 { \bassC \bassC }
\shiftDurations #0 #1
\bassC
\shiftDurations #1 #0
\bassC
}
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Paramétrage en durée d'une commande perso

survoje
Ça me laisse sans voix !

J'ai essayé la solution 1 et j'ai fait :

bassC =
  #(define-music-function (parser location p) (ly:duration?)
     "Make the rhythm in Mars (the Planets) at the given pitch"
    #{ <c> $p #})

et

accC =
  #(define-music-function (parser location p) (ly:duration?)
     "Make the rhythm in Mars (the Planets) at the given pitch"
    #{ <e g c> $p #})

Nickel ! c'est ce que je cherchais... "\bassC4 \accC8 r8 \accC8 r8"

Merci à toi, j'ai l'impression que ce coup de main m'ouvre bien des perspectives mais là je suis encore sous l'émerveillement de la puissance de Lilypond et du savoir de la communauté !

Petite question "où trouver un manuel, un tuto, des exemples sur ces commandes ?", j'ai beau éplucher la doc Lilypond... le chapitre "syntaxe d'une substitution de fonction" ne m'en dit pas assez... Où alors j'ai raté un épisode, Lilypond utilise un langage de programmation "usuel" ?

En tout cas, bien le merci à toi, je suis content ça me simplifie la saisie :) et je vais faire des tests autour de ces fonctions !

Gérard
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Paramétrage en durée d'une commande perso

survoje
Ce message a été mis à jour le .
Je viens de trouver la doc "Scheme" chez Lilypond !

Je vais profiter de l'été pour potasser cela

Encore merci !

Gérard
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Paramétrage en durée d'une commande perso

NOreply
En réponse à ce message posté par survoje
Dans le code que je t'ai donné, la ligne  "Make the rhythm in Mars (the Planets) at the given pitch"  est inutile. J'avais oublié de la supprimer.
Un tuto sur ces commandes ici: http://lilypond.org/doc/v2.18/Documentation/extending/index
Des exemples ici: http://lsr.di.unimi.it/LSR/Search

Sur LSR, Il y a 3 exemples en rapport avec ta question:
http://lsr.di.unimi.it/LSR/Item?id=302
http://lsr.di.unimi.it/LSR/Item?id=654
http://lsr.di.unimi.it/LSR/Item?id=465
( à chaque fois, il faut cliquer sur la portée pour accèder au code)
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Paramétrage en durée d'une commande perso

survoje

Merci merci !

Je vais avoir du travail mais j'arriverai à piger !

Je m'étais posé la question sur la chaîne de caractère mais je n'avais pas (encore) osé !

Bien cordialement

Gérard


Le 18/06/2017 à 21:48, NOreply [via LilyPond French Users] a écrit :
Dans le code que je t'ai donné, la ligne  "Make the rhythm in Mars (the Planets) at the given pitch"  est inutile. J'avais oublié de la supprimer.
Un tuto sur ces commandes ici: http://lilypond.org/doc/v2.18/Documentation/extending/index
Des exemples ici: http://lsr.di.unimi.it/LSR/Search

Sur LSR, Il y a 3 exemples en rapport avec ta question:
http://lsr.di.unimi.it/LSR/Item?id=302
http://lsr.di.unimi.it/LSR/Item?id=654
http://lsr.di.unimi.it/LSR/Item?id=465
( à chaque fois, il faut cliquer sur la portée pour accèder au code)



Si vous répondez à cet email, votre message sera ajouté à la discussion ci-dessous:
http://lilypond-french-users.1298960.n2.nabble.com/Parametrage-en-duree-d-une-commande-perso-tp7584996p7585001.html
Pour vous désabonner de Paramétrage en durée d'une commande perso, cliquez ici.
NAML

Chargement...