Télécharger le zip
C'est bien ... et très intéressant (pour ceux qui gratouille )Mais ... il y a un mais ;)Remplace Les : Self.Repaint; Self.Refresh;Par : Invalidate;Il y a encore d'autres petites choses mais le plus important est :quand on clique sur les flèches rien ne change il faut cliquer sur le texte de la ListBox pour que le changement soit visible ... Et la notation international c'est bien mais les deux serait mieux A --> La etcBelle initiative ... j'y avais pensé il y a longtemps déjà mais je ne l'ai jamais fait.Bravo
Salut Francky,Ouais, y'a quelques accords que je connaissais pas... ;-)J'ai noté un comportement trrrèèès bizarre :Après avoir cliqué dans la TListBox pour faire apparaître les accords, si on clique sur le panel, les accords sont modifiés plusieurs fois, le premier étant le seul correct.Sinon, c'est pratique, en saisissant directement l'accord concerné dans la ListBox, on accède rapidement aux derniers de la liste (heureusement pour le sol).Bon, c'est pas tout ça, quand est-ce qu'on se le tape, ce boeuf ?
"Après avoir cliqué dans la TListBox pour faire apparaître les accords, si on clique sur le panel, les accords sont modifiés plusieurs fois, le premier étant le seul correct." ??Moi il me semble avoir reconnu d'autres manières d'arriver à la même note !Je ne les connais pas toutes mais j'en ai reconnu quelques-une ... Le Ré en particulier mais certaines d'entre elles je les connaissaient comme notes augmentées. D'ailleurs en parlant de cela il en manque encore des notes ...puisque tu les retrouves tout le long du manche.L'ajout du nom des cordes (Mi, La, Ré, Sol, Si, Mi) et les numéros des doigtsdans les cercle de positions serait un plus pour les débutants.Ainsi que, j'y reviens, le nom des notes ;-)Ah aussi je me demandais si un ComboBox ne serait pas mieux qu'une ListBox ... Cela permettrait d'utiliser le clavier pour accéder au différentes notes. Exemple : pour acceder au Ré tu appuies juste sur "D"Pour le reste il y a la DropDownList pour un accès rapide avec la souris ou les flèches du clavier sans pour autant afficher chaque note au passage !!!Ce qui par la même règlerait le "problème" du clique obligatoire pour afficher la tablature.Parce que là c'est même contraignant, pour une note en plein milieu il faut faire défiler au risque de passer à côté dans un premier temps.Ok pour le b½uf ! ;-)
unit Agreements;interfaceuses Windows, Messages, SysUtils, Classes, Controls, ExtCtrls, StdCtrls, Graphics, dialogs;Type TAgreement = record Name : string; Param : Array[0..5] of shortint; end;Const ListAgreement: Array [0..902] Of TAgreement=( (Name :'AMaj'; Param:(0,0,2,2,2,0)), (Name :'AMaj'; Param:(0,4,-1,2,5,0)), (Name :'AMaj'; Param:(5,7,7,6,5,5)), (Name :'AMaj'; Param:(-1,0,2,2,2,0)), (Name :'AMaj'; Param:(-1,4,7,-1,-1,5)), (Name :'A#5'; Param:(-1,0,3,2,2,1)), (Name :'A#5'; Param:(-1,0,-1,2,2,1)), (Name :'A/Ab'; Param:(-1,0,2,1,2,0)), (Name :'A/B'; Param:(0,0,2,4,2,0)), (Name :'A/B'; Param:(-1,0,7,6,0,0)), (Name :'A/D'; Param:(-1,0,0,2,2,0)), (Name :'A/D'; Param:(-1,-1,0,2,2,0)), (Name :'A/D'; Param:(-1,-1,0,6,5,5)), (Name :'A/D'; Param:(-1,-1,0,9,10,9)), (Name :'A/G'; Param:(3,-1,2,2,2,0)), (Name :'A/G'; Param:(-1,0,2,0,2,0)), (Name :'A/G'; Param:(-1,0,2,2,2,3)), (Name :'A/Gb'; Param:(0,0,2,2,2,2)), (Name :'A/Gb'; Param:(0,-1,4,2,2,0)), (Name :'A/Gb'; Param:(2,-1,2,2,2,0)), (Name :'A/Gb'; Param:(-1,0,4,2,2,0)), (Name :'A/Gb'; Param:(-1,-1,2,2,2,2)), (Name :'A5'; Param:(5,7,7,-1,-1,5)), (Name :'A5'; Param:(-1,0,2,2,-1,0)), (Name :'A5'; Param:(5,7,7,-1,-1,0)), (Name :'A6'; Param:(0,0,2,2,2,2)), (Name :'A6'; Param:(0,-1,4,2,2,0)), (Name :'A6'; Param:(2,-1,2,2,2,0)), (Name :'A6'; Param:(-1,0,4,2,2,0)), (Name :'A6'; Param:(-1,-1,2,2,2,2)), (Name :'A6/7'; Param:(0,0,2,0,2,2)), (Name :'A6/7sus4'; Param:(5,5,4,0,3,0)), (Name :'A6/7sus4'; Param:(-1,0,2,0,3,2)), (Name :'A7'; Param:(3,-1,2,2,2,0)), (Name :'A7'; Param:(-1,0,2,0,2,0)), (Name :'A7'; Param:(-1,0,2,2,2,3)), (Name :'A7(#5)'; Param:(1,0,3,0,2,1)), (Name :'A7/add11'; Param:(-1,0,0,0,2,0)), (Name :'A7sus4'; Param:(-1,0,2,0,3,0)), (Name :'A7sus4'; Param:(-1,0,2,0,3,3)), (Name :'A7sus4'; Param:(-1,0,2,2,3,3)), (Name :'A7sus4'; Param:(5,-1,0,0,3,0)), (Name :'A7sus4'; Param:(-1,0,0,0,-1,0)), (Name :'Aadd9'; Param:(0,0,2,4,2,0)), (Name :'Aadd9'; Param:(-1,0,7,6,0,0)), (Name :'Aaug/D'; Param:(-1,-1,0,2,2,1)), (Name :'Aaug/G'; Param:(1,0,3,0,2,1)), (Name :'Ab'; Param:(4,6,6,5,4,4)), (Name :'Ab#5'; Param:(-1,3,2,1,1,0)), (Name :'Ab/A'; Param:(-1,-1,1,2,1,4)), (Name :'Ab/F'; Param:(-1,8,10,8,9,8)), (Name :'Ab/F'; Param:(-1,-1,1,1,1,1)), (Name :'Ab/Gb'; Param:(-1,-1,1,1,1,2)), (Name :'Ab/Gb'; Param:(-1,-1,4,5,4,4)), (Name :'Ab5'; Param:(4,6,6,-1,-1,4)), (Name :'Ab6'; Param:(-1,8,10,8,9,8)), (Name :'Ab6'; Param:(-1,-1,1,1,1,1)), (Name :'Ab7'; Param:(-1,-1,1,1,1,2)), (Name :'Ab7'; Param:(-1,-1,4,5,4,4)), (Name :'Abdim/E'; Param:(0,2,0,1,0,0)), (Name :'Abdim/E'; Param:(0,2,2,1,3,0)), (Name :'Abdim/E'; Param:(-1,2,0,1,3,0)), (Name :'Abdim/E'; Param:(-1,-1,0,1,0,0)), (Name :'Abdim/Eb'; Param:(-1,-1,0,4,4,4)), (Name :'Abdim/F'; Param:(-1,2,0,1,0,1)), (Name :'Abdim/F'; Param:(-1,-1,0,1,0,1)), (Name :'Abdim/F'; Param:(-1,-1,3,4,3,4)), (Name :'Abdim7'; Param:(-1,2,0,1,0,1)), (Name :'Abdim7'; Param:(-1,-1,0,1,0,1)), (Name :'Abdim7'; Param:(-1,-1,3,4,3,4)), (Name :'Abm'; Param:(-1,-1,6,4,4,4)), (Name :'Abm/D'; Param:(-1,-1,0,4,4,4)), (Name :'Abm/E'; Param:(0,2,1,1,0,0)), (Name :'Abm/E'; Param:(0,-1,6,4,4,0)), (Name :'Abm/E'; Param:(-1,-1,1,1,0,0)), (Name :'Abm/Gb'; Param:(-1,-1,4,4,4,4)), (Name :'Abm7'; Param:(-1,-1,4,4,4,4)), (Name :'Absus4'; Param:(-1,-1,6,6,4,4)), (Name :'Absus2/F'; Param:(-1,1,3,1,4,1)), (Name :'Adim/Ab'; Param:(-1,-1,1,2,1,4)), (Name :'Adim/E'; Param:(0,3,-1,2,4,0)), (Name :'Adim/F'; Param:(-1,-1,1,2,1,1)), (Name :'Adim/F'; Param:(-1,-1,3,5,4,5)), (Name :'Adim/G'; Param:(-1,-1,1,2,1,3)), (Name :'Adim/Gb'; Param:(-1,-1,1,2,1,2)), (Name :'Adim7'; Param:(-1,-1,1,2,1,2)), (Name :'Am'; Param:(-1,0,2,2,1,0)), (Name :'Am'; Param:(-1,0,7,5,5,5)), (Name :'Am'; Param:(-1,3,2,2,1,0)), (Name :'Am'; Param:(8,12,-1,-1,-1,0)), (Name :'Am/B'; Param:(0,0,7,5,0,0)), (Name :'Am/B'; Param:(-1,3,2,2,0,0)), (Name :'Am/D'; Param:(-1,-1,0,2,1,0)), (Name :'Am/D'; Param:(-1,-1,0,5,5,5)), (Name :'Am/Eb'; Param:(0,3,-1,2,4,0)), (Name :'Am/F'; Param:(0,0,3,2,1,0)), (Name :'Am/F'; Param:(1,3,3,2,1,0)), (Name :'Am/F'; Param:(1,-1,2,2,1,0)), (Name :'Am/F'; Param:(-1,-1,2,2,1,1)), (Name :'Am/F'; Param:(-1,-1,3,2,1,0)), (Name :'Am/G'; Param:(0,0,2,0,1,3)), (Name :'Am/G'; Param:(-1,0,2,0,1,0)), (Name :'Am/G'; Param:(-1,0,2,2,1,3)), (Name :'Am/G'; Param:(-1,0,5,5,5,8)), (Name :'Am/Gb'; Param:(-1,0,2,2,1,2)), (Name :'Am/Gb'; Param:(-1,-1,2,2,1,2)), (Name :'Am6'; Param:(-1,0,2,2,1,2)), (Name :'Am6'; Param:(-1,-1,2,2,1,2)), (Name :'Am7'; Param:(0,0,2,0,1,3)), (Name :'Am7'; Param:(-1,0,2,0,1,0)), (Name :'Am7'; Param:(-1,0,2,2,1,3)), (Name :'Am7'; Param:(-1,0,5,5,5,8)), (Name :'Am7(b5)'; Param:(-1,-1,1,2,1,3)), (Name :'Am7/add11'; Param:(-1,5,7,5,8,0)), (Name :'Amaj7'; Param:(-1,0,2,1,2,0)), (Name :'Amin/maj9'; Param:(-1,0,6,5,5,7)), (Name :'Asus4'; Param:(0,0,2,2,3,0)), (Name :'Asus4'; Param:(-1,0,2,2,3,0)), (Name :'Asus4'; Param:(5,5,7,7,-1,0)), (Name :'Asus4'; Param:(-1,0,0,2,3,0)), (Name :'Asus2'; Param:(0,0,2,2,0,0)), (Name :'Asus2'; Param:(0,0,2,4,0,0)), (Name :'Asus2'; Param:(0,2,2,2,0,0)), (Name :'Asus2'; Param:(-1,0,2,2,0,0)), (Name :'Asus2'; Param:(-1,-1,2,2,0,0)), (Name :'Asus2/Ab'; Param:(-1,0,2,1,0,0)), (Name :'Asus2/C'; Param:(0,0,7,5,0,0)), (Name :'Asus2/C'; Param:(-1,3,2,2,0,0)), (Name :'Asus2/D'; Param:(0,2,0,2,0,0)), (Name :'Asus2/D'; Param:(-1,2,0,2,3,0)), (Name :'Asus2/Db'; Param:(0,0,2,4,2,0)), (Name :'Asus2/Db'; Param:(-1,0,7,6,0,0)), (Name :'Asus2/Eb'; Param:(-1,2,1,2,0,0)), (Name :'Asus2/F'; Param:(0,0,3,2,0,0)), (Name :'Asus2/G'; Param:(3,-1,2,2,0,0)), (Name :'Asus2/G'; Param:(-1,0,2,0,0,0)), (Name :'Asus2/G'; Param:(-1,0,5,4,5,0)), (Name :'Asus2/Gb'; Param:(-1,0,4,4,0,0)), (Name :'Asus2/Gb'; Param:(-1,2,4,2,5,2)), (Name :'Asus4/Ab'; Param:(4,-1,0,2,3,0)), (Name :'Asus4/B'; Param:(0,2,0,2,0,0)), (Name :'Asus4/Bb'; Param:(0,1,-1,2,3,0)), (Name :'Asus4/C'; Param:(-1,-1,0,2,1,0)), (Name :'Asus4/C'; Param:(-1,-1,0,5,5,5)), (Name :'Asus4/Db'; Param:(-1,0,0,2,2,0)), (Name :'Asus4/Db'; Param:(-1,-1,0,2,2,0)), (Name :'Asus4/Db'; Param:(-1,-1,0,6,5,5)), (Name :'Asus4/Db'; Param:(-1,-1,0,9,10,9)), (Name :'Asus4/F'; Param:(-1,-1,7,7,6,0)), (Name :'Asus4/G'; Param:(-1,0,2,0,3,0)), (Name :'Asus4/G'; Param:(-1,0,2,0,3,3)), (Name :'Asus4/G'; Param:(-1,0,2,2,3,3)), (Name :'Asus4/G'; Param:(-1,0,0,0,-1,0)), (Name :'Asus4/Gb'; Param:(0,0,0,2,3,2)), (Name :'Asus4/Gb'; Param:(0,0,4,2,3,0)), (Name :'Asus4/Gb'; Param:(2,-1,0,2,3,0)), (Name :'Asus4/Gb'; Param:(-1,0,2,2,3,2)), (Name :'Asus4/Gb'; Param:(-1,-1,2,2,3,2)), (Name :'Asus4/Gb'; Param:(-1,5,4,2,3,0)), (Name :'Asus4/Gb'; Param:(-1,9,7,7,-1,0)), (Name :'B'; Param:(-1,2,4,4,4,2)), (Name :'B#5'; Param:(3,2,1,0,0,3)), (Name :'B#5'; Param:(3,-1,1,0,0,3)), (Name :'B/A'; Param:(2,-1,1,2,0,2)), (Name :'B/A'; Param:(-1,0,1,2,0,2)), (Name :'B/A'; Param:(-1,2,1,2,0,2)), (Name :'B/A'; Param:(-1,2,4,2,4,2)), (Name :'B/Ab'; Param:(-1,-1,4,4,4,4)), (Name :'B/E'; Param:(-1,2,2,4,4,2)), (Name :'B/E'; Param:(-1,-1,4,4,4,0)), (Name :'B5'; Param:(7,9,9,-1,-1,2)), (Name :'B5'; Param:(-1,2,4,4,-1,2)), (Name :'B6'; Param:(-1,-1,4,4,4,4)), (Name :'B7'; Param:(2,-1,1,2,0,2)), (Name :'B7'; Param:(-1,0,1,2,0,2)), (Name :'B7'; Param:(-1,2,1,2,0,2)), (Name :'B7'; Param:(-1,2,4,2,4,2)), (Name :'B7/add11'; Param:(0,0,4,4,4,0)), (Name :'B7/add11'; Param:(0,2,1,2,0,2)), (Name :'B7sus4'; Param:(-1,0,4,4,0,0)), (Name :'B7sus4'; Param:(-1,2,4,2,5,2)), (Name :'Baug/E'; Param:(3,-1,1,0,0,0)), (Name :'Baug/E'; Param:(-1,-1,1,0,0,0)), (Name :'Bb'; Param:(1,1,3,3,3,1)), (Name :'Bb'; Param:(-1,1,3,3,3,1)), (Name :'Bb'; Param:(-1,-1,0,3,3,1)), (Name :'Bb#5'; Param:(-1,-1,0,3,3,2)), (Name :'Bbb5'; Param:(-1,-1,0,3,-1,0)), (Name :'Bb/A'; Param:(1,1,3,2,3,1)), (Name :'Bb/Ab'; Param:(-1,1,3,1,3,1)), (Name :'Bb/Ab'; Param:(-1,-1,3,3,3,4)), (Name :'Bb/Db'; Param:(-1,-1,0,6,6,6)), (Name :'Bb/E'; Param:(-1,1,3,3,3,0)), (Name :'Bb/G'; Param:(3,5,3,3,3,3)), (Name :'Bb/G'; Param:(-1,-1,3,3,3,3)), (Name :'Bb5'; Param:(6,8,8,-1,-1,6)), (Name :'Bb5'; Param:(-1,1,3,3,-1,6)), (Name :'Bb6'; Param:(3,5,3,3,3,3)), (Name :'Bb6'; Param:(-1,-1,3,3,3,3)), (Name :'Bb6/add9'; Param:(-1,3,3,3,3,3)), (Name :'Bb7'; Param:(-1,1,3,1,3,1)), (Name :'Bb7'; Param:(-1,-1,3,3,3,4)), (Name :'Bb7sus4'; Param:(-1,1,3,1,4,1)), (Name :'Bbadd#11'; Param:(-1,1,3,3,3,0)), (Name :'Bbaug/E'; Param:(2,-1,4,3,3,0)), (Name :'Bbdim/C'; Param:(-1,3,-1,3,2,0)), (Name :'Bbdim/D'; Param:(-1,-1,0,3,2,0)), (Name :'Bbdim/G'; Param:(-1,1,2,0,2,0)), (Name :'Bbdim/G'; Param:(-1,-1,2,3,2,3)), (Name :'Bbdim/Gb'; Param:(2,4,2,3,2,2)), (Name :'Bbdim/Gb'; Param:(-1,-1,4,3,2,0)), (Name :'Bbdim7'; Param:(-1,1,2,0,2,0)), (Name :'Bbdim7'; Param:(-1,-1,2,3,2,3)), (Name :'Bbm'; Param:(1,1,3,3,2,1)), (Name :'Bbm/Ab'; Param:(-1,1,3,1,2,1)), (Name :'Bbm/D'; Param:(-1,-1,0,6,6,6)), (Name :'Bbm/Gb'; Param:(-1,-1,3,3,2,2)), (Name :'Bbm7'; Param:(-1,1,3,1,2,1)), (Name :'Bbmaj7'; Param:(1,1,3,2,3,1)), (Name :'Bbmaj9'; Param:(-1,3,3,3,3,5)), (Name :'Bbsus2'; Param:(-1,-1,3,3,1,1)), (Name :'Bbsus2/G'; Param:(-1,3,5,3,6,3)), (Name :'Bbsus4/Ab'; Param:(-1,1,3,1,4,1)), (Name :'Bdim/A'; Param:(1,2,3,2,3,1)), (Name :'Bdim/A'; Param:(-1,2,0,2,0,1)), (Name :'Bdim/A'; Param:(-1,-1,0,2,0,1)), (Name :'Bdim/Ab'; Param:(-1,2,0,1,0,1)), (Name :'Bdim/Ab'; Param:(-1,-1,0,1,0,1)), (Name :'Bdim/Ab'; Param:(-1,-1,3,4,3,4)), (Name :'Bdim/G'; Param:(1,-1,0,0,0,3)), (Name :'Bdim/G'; Param:(3,2,0,0,0,1)), (Name :'Bdim/G'; Param:(-1,-1,0,0,0,1)), (Name :'Bdim7'; Param:(-1,2,0,1,0,1)), (Name :'Bdim7'; Param:(-1,-1,0,1,0,1)), (Name :'Bdim7'; Param:(-1,-1,3,4,3,4)), (Name :'Bm'; Param:(2,2,4,4,3,2)), (Name :'Bm'; Param:(-1,2,4,4,3,2)), (Name :'Bm'; Param:(-1,-1,0,4,3,2)), (Name :'Bm/A'; Param:(-1,0,4,4,3,2)), (Name :'Bm/A'; Param:(-1,2,0,2,0,2)), (Name :'Bm/A'; Param:(-1,2,0,2,3,2)), (Name :'Bm/A'; Param:(-1,2,4,2,3,2)), (Name :'Bm/A'; Param:(-1,-1,0,2,0,2)), (Name :'Bm/G'; Param:(2,2,0,0,0,3)), (Name :'Bm/G'; Param:(2,2,0,0,3,3)), (Name :'Bm/G'; Param:(3,2,0,0,0,2)), (Name :'Bm/G'; Param:(-1,-1,4,4,3,3)), (Name :'Bm7'; Param:(-1,0,4,4,3,2)), (Name :'Bm7'; Param:(-1,2,0,2,0,2)), (Name :'Bm7'; Param:(-1,2,0,2,3,2)), (Name :'Bm7'; Param:(-1,2,4,2,3,2)), (Name :'Bm7'; Param:(-1,-1,0,2,0,2)), (Name :'Bm7(b5)'; Param:(1,2,3,2,3,1)), (Name :'Bm7(b5)'; Param:(-1,2,0,2,0,1)), (Name :'Bm7(b5)'; Param:(-1,-1,0,2,0,1)), (Name :'Bm7/add11'; Param:(0,0,2,4,3,2)), (Name :'Bm7/add11'; Param:(0,2,0,2,0,2)), (Name :'Bmaj7/#11'; Param:(-1,2,3,3,4,2)), (Name :'Bsus'; Param:(7,9,9,-1,-1,0)), (Name :'Bsus'; Param:(-1,2,4,4,-1,0)), (Name :'Bsus2'; Param:(-1,4,4,4,-1,2)), (Name :'Bsus2'; Param:(-1,-1,4,4,2,2)), (Name :'Bsus2/E'; Param:(-1,4,4,4,-1,0)), (Name :'Bsus4/A'; Param:(-1,0,4,4,0,0)), (Name :'Bsus4/A'; Param:(-1,2,4,2,5,2)), (Name :'Bsus4/Ab'; Param:(0,2,2,1,0,2)), (Name :'Bsus4/Ab'; Param:(0,-1,4,1,0,0)), (Name :'Bsus4/Ab'; Param:(2,2,2,1,0,0)), (Name :'Bsus4/Db'; Param:(-1,4,4,4,-1,0)), (Name :'Bsus4/Eb'; Param:(-1,2,2,4,4,2)), (Name :'Bsus4/Eb'; Param:(-1,-1,4,4,4,0)), (Name :'Bsus4/G'; Param:(0,2,2,0,0,2)), (Name :'Bsus4/G'; Param:(0,2,4,0,0,0)), (Name :'Bsus4/G'; Param:(0,-1,4,0,0,0)), (Name :'Bsus4/G'; Param:(2,2,2,0,0,0)), (Name :'C'; Param:(0,3,2,0,1,0)), (Name :'C'; Param:(0,3,5,5,5,3)), (Name :'C'; Param:(3,3,2,0,1,0)), (Name :'C'; Param:(3,-1,2,0,1,0)), (Name :'C'; Param:(-1,3,2,0,1,0)), (Name :'C'; Param:(-1,3,5,5,5,0)), (Name :'C#5'; Param:(-1,3,2,1,1,0)), (Name :'Cb5'; Param:(-1,-1,4,5,-1,0)), (Name :'C/A'; Param:(0,0,2,0,1,3)), (Name :'C/A'; Param:(-1,0,2,0,1,0)), (Name :'C/A'; Param:(-1,0,2,2,1,3)), (Name :'C/A'; Param:(-1,0,5,5,5,8)), (Name :'C/B'; Param:(0,3,2,0,0,0)), (Name :'C/B'; Param:(-1,2,2,0,1,0)), (Name :'C/B'; Param:(-1,3,5,4,5,3)), (Name :'C/Bb'; Param:(-1,3,5,3,5,3)), (Name :'C/D'; Param:(3,-1,0,0,1,0)), (Name :'C/D'; Param:(-1,3,0,0,1,0)), (Name :'C/D'; Param:(-1,3,2,0,3,0)), (Name :'C/D'; Param:(-1,3,2,0,3,3)), (Name :'C/D'; Param:(-1,-1,0,0,1,0)), (Name :'C/D'; Param:(-1,-1,0,5,5,3)), (Name :'C/D'; Param:(-1,10,12,12,13,0)), (Name :'C/D'; Param:(-1,5,5,5,-1,0)), (Name :'C/F'; Param:(-1,3,3,0,1,0)), (Name :'C/F'; Param:(-1,-1,3,0,1,0)), (Name :'C5'; Param:(-1,3,5,5,-1,3)), (Name :'C6'; Param:(0,0,2,0,1,3)), (Name :'C6'; Param:(-1,0,2,0,1,0)), (Name :'C6'; Param:(-1,0,2,2,1,3)), (Name :'C6'; Param:(-1,0,5,5,5,8)), (Name :'C6/add9'; Param:(-1,5,7,5,8,0)), (Name :'C7'; Param:(-1,3,5,3,5,3)), (Name :'C7sus4'; Param:(-1,3,5,3,6,3)), (Name :'C9(b5)'; Param:(0,3,-1,3,3,2)), (Name :'Cadd9'; Param:(3,-1,0,0,1,0)), (Name :'Cadd9'; Param:(-1,3,0,0,1,0)), (Name :'Cadd9'; Param:(-1,3,2,0,3,0)), (Name :'Cadd9'; Param:(-1,3,2,0,3,3)), (Name :'Cadd9'; Param:(-1,-1,0,0,1,0)), (Name :'Cadd9'; Param:(-1,-1,0,5,5,3)), (Name :'Cadd9'; Param:(-1,10,12,12,13,0)), (Name :'Cadd9'; Param:(-1,3,2,0,3,0)), (Name :'Cadd9'; Param:(-1,5,5,5,-1,0)), (Name :'Cdim/A'; Param:(-1,-1,1,2,1,2)), (Name :'Cdim/Ab'; Param:(-1,-1,1,1,1,2)), (Name :'Cdim/Ab'; Param:(-1,-1,4,5,4,4)), (Name :'Cdim/D'; Param:(-1,5,4,5,4,2)), (Name :'Cdim7'; Param:(-1,-1,1,2,1,2)), (Name :'Cm'; Param:(-1,3,5,5,4,3)), (Name :'Cm'; Param:(-1,-1,5,5,4,3)), (Name :'Cm/A'; Param:(-1,-1,1,2,1,3)), (Name :'Cm/Bb'; Param:(-1,3,5,3,4,3)), (Name :'Cm6'; Param:(-1,-1,1,2,1,3)), (Name :'Cm7'; Param:(-1,3,5,3,4,3)), (Name :'Cmaj7'; Param:(0,3,2,0,0,0)), (Name :'Cmaj7'; Param:(-1,2,2,0,1,0)), (Name :'Cmaj7'; Param:(-1,3,5,4,5,3)), (Name :'Cmaj9'; Param:(-1,3,0,0,0,0)), (Name :'Csus'; Param:(-1,3,3,0,1,1)), (Name :'Csus'; Param:(-1,-1,3,0,1,1)), (Name :'Csus2'; Param:(-1,10,12,12,13,3)), (Name :'Csus2'; Param:(-1,5,5,5,-1,3)), (Name :'Csus2'; Param:(-1,3,0,0,3,3)), (Name :'Csus2'; Param:(-1,3,5,5,3,3)), (Name :'Csus2/A'; Param:(-1,5,7,5,8,3)), (Name :'Csus2/A'; Param:(-1,-1,0,2,1,3)), (Name :'Csus2/B'; Param:(3,3,0,0,0,3)), (Name :'Csus2/B'; Param:(-1,3,0,0,0,3)), (Name :'Csus2/E'; Param:(3,-1,0,0,1,0)), (Name :'Csus2/E'; Param:(-1,3,0,0,1,0)), (Name :'Csus2/E'; Param:(-1,3,2,0,3,0)), (Name :'Csus2/E'; Param:(-1,3,2,0,3,3)), (Name :'Csus2/E'; Param:(-1,-1,0,0,1,0)), (Name :'Csus2/E'; Param:(-1,-1,0,5,5,3)), (Name :'Csus2/E'; Param:(-1,10,12,12,13,0)), (Name :'Csus2/E'; Param:(-1,5,5,5,-1,0)), (Name :'Csus2/F'; Param:(3,3,0,0,1,1)), (Name :'Csus4/A'; Param:(3,-1,3,2,1,1)), (Name :'Csus4/A'; Param:(-1,-1,3,2,1,3)), (Name :'Csus4/B'; Param:(-1,3,3,0,0,3)), (Name :'Csus4/Bb'; Param:(-1,3,5,3,6,3)), (Name :'Csus4/D'; Param:(3,3,0,0,1,1)), (Name :'Csus4/E'; Param:(-1,3,3,0,1,0)), (Name :'Csus4/E'; Param:(-1,-1,3,0,1,0)), (Name :'D'; Param:(-1,5,4,2,3,2)), (Name :'D'; Param:(-1,9,7,7,-1,2)), (Name :'D'; Param:(2,0,0,2,3,2)), (Name :'D'; Param:(-1,0,0,2,3,2)), (Name :'D'; Param:(-1,0,4,2,3,2)), (Name :'D'; Param:(-1,-1,0,2,3,2)), (Name :'D'; Param:(-1,-1,0,7,7,5)), (Name :'D#5'; Param:(-1,-1,0,3,3,2)), (Name :'D/B'; Param:(-1,0,4,4,3,2)), (Name :'D/B'; Param:(-1,2,0,2,0,2)), (Name :'D/B'; Param:(-1,2,0,2,3,2)), (Name :'D/B'; Param:(-1,2,4,2,3,2)), (Name :'D/B'; Param:(-1,-1,0,2,0,2)), (Name :'D/C'; Param:(-1,5,7,5,7,2)), (Name :'D/C'; Param:(-1,0,0,2,1,2)), (Name :'D/C'; Param:(-1,3,-1,2,3,2)), (Name :'D/C'; Param:(-1,5,7,5,7,5)), (Name :'D/Db'; Param:(-1,-1,0,14,14,14)), (Name :'D/Db'; Param:(-1,-1,0,2,2,2)), (Name :'D/E'; Param:(0,0,0,2,3,2)), (Name :'D/E'; Param:(0,0,4,2,3,0)), (Name :'D/E'; Param:(2,-1,0,2,3,0)), (Name :'D/E'; Param:(-1,0,2,2,3,2)), (Name :'D/E'; Param:(-1,-1,2,2,3,2)), (Name :'D/E'; Param:(-1,5,4,2,3,0)), (Name :'D/E'; Param:(-1,9,7,7,-1,0)), (Name :'D/G'; Param:(5,-1,4,0,3,5)), (Name :'D/G'; Param:(3,-1,0,2,3,2)), (Name :'D5'; Param:(5,5,7,7,-1,5)), (Name :'D5'; Param:(-1,0,0,2,3,5)), (Name :'D6'; Param:(-1,0,4,4,3,2)), (Name :'D6'; Param:(-1,2,0,2,0,2)), (Name :'D6'; Param:(-1,2,0,2,3,2)), (Name :'D6'; Param:(-1,2,4,2,3,2)), (Name :'D6'; Param:(-1,-1,0,2,0,2)), (Name :'D6/add9'; Param:(0,0,2,4,3,2)), (Name :'D6/add9'; Param:(0,2,0,2,0,2)), (Name :'D7'; Param:(-1,5,7,5,7,2)), (Name :'D7'; Param:(-1,0,0,2,1,2)), (Name :'D7'; Param:(-1,3,-1,2,3,2)), (Name :'D7'; Param:(-1,5,7,5,7,5)), (Name :'D7sus4'; Param:(-1,5,7,5,8,3)), (Name :'D7sus4'; Param:(-1,-1,0,2,1,3)), (Name :'D9'; Param:(0,0,0,2,1,2)), (Name :'D9'; Param:(2,-1,0,2,1,0)), (Name :'D9'; Param:(-1,5,7,5,7,0)), (Name :'D9(#5)'; Param:(0,3,-1,3,3,2)), (Name :'Dadd9'; Param:(0,0,0,2,3,2)), (Name :'Dadd9'; Param:(0,0,4,2,3,0)), (Name :'Dadd9'; Param:(2,-1,0,2,3,0)), (Name :'Dadd9'; Param:(-1,0,2,2,3,2)), (Name :'Dadd9'; Param:(-1,-1,2,2,3,2)), (Name :'Dadd9'; Param:(-1,5,4,2,3,0)), (Name :'Dadd9'; Param:(-1,9,7,7,-1,0)), (Name :'Daug/E'; Param:(2,-1,4,3,3,0)), (Name :'Db'; Param:(4,4,6,6,6,4)), (Name :'Db'; Param:(-1,4,3,1,2,1)), (Name :'Db'; Param:(-1,4,6,6,6,4)), (Name :'Db'; Param:(-1,-1,3,1,2,1)), (Name :'Db'; Param:(-1,-1,6,6,6,4)), (Name :'Db#5'; Param:(-1,0,3,2,2,1)), (Name :'Db#5'; Param:(-1,0,-1,2,2,1)), (Name :'Dbb5'; Param:(-1,-1,3,0,2,1)), (Name :'Db/B'; Param:(-1,4,3,4,0,4)), (Name :'Db/Bb'; Param:(-1,1,3,1,2,1)), (Name :'Db/C'; Param:(-1,3,3,1,2,1)), (Name :'Db/C'; Param:(-1,4,6,5,6,4)), (Name :'Db5'; Param:(-1,4,6,6,-1,4)), (Name :'Db6'; Param:(-1,1,3,1,2,1)), (Name :'Db7'; Param:(-1,4,3,4,0,4)), (Name :'Dbaug/D'; Param:(-1,-1,0,2,2,1)), (Name :'Dbaug/G'; Param:(1,0,3,0,2,1)), (Name :'Dbdim/A'; Param:(3,-1,2,2,2,0)), (Name :'Dbdim/A'; Param:(-1,0,2,0,2,0)), (Name :'Dbdim/A'; Param:(-1,0,2,2,2,3)), (Name :'Dbdim/B'; Param:(0,2,2,0,2,0)), (Name :'Dbdim/Bb'; Param:(-1,1,2,0,2,0)), (Name :'Dbdim/Bb'; Param:(-1,-1,2,3,2,3)), (Name :'Dbdim/D'; Param:(3,-1,0,0,2,0)), (Name :'Dbdim/D'; Param:(-1,-1,0,0,2,0)), (Name :'Dbdim7'; Param:(-1,1,2,0,2,0)), (Name :'Dbdim7'; Param:(-1,-1,2,3,2,3)), (Name :'Dbm'; Param:(-1,4,6,6,5,4)), (Name :'Dbm'; Param:(-1,-1,2,1,2,0)), (Name :'Dbm'; Param:(-1,4,6,6,-1,0)), (Name :'Dbm/A'; Param:(-1,0,2,1,2,0)), (Name :'Dbm/B'; Param:(0,2,2,1,2,0)), (Name :'Dbm/B'; Param:(-1,4,6,4,5,4)), (Name :'Dbm7'; Param:(0,2,2,1,2,0)), (Name :'Dbm7'; Param:(-1,4,6,4,5,4)), (Name :'Dbm7(b5)'; Param:(0,2,2,0,2,0)), (Name :'Dbmaj7'; Param:(-1,3,3,1,2,1)), (Name :'Dbmaj7'; Param:(-1,4,6,5,6,4)), (Name :'Dbsus2'; Param:(-1,-1,6,6,4,4)), (Name :'Dbsus4/Bb'; Param:(-1,-1,4,3,2,4)), (Name :'Ddim/B'; Param:(-1,2,0,1,0,1)), (Name :'Ddim/B'; Param:(-1,-1,0,1,0,1)), (Name :'Ddim/B'; Param:(-1,-1,3,4,3,4)), (Name :'Ddim/Bb'; Param:(-1,1,3,1,3,1)), (Name :'Ddim/Bb'; Param:(-1,-1,3,3,3,4)), (Name :'Ddim/C'; Param:(-1,-1,0,1,1,1)), (Name :'Ddim7'; Param:(-1,2,0,1,0,1)), (Name :'Ddim7'; Param:(-1,-1,0,1,0,1)), (Name :'Ddim7'; Param:(-1,-1,3,4,3,4)), (Name :'Dm'; Param:(-1,0,0,2,3,1)), (Name :'Dm/B'; Param:(1,2,3,2,3,1)), (Name :'Dm/B'; Param:(-1,2,0,2,0,1)), (Name :'Dm/B'; Param:(-1,-1,0,2,0,1)), (Name :'Dm/Bb'; Param:(1,1,3,2,3,1)), (Name :'Dm/C'; Param:(-1,5,7,5,6,5)), (Name :'Dm/C'; Param:(-1,-1,0,2,1,1)), (Name :'Dm/C'; Param:(-1,-1,0,5,6,5)), (Name :'Dm/Db'; Param:(-1,-1,0,2,2,1)), (Name :'Dm/E'; Param:(-1,-1,7,7,6,0)), (Name :'Dm6'; Param:(1,2,3,2,3,1)), (Name :'Dm6'; Param:(-1,2,0,2,0,1)), (Name :'Dm6'; Param:(-1,-1,0,2,0,1)), (Name :'Dm7'; Param:(-1,5,7,5,6,5)), (Name :'Dm7'; Param:(-1,-1,0,2,1,1)), (Name :'Dm7'; Param:(-1,-1,0,5,6,5)), (Name :'Dm7(b5)'; Param:(-1,-1,0,1,1,1)), (Name :'Dm7/add11'; Param:(3,-1,0,2,1,1)), (Name :'Dmaj7'; Param:(-1,-1,0,14,14,14)), (Name :'Dmaj7'; Param:(-1,-1,0,2,2,2)), (Name :'Dmin/maj7'; Param:(-1,-1,0,2,2,1)), (Name :'Dsus'; Param:(5,-1,0,0,3,5)), (Name :'Dsus'; Param:(3,0,0,0,3,3)), (Name :'Dsus'; Param:(-1,0,0,0,3,3)), (Name :'Dsus'; Param:(-1,-1,0,2,3,3)), (Name :'Dsus2'; Param:(5,5,7,7,-1,0)), (Name :'Dsus2'; Param:(-1,0,0,2,3,0)), (Name :'Dsus2'; Param:(0,0,2,2,3,0)), (Name :'Dsus2'; Param:(-1,0,2,2,3,0)), (Name :'Dsus2'; Param:(-1,-1,0,2,3,0)), (Name :'Dsus2/Ab'; Param:(4,-1,0,2,3,0)), (Name :'Dsus2/B'; Param:(0,2,0,2,0,0)), (Name :'Dsus2/B'; Param:(-1,2,0,2,3,0)), (Name :'Dsus2/Bb'; Param:(0,1,-1,2,3,0)), (Name :'Dsus2/C'; Param:(-1,-1,0,2,1,0)), (Name :'Dsus2/C'; Param:(-1,-1,0,5,5,5)), (Name :'Dsus2/Db'; Param:(-1,0,0,2,2,0)), (Name :'Dsus2/Db'; Param:(-1,-1,0,2,2,0)), (Name :'Dsus2/Db'; Param:(-1,-1,0,6,5,5)), (Name :'Dsus2/Db'; Param:(-1,-1,0,9,10,9)), (Name :'Dsus2/F'; Param:(-1,-1,7,7,6,0)), (Name :'Dsus2/G'; Param:(-1,0,2,0,3,0)), (Name :'Dsus2/G'; Param:(-1,0,2,0,3,3)), (Name :'Dsus2/G'; Param:(-1,0,2,2,3,3)), (Name :'Dsus2/G'; Param:(5,-1,0,0,3,0)), (Name :'Dsus2/G'; Param:(-1,0,0,0,-1,0)), (Name :'Dsus2/Gb'; Param:(0,0,0,2,3,2)), (Name :'Dsus2/Gb'; Param:(0,0,4,2,3,0)), (Name :'Dsus2/Gb'; Param:(2,-1,0,2,3,0)), (Name :'Dsus2/Gb'; Param:(-1,0,2,2,3,2)), (Name :'Dsus2/Gb'; Param:(-1,-1,2,2,3,2)), (Name :'Dsus2/Gb'; Param:(-1,5,4,2,3,0)), (Name :'Dsus2/Gb'; Param:(-1,9,7,7,-1,0)), (Name :'Dsus4/B'; Param:(3,0,0,0,0,3)), (Name :'Dsus4/B'; Param:(3,2,0,2,0,3)), (Name :'Dsus4/C'; Param:(-1,5,7,5,8,3)), (Name :'Dsus4/C'; Param:(-1,-1,0,2,1,3)), (Name :'Dsus4/E'; Param:(-1,0,2,0,3,0)), (Name :'Dsus4/E'; Param:(-1,0,2,0,3,3)), (Name :'Dsus4/E'; Param:(-1,0,2,2,3,3)), (Name :'Dsus4/E'; Param:(5,-1,0,0,3,0)), (Name :'Dsus4/E'; Param:(-1,0,0,0,-1,0)), (Name :'Dsus4/Gb'; Param:(5,-1,4,0,3,5)), (Name :'Dsus4/Gb'; Param:(3,-1,0,2,3,2)), (Name :'E';Param:(0,2,2,1,0,0)), (Name :'E';Param:(-1,7,6,4,5,0)), (Name :'E#5';Param:(-1,3,2,1,1,0)), (Name :'E/A';Param:(-1,0,2,1,0,0)), (Name :'E/D';Param:(0,2,0,1,0,0)), (Name :'E/D';Param:(0,2,2,1,3,0)), (Name :'E/D';Param:(-1,2,0,1,3,0)), (Name :'E/D';Param:(-1,-1,0,1,0,0)), (Name :'E/Db';Param:(0,2,2,1,2,0)), (Name :'E/Db';Param:(-1,4,6,4,5,4)), (Name :'E/Eb';Param:(0,2,1,1,0,0)), (Name :'E/Eb';Param:(0,-1,6,4,4,0)), (Name :'E/Eb';Param:(-1,-1,1,1,0,0)), (Name :'E/Gb';Param:(0,2,2,1,0,2)), (Name :'E/Gb';Param:(0,-1,4,1,0,0)), (Name :'E/Gb';Param:(2,2,2,1,0,0)), (Name :'E11/b9';Param:(0,0,3,4,3,4)), (Name :'E5';Param:(0,2,-1,-1,-1,0)), (Name :'E5';Param:(-1,7,9,9,-1,0)), (Name :'E6';Param:(0,2,2,1,2,0)), (Name :'E6';Param:(-1,4,6,4,5,4)), (Name :'E7';Param:(0,2,0,1,0,0)), (Name :'E7';Param:(0,2,2,1,3,0)), (Name :'E7';Param:(-1,2,0,1,3,0)), (Name :'E7';Param:(-1,-1,0,1,0,0)), (Name :'E7/add11';Param:(-1,0,0,1,0,0)), (Name :'E7/b9(b5)';Param:(0,1,3,1,3,1)), (Name :'E7sus4';Param:(0,2,0,2,0,0)), (Name :'E9';Param:(0,2,0,1,0,2)), (Name :'E9';Param:(2,2,0,1,0,0)), (Name :'Eadd9';Param:(0,2,2,1,0,2)), (Name :'Eadd9';Param:(0,-1,4,1,0,0)), (Name :'Eadd9';Param:(2,2,2,1,0,0)), (Name :'Eb';Param:(-1,1,1,3,4,3)), (Name :'Eb';Param:(-1,-1,1,3,4,3)), (Name :'Eb';Param:(-1,-1,5,3,4,3)), (Name :'Eb#5';Param:(3,2,1,0,0,3)), (Name :'Eb#5';Param:(3,-1,1,0,0,3)), (Name :'Eb/C';Param:(-1,3,5,3,4,3)), (Name :'Eb/D';Param:(-1,6,8,7,8,6)), (Name :'Eb/Db';Param:(-1,1,1,3,2,3)), (Name :'Eb/Db';Param:(-1,6,8,6,8,6)), (Name :'Eb/Db';Param:(-1,-1,1,3,2,3)), (Name :'Eb/E';Param:(-1,-1,5,3,4,0)), (Name :'Eb5';Param:(-1,6,8,8,-1,6)), (Name :'Eb6';Param:(-1,3,5,3,4,3)), (Name :'Eb7';Param:(-1,1,1,3,2,3)), (Name :'Eb7';Param:(-1,6,8,6,8,6)), (Name :'Eb7';Param:(-1,-1,1,3,2,3)), (Name :'Ebaug/E';Param:(3,-1,1,0,0,0)), (Name :'Ebaug/E';Param:(-1,-1,1,0,0,0)), (Name :'Ebdim/B';Param:(2,-1,1,2,0,2)), (Name :'Ebdim/B';Param:(-1,0,1,2,0,2)), (Name :'Ebdim/B';Param:(-1,2,1,2,0,2)), (Name :'Ebdim/B';Param:(-1,2,4,2,4,2)), (Name :'Ebdim/C';Param:(-1,-1,1,2,1,2)), (Name :'Ebdim7';Param:(-1,-1,1,2,1,2)), (Name :'Ebm';Param:(-1,-1,4,3,4,2)), (Name :'Ebm/Db';Param:(-1,-1,1,3,2,2)), (Name :'Ebm7';Param:(-1,-1,1,3,2,2)), (Name :'Ebmaj7';Param:(-1,6,8,7,8,6)), (Name :'Ebsus2/Ab';Param:(-1,1,3,1,4,1)), (Name :'Ebsus4/F';Param:(-1,1,3,1,4,1)), (Name :'Edim/C';Param:(-1,3,5,3,5,3)), (Name :'Edim/D';Param:(3,-1,0,3,3,0)), (Name :'Edim/Db';Param:(-1,1,2,0,2,0)), (Name :'Edim/Db';Param:(-1,-1,2,3,2,3)), (Name :'Edim/Eb';Param:(-1,-1,5,3,4,0)), (Name :'Edim7';Param:(-1,1,2,0,2,0)), (Name :'Edim7';Param:(-1,-1,2,3,2,3)), (Name :'Em';Param:(0,2,2,0,0,0)), (Name :'Em';Param:(3,-1,2,0,0,0)), (Name :'Em';Param:(-1,2,5,-1,-1,0)), (Name :'Em/A';Param:(3,-1,2,2,0,0)), (Name :'Em/A';Param:(-1,0,2,0,0,0)), (Name :'Em/A';Param:(-1,0,5,4,5,0)), (Name :'Em/C';Param:(0,3,2,0,0,0)), (Name :'Em/C';Param:(-1,2,2,0,1,0)), (Name :'Em/C';Param:(-1,3,5,4,5,3)), (Name :'Em/D';Param:(0,2,0,0,0,0)), (Name :'Em/D';Param:(0,2,0,0,3,0)), (Name :'Em/D';Param:(0,2,2,0,3,0)), (Name :'Em/D';Param:(0,2,2,0,3,3)), (Name :'Em/D';Param:(-1,-1,0,12,12,12)), (Name :'Em/D';Param:(-1,-1,0,9,8,7)), (Name :'Em/D';Param:(-1,-1,2,4,3,3)), (Name :'Em/D';Param:(0,-1,0,0,0,0)), (Name :'Em/D';Param:(-1,10,12,12,12,0)), (Name :'Em/Db';Param:(0,2,2,0,2,0)), (Name :'Em/Eb';Param:(3,-1,1,0,0,0)), (Name :'Em/Eb';Param:(-1,-1,1,0,0,0)), (Name :'Em/Gb';Param:(0,2,2,0,0,2)), (Name :'Em/Gb';Param:(0,2,4,0,0,0)), (Name :'Em/Gb';Param:(0,-1,4,0,0,0)), (Name :'Em/Gb';Param:(2,2,2,0,0,0)), (Name :'Em6';Param:(0,2,2,0,2,0)), (Name :'Em7';Param:(0,2,0,0,0,0)), (Name :'Em7';Param:(0,2,0,0,3,0)), (Name :'Em7';Param:(0,2,2,0,3,0)), (Name :'Em7';Param:(0,2,2,0,3,3)), (Name :'Em7';Param:(-1,-1,0,0,0,0)), (Name :'Em7';Param:(-1,-1,0,12,12,12)), (Name :'Em7';Param:(-1,-1,0,9,8,7)), (Name :'Em7';Param:(-1,-1,2,4,3,3)), (Name :'Em7';Param:(0,-1,0,0,0,0)), (Name :'Em7';Param:(-1,10,12,12,12,0)), (Name :'Em7(b5)';Param:(3,-1,0,3,3,0)), (Name :'Em7/add11';Param:(0,0,0,0,0,0)), (Name :'Em7/add11';Param:(0,0,0,0,0,3)), (Name :'Em7/add11';Param:(3,-1,0,2,0,0)), (Name :'Em9';Param:(0,2,0,0,0,2)), (Name :'Em9';Param:(0,2,0,0,3,2)), (Name :'Em9';Param:(2,2,0,0,0,0)), (Name :'Emaj7';Param:(0,2,1,1,0,0)), (Name :'Emaj7';Param:(0,-1,6,4,4,0)), (Name :'Emaj7';Param:(-1,-1,1,1,0,0)), (Name :'Emaj9';Param:(0,2,1,1,0,2)), (Name :'Emaj9';Param:(4,-1,4,4,4,0)), (Name :'Emin/maj7';Param:(3,-1,1,0,0,0)), (Name :'Emin/maj7';Param:(-1,-1,1,0,0,0)), (Name :'Emin/maj9';Param:(0,6,4,0,0,0)), (Name :'Esus';Param:(0,0,2,2,0,0)), (Name :'Esus';Param:(0,0,2,4,0,0)), (Name :'Esus';Param:(0,2,2,2,0,0)), (Name :'Esus';Param:(-1,0,2,2,0,0)), (Name :'Esus';Param:(-1,-1,2,2,0,0)), (Name :'Esus2';Param:(7,9,9,-1,-1,0)), (Name :'Esus2';Param:(-1,2,4,4,-1,0)), (Name :'Esus2/A';Param:(-1,0,4,4,0,0)), (Name :'Esus2/A';Param:(-1,2,4,2,5,2)), (Name :'Esus2/Ab';Param:(0,2,2,1,0,2)), (Name :'Esus2/Ab';Param:(0,-1,4,1,0,0)), (Name :'Esus2/Ab';Param:(2,2,2,1,0,0)), (Name :'Esus2/Db';Param:(-1,4,4,4,-1,0)), (Name :'Esus2/Eb';Param:(-1,2,2,4,4,2)), (Name :'Esus2/Eb';Param:(-1,-1,4,4,4,0)), (Name :'Esus2/G';Param:(0,2,2,0,0,2)), (Name :'Esus2/G';Param:(0,2,4,0,0,0)), (Name :'Esus2/G';Param:(0,-1,4,0,0,0)), (Name :'Esus2/G';Param:(2,2,2,0,0,0)), (Name :'Esus4/Ab';Param:(-1,0,2,1,0,0)), (Name :'Esus4/C';Param:(0,0,7,5,0,0)), (Name :'Esus4/C';Param:(-1,3,2,2,0,0)), (Name :'Esus4/D';Param:(0,2,0,2,0,0)), (Name :'Esus4/D';Param:(-1,2,0,2,3,0)), (Name :'Esus4/Db';Param:(0,0,2,4,2,0)), (Name :'Esus4/Db';Param:(-1,0,7,6,0,0)), (Name :'Esus4/Eb';Param:(-1,2,1,2,0,0)), (Name :'Esus4/F';Param:(0,0,3,2,0,0)), (Name :'Esus4/G';Param:(-1,0,2,0,0,0)), (Name :'Esus4/G';Param:(-1,0,5,4,5,0)), (Name :'Esus4/Gb';Param:(-1,0,4,4,0,0)), (Name :'Esus4/Gb';Param:(-1,2,4,2,5,2)), (Name :'F';Param:(1,3,3,2,1,1)), (Name :'F';Param:(-1,0,3,2,1,1)), (Name :'F';Param:(-1,3,3,2,1,1)), (Name :'F';Param:(-1,-1,3,2,1,1)), (Name :'F#5';Param:(-1,0,3,2,2,1)), (Name :'F#5';Param:(-1,0,-1,2,2,1)), (Name :'F/D';Param:(-1,5,7,5,6,5)), (Name :'F/D';Param:(-1,-1,0,2,1,1)), (Name :'F/D';Param:(-1,-1,0,5,6,5)), (Name :'F/E';Param:(0,0,3,2,1,0)), (Name :'F/E';Param:(1,3,3,2,1,0)), (Name :'F/E';Param:(1,-1,2,2,1,0)), (Name :'F/E';Param:(-1,-1,2,2,1,1)), (Name :'F/E';Param:(-1,-1,3,2,1,0)), (Name :'F/Eb';Param:(-1,-1,1,2,1,1)), (Name :'F/Eb';Param:(-1,-1,3,5,4,5)), (Name :'F/G';Param:(3,-1,3,2,1,1)), (Name :'F/G';Param:(-1,-1,3,2,1,3)), (Name :'F5';Param:(1,3,3,-1,-1,1)), (Name :'F5';Param:(-1,8,10,-1,-1,1)), (Name :'F6';Param:(-1,5,7,5,6,5)), (Name :'F6';Param:(-1,-1,0,2,1,1)), (Name :'F6';Param:(-1,-1,0,5,6,5)), (Name :'F6/add9';Param:(3,-1,0,2,1,1)), (Name :'F7';Param:(-1,-1,1,2,1,1)), (Name :'F7';Param:(-1,-1,3,5,4,5)), (Name :'Fadd9';Param:(3,-1,3,2,1,1)), (Name :'Fadd9';Param:(-1,-1,3,2,1,3)), (Name :'Faug/D';Param:(-1,-1,0,2,2,1)), (Name :'Faug/G';Param:(1,0,3,0,2,1)), (Name :'Fdim/D';Param:(-1,2,0,1,0,1)), (Name :'Fdim/D';Param:(-1,-1,0,1,0,1)), (Name :'Fdim/D';Param:(-1,-1,3,4,3,4)), (Name :'Fdim/Db';Param:(-1,4,3,4,0,4)), (Name :'Fdim7';Param:(-1,2,0,1,0,1)), (Name :'Fdim7';Param:(-1,-1,0,1,0,1)), (Name :'Fdim7';Param:(-1,-1,3,4,3,4)), (Name :'Fm';Param:(-1,3,3,1,1,1)), (Name :'Fm';Param:(-1,-1,3,1,1,1)), (Name :'Fm/D';Param:(-1,-1,0,1,1,1)), (Name :'Fm/Db';Param:(-1,3,3,1,2,1)), (Name :'Fm/Db';Param:(-1,4,6,5,6,4)), (Name :'Fm/Eb';Param:(-1,8,10,8,9,8)), (Name :'Fm/Eb';Param:(-1,-1,1,1,1,1)), (Name :'Fm6';Param:(-1,-1,0,1,1,1)), (Name :'Fm7';Param:(-1,8,10,8,9,8)), (Name :'Fm7';Param:(-1,-1,1,1,1,1)), (Name :'Fmaj7';Param:(0,0,3,2,1,0)), (Name :'Fmaj7';Param:(1,3,3,2,1,0)), (Name :'Fmaj7';Param:(1,-1,2,2,1,0)), (Name :'Fmaj7';Param:(-1,-1,2,2,1,1)), (Name :'Fmaj7';Param:(-1,-1,3,2,1,0)), (Name :'Fmaj7/#11';Param:(0,2,3,2,1,0)), (Name :'Fmaj7/#11';Param:(1,3,3,2,0,0)), (Name :'Fmaj9';Param:(0,0,3,0,1,3)), (Name :'Fsus';Param:(-1,-1,3,3,1,1)), (Name :'Fsus2';Param:(-1,3,3,0,1,1)), (Name :'Fsus2';Param:(-1,-1,3,0,1,1)), (Name :'Fsus2/A';Param:(3,-1,3,2,1,1)), (Name :'Fsus2/A';Param:(-1,-1,3,2,1,3)), (Name :'Fsus2/B';Param:(-1,3,3,0,0,3)), (Name :'Fsus2/Bb';Param:(-1,3,5,3,6,3)), (Name :'Fsus2/D';Param:(3,3,0,0,1,1)), (Name :'Fsus2/E';Param:(-1,3,3,0,1,0)), (Name :'Fsus2/E';Param:(-1,-1,3,0,1,0)), (Name :'Fsus4/G';Param:(-1,3,5,3,6,3)), (Name :'G';Param:(-1,10,12,12,12,10)), (Name :'G';Param:(3,2,0,0,0,3)), (Name :'G';Param:(3,2,0,0,3,3)), (Name :'G';Param:(3,5,5,4,3,3)), (Name :'G';Param:(3,-1,0,0,0,3)), (Name :'G';Param:(-1,5,5,4,3,3)), (Name :'G';Param:(-1,-1,0,4,3,3)), (Name :'G';Param:(-1,-1,0,7,8,7)), (Name :'G#5';Param:(3,2,1,0,0,3)), (Name :'G#5';Param:(3,-1,1,0,0,3)), (Name :'G/A';Param:(3,0,0,0,0,3)), (Name :'G/A';Param:(3,2,0,2,0,3)), (Name :'G/C';Param:(3,3,0,0,0,3)), (Name :'G/C';Param:(-1,3,0,0,0,3)), (Name :'G/E';Param:(0,2,0,0,0,0)), (Name :'G/E';Param:(0,2,0,0,3,0)), (Name :'G/E';Param:(0,2,2,0,3,0)), (Name :'G/E';Param:(0,2,2,0,3,3)), (Name :'G/E';Param:(-1,-1,0,12,12,12)), (Name :'G/E';Param:(-1,-1,0,9,8,7)), (Name :'G/E';Param:(-1,-1,2,4,3,3)), (Name :'G/E';Param:(0,-1,0,0,0,0)), (Name :'G/E';Param:(-1,10,12,12,12,0)), (Name :'G/F';Param:(1,-1,0,0,0,3)), (Name :'G/F';Param:(3,2,0,0,0,1)), (Name :'G/F';Param:(-1,-1,0,0,0,1)), (Name :'G/Gb';Param:(2,2,0,0,0,3)), (Name :'G/Gb';Param:(2,2,0,0,3,3)), (Name :'G/Gb';Param:(3,2,0,0,0,2)), (Name :'G/Gb';Param:(-1,-1,4,4,3,3)), (Name :'G5';Param:(3,5,5,-1,-1,3)), (Name :'G5';Param:(3,-1,0,0,3,3)), (Name :'G6';Param:(0,2,0,0,0,0)), (Name :'G6';Param:(0,2,0,0,3,0)), (Name :'G6';Param:(0,2,2,0,3,0)), (Name :'G6';Param:(0,2,2,0,3,3)), (Name :'G6';Param:(-1,-1,0,12,12,12)), (Name :'G6';Param:(-1,-1,0,9,8,7)), (Name :'G6';Param:(-1,-1,2,4,3,3)), (Name :'G6';Param:(0,-1,0,0,0,0)), (Name :'G6';Param:(-1,10,12,12,12,0)), (Name :'G6/add9';Param:(0,0,0,0,0,0)), (Name :'G6/add9';Param:(0,0,0,0,0,3)), (Name :'G6/add9';Param:(3,-1,0,2,0,0)), (Name :'G7';Param:(1,-1,0,0,0,3)), (Name :'G7';Param:(3,2,0,0,0,1)), (Name :'G7';Param:(-1,-1,0,0,0,1)), (Name :'G7/add11';Param:(-1,3,0,0,0,1)), (Name :'G7sus4';Param:(3,3,0,0,1,1)), (Name :'G9';Param:(-1,0,0,0,0,1)), (Name :'G9';Param:(-1,2,3,2,3,3)), (Name :'Gadd9';Param:(3,0,0,0,0,3)), (Name :'Gadd9';Param:(3,2,0,2,0,3)), (Name :'Gaug/E';Param:(3,-1,1,0,0,0)), (Name :'Gaug/E';Param:(-1,-1,1,0,0,0)), (Name :'Gb';Param:(2,4,4,3,2,2)), (Name :'Gb';Param:(-1,4,4,3,2,2)), (Name :'Gb';Param:(-1,-1,4,3,2,2)), (Name :'Gb#5';Param:(-1,-1,0,3,3,2)), (Name :'Gb/Ab';Param:(-1,-1,4,3,2,4)), (Name :'Gb/E';Param:(2,4,2,3,2,2)), (Name :'Gb/E';Param:(-1,-1,4,3,2,0)), (Name :'Gb/Eb';Param:(-1,-1,1,3,2,2)), (Name :'Gb/F';Param:(-1,-1,3,3,2,2)), (Name :'Gb6';Param:(-1,-1,1,3,2,2)), (Name :'Gb7';Param:(2,4,2,3,2,2)), (Name :'Gb7';Param:(-1,-1,4,3,2,0)), (Name :'Gb7(#5)';Param:(2,-1,4,3,3,0)), (Name :'Gb7/#9';Param:(-1,0,4,3,2,0)), (Name :'Gb7sus4';Param:(-1,4,4,4,-1,0)), (Name :'Gbadd9';Param:(-1,-1,4,3,2,4)), (Name :'Gbaug/E';Param:(2,-1,4,3,3,0)), (Name :'Gbdim/D';Param:(-1,5,7,5,7,2)), (Name :'Gbdim/D';Param:(-1,0,0,2,1,2)), (Name :'Gbdim/D';Param:(-1,3,-1,2,3,2)), (Name :'Gbdim/D';Param:(-1,5,7,5,7,5)), (Name :'Gbdim/E';Param:(-1,0,2,2,1,2)), (Name :'Gbdim/E';Param:(-1,-1,2,2,1,2)), (Name :'Gbdim/Eb';Param:(-1,-1,1,2,1,2)), (Name :'Gbdim7';Param:(-1,-1,1,2,1,2)), (Name :'Gbm';Param:(2,4,4,2,2,2)), (Name :'Gbm';Param:(-1,4,4,2,2,2)), (Name :'Gbm';Param:(-1,-1,4,2,2,2)), (Name :'Gbm/D';Param:(-1,-1,0,14,14,14)), (Name :'Gbm/D';Param:(-1,-1,0,2,2,2)), (Name :'Gbm/E';Param:(0,0,2,2,2,2)), (Name :'Gbm/E';Param:(0,-1,4,2,2,0)), (Name :'Gbm/E';Param:(2,-1,2,2,2,0)), (Name :'Gbm/E';Param:(-1,0,4,2,2,0)), (Name :'Gbm/E';Param:(-1,-1,2,2,2,2)), (Name :'Gbm7';Param:(0,0,2,2,2,2)), (Name :'Gbm7';Param:(0,-1,4,2,2,0)), (Name :'Gbm7';Param:(2,-1,2,2,2,0)), (Name :'Gbm7';Param:(-1,0,4,2,2,0)), (Name :'Gbm7';Param:(-1,-1,2,2,2,2)), (Name :'Gbm7(b5)';Param:(-1,0,2,2,1,2)), (Name :'Gbm7(b5)';Param:(-1,-1,2,2,1,2)), (Name :'Gbm7/b9';Param:(0,0,2,0,2,2)), (Name :'Gbmaj7';Param:(-1,-1,3,3,2,2)), (Name :'Gbsus';Param:(-1,4,4,4,2,2)), (Name :'Gbsus2/Bb';Param:(-1,-1,4,3,2,4)), (Name :'Gbsus4/E';Param:(-1,4,4,4,-1,0)), (Name :'Gdim/E';Param:(-1,1,2,0,2,0)), (Name :'Gdim/E';Param:(-1,-1,2,3,2,3)), (Name :'Gdim/Eb';Param:(-1,1,1,3,2,3)), (Name :'Gdim/Eb';Param:(-1,6,8,6,8,6)), (Name :'Gdim/Eb';Param:(-1,-1,1,3,2,3)), (Name :'Gdim7';Param:(-1,1,2,0,2,0)), (Name :'Gdim7';Param:(-1,-1,2,3,2,3)), (Name :'Gm';Param:(3,5,5,3,3,3)), (Name :'Gm';Param:(-1,-1,0,3,3,3)), (Name :'Gm/E';Param:(3,-1,0,3,3,0)), (Name :'Gm/Eb';Param:(-1,6,8,7,8,6)), (Name :'Gm/F';Param:(3,5,3,3,3,3)), (Name :'Gm/F';Param:(-1,-1,3,3,3,3)), (Name :'Gm13';Param:(0,0,3,3,3,3)), (Name :'Gm6';Param:(3,-1,0,3,3,0)), (Name :'Gm7';Param:(3,5,3,3,3,3)), (Name :'Gm7';Param:(-1,-1,3,3,3,3)), (Name :'Gm7/add11';Param:(-1,3,3,3,3,3)), (Name :'Gm9';Param:(3,5,3,3,3,5)), (Name :'Gmaj7';Param:(2,2,0,0,0,3)), (Name :'Gmaj7';Param:(2,2,0,0,3,3)), (Name :'Gmaj7';Param:(3,2,0,0,0,2)), (Name :'Gmaj7';Param:(-1,-1,4,4,3,3)), (Name :'Gsus';Param:(-1,10,12,12,13,3)), (Name :'Gsus';Param:(-1,3,0,0,3,3)), (Name :'Gsus';Param:(-1,3,5,5,3,3)), (Name :'Gsus';Param:(-1,5,5,5,3,3)), (Name :'Gsus2';Param:(5,-1,0,0,3,5)), (Name :'Gsus2';Param:(3,0,0,0,3,3)), (Name :'Gsus2';Param:(-1,0,0,0,3,3)), (Name :'Gsus2';Param:(-1,-1,0,2,3,3)), (Name :'Gsus2/B';Param:(3,0,0,0,0,3)), (Name :'Gsus2/B';Param:(3,2,0,2,0,3)), (Name :'Gsus2/C';Param:(-1,5,7,5,8,3)), (Name :'Gsus2/C';Param:(-1,-1,0,2,1,3)), (Name :'Gsus2/E';Param:(-1,0,2,0,3,0)), (Name :'Gsus2/E';Param:(-1,0,2,0,3,3)), (Name :'Gsus2/E';Param:(-1,0,2,2,3,3)), (Name :'Gsus2/E';Param:(5,0,0,0,3,0)), (Name :'Gsus2/Gb';Param:(5,-1,4,0,3,5)), (Name :'Gsus2/Gb';Param:(3,-1,0,2,3,2)), (Name :'Gsus4/A';Param:(-1,5,7,5,8,3)), (Name :'Gsus4/A';Param:(-1,-1,0,2,1,3)), (Name :'Gsus4/B';Param:(3,3,0,0,0,3)), (Name :'Gsus4/B';Param:(-1,3,0,0,0,3)), (Name :'Gsus4/E';Param:(3,-1,0,0,1,0)), (Name :'Gsus4/E';Param:(-1,3,0,0,1,0)), (Name :'Gsus4/E';Param:(-1,3,2,0,3,0)), (Name :'Gsus4/E';Param:(-1,3,2,0,3,3)), (Name :'Gsus4/E';Param:(-1,-1,0,0,1,0)), (Name :'Gsus4/E';Param:(-1,-1,0,5,5,3)), (Name :'Gsus4/E';Param:(-1,10,12,12,13,0)), (Name :'Gsus4/E';Param:(-1,5,5,5,-1,0)), (Name :'Gsus4/F';Param:(3,3,0,0,1,1)) );type TAgreements = class(TCustomControl) private fColorLsBx: TColor; fAgreeLsBx: TComboBox; Procedure SetColorLsBx(Value:TColor); Procedure Add_Name_Agreements_In_LsBx; Function SubtractorKey : Integer; protected Procedure DoAgreeLstBxChange(Sender: TObject); Procedure Resize; Override; Procedure Paint ; Override; public fAgreementSelected:Integer; constructor Create(AOwner:TComponent); override; destructor Destroy; override; published property Width default 200; property Height default 200; property BevelInner default bvLowered; property BevelOuter default bvLowered; Property ColorLsBx: TColor Read fColorLsBx Write SetColorLsBx default clWhite; property OnMouseDown; property OnClick; end;procedure Register;implementationprocedure Register;begin RegisterComponents('MUSIC_PRO', [TAgreements]);end;constructor TAgreements.Create(AOwner: TComponent);begin inherited Create(AOwner); Parent := TWinControl(AOwner); ControlStyle := ControlStyle + [csFramed, csReplicatable]; DoubleBuffered := True; Caption := ''; Width := 200; Height := 200; BevelInner := bvLowered; BevelOuter := bvLowered; fAgreementSelected := -1; fColorLsBx := ClWhite; fAgreeLsBx := TComboBox.Create(Self); fAgreeLsBx.Parent := self; fAgreeLsBx.Anchors := [akLeft, akRight, akTop]; fAgreeLsBx.Color := fColorLsBx; fAgreeLsBx.OnChange := DoAgreeLstBxChange; Resize; Add_Name_Agreements_In_LsBx;end;destructor TAgreements.Destroy;begin fAgreeLsBx.Free; inherited;end;Procedure TAgreements.SetColorLsBx(Value: TColor);begin if fColorLsBx <> Value then begin fColorLsBx := Value; fAgreeLsBx.Color := fColorLsBx; end;End;Procedure TAgreements.Add_Name_Agreements_In_LsBx;var Index : integer;begin for Index := Low(ListAgreement) to High(ListAgreement) do if fAgreeLsBx.Items.IndexOf(ListAgreement[Index].Name) = -1 then fAgreeLsBx.Items.Add(ListAgreement[Index].Name);end;Procedure TAgreements.Resize;begin inherited; If (Width and $1) = $1 Then Width := Width+1; Height := Round(Self.Width*1.2); fAgreeLsBx.SetBounds(4, 4, Width-8, 21); fAgreeLsBx.Font.Size := round(Width *0.08);end;Procedure TAgreements.DoAgreeLstBxChange(Sender: TObject);var Index: integer;begin if fAgreeLsBx.Items.Count < 0 then Exit; for Index := Low(ListAgreement) to high(ListAgreement) Do if ListAgreement[Index].Name = fAgreeLsBx.Items.Strings[fAgreeLsBx.ItemIndex] then begin fAgreementSelected := Index; Invalidate; Break; end;end;Function TAgreements.SubtractorKey: Integer;var IndexRope, SubtractorKeyValue: Integer;begin SubtractorKeyValue := 0; for IndexRope := 1 to 6 do if SubtractorKeyValue < ListAgreement[fAgreementSelected].Param[IndexRope-1] then SubtractorKeyValue := ListAgreement[fAgreementSelected].Param[IndexRope-1]; Result := SubtractorKeyValue-5;end;Procedure TAgreements.Paint;Var ColumnDim: Single; Rect: TRect; IndexLine, IndexRope, Border, LeftText, TopText, WidthText, HeightText, Subtractor, KeysSubstracted: Integer; Str: String;Begin Inherited; if fAgreementSelected = -1 then Exit; Border := Height-Width; with Canvas do begin Brush.Color := clBlack; Brush.Style := bsSolid; Pen.Color := clBlack; Pen.Width := 3; ColumnDim := Self.Width/7; for IndexLine := 1 to 6 do begin MoveTo( Round(ColumnDim), Round(ColumnDim*IndexLine+Border) ); LineTo( Round(Self.Width-ColumnDim), Round(ColumnDim*IndexLine+Border) ); MoveTo( Round(ColumnDim*IndexLine), Round(ColumnDim+Border) ); LineTo( Round(ColumnDim*IndexLine), Round(Self.Height-ColumnDim) ); end; Font.Color := clWhite; Subtractor := SubtractorKey; for IndexRope := 1 to 6 do If ListAgreement[fAgreementSelected].Param[IndexRope-1] > 0 Then begin Rect.Left := Round( ColumnDim*IndexRope )-5; Rect.Right := Round( ColumnDim*IndexRope )+5; if Subtractor > 0 then KeysSubstracted := ListAgreement[fAgreementSelected].Param[IndexRope-1]-Subtractor else KeysSubstracted := ListAgreement[fAgreementSelected].Param[IndexRope-1]; Rect.Top := Round((KeysSubstracted+0.5)*ColumnDim+Border)-5; Rect.Bottom := Rect.Top+10; Ellipse(Rect); if Subtractor > 0 then begin Font.Size := Width Div 16; WidthText := TextWidth( IntToStr(Subtractor) ); HeightText := TextHeight( IntToStr(Subtractor) ); LeftText := Round( (ColumnDim -WidthText)*0.5 ); TopText := Round( ((3*ColumnDim-HeightText)*0.5)+Border ); TextOut( LeftText, TopText, IntToStr(Subtractor+1) ); end; end else begin if ListAgreement[fAgreementSelected].Param[IndexRope-1] = 0 then Str := '0' else Str := 'X'; Font.Size := Width Div 16; WidthText := TextWidth(Str); HeightText := TextHeight(Str); LeftText := Round( ColumnDim*(IndexRope) )-WidthText Div 2; TopText := Round( 0.5*ColumnDim-(HeightText*0.5)+Border ); TextOut( LeftText, TopText, Str ); end; end;end;end.
Ok, après avoir mieux regardé, il s'agit de plusieurs manières de faire le même accord.Bon, puisque je vous dis qu'il y en a 2 ou 3 que je connais pas... ^^@Cirec : Moi aussi j'aurais préféré une ComboBox, mais on peut quand même accéder assez rapidement à l'accord voulu en saisissant la lettre correspondant dans la ListBox. Si tu saisis G, tu tombes sur le 1er des accords de sol, cad le sol majeur.
Bon il serait peut etre temps de vous accorder les mecs lol : combobox ou tlistbox ? vous voulez lequel ?
La TComboBox est plus agréable à mon avis.En même temps, c'est pas un vrai problème : il suffit de remplacer TListBox par TComboBox à 2 endroits...
Même avis que japee, la Combobox est plus appropriée pour ça surtout pour la recherche automatique lors de la saisie et pour l'evenement OnChange.
Bon je t'envois le screenshot f0xi car je sens que je vais passer la matinée à la modifier sur le site. Il y a un sérieux soucis : les checkbox dans la partie modification d'un source font des leurs.
Eh Francky Oublies les CheckBoxsil faut les cocher que si tu supprimes (le Zip ou la capture) pas si tu les remplaces !"Pour la notation francaise des accords : je suis pas sur qu'elle existe."Do Ré Mi Fa Sol La Si c'est ça la notation française ;-)
Voici les dernières modifications ... public fAgreementSelected:Integer; constructor Create(AOwner:TComponent); override; //destructor Destroy; override; // complètement inutile published ...Implementationconstructor TAgreements.Create(AOwner:TComponent);begin inherited Create(AOwner); ... ... Add_Name_Agreements_In_LsBx; fAgreeLsBx.ItemIndex := 0; // évite d'avoir le ComboBox vide fAgreementSelected := 0; // après sa créationend;{destructor TAgreements.Destroy;begin fAgreeLsBx.Free; //Ceci n'est vraiment pas utile inherited; // et du coup c'est tout le Destructeur qui devient inutile end; } // C'est TAgreements qui se charge de libérer FAgreeLsBx.
C'est maintenant quasiment parfait au niveau du fonctionnement.Moi j'aime bien qu'un accord s'affiche au démarrage, il suffit d'ajouter fAgreeLsBx.ItemIndex := 0; DoAgreeLstBxChange(nil);dans TAgreements.Add_Name_Agreements_In_LsBxÇa serait bien aussi si, quand on clique dessus, les différentes possibilités pour un accord donné défilaient en boucle plutôt que de s'arrêter sur le dernier.Mais bon, les goûts et les couleurs...
Dans le OnPaint vire le : //Inherited;ça ne sert pas à grand chose puisque tu le redessine complètement juste aprèsEn plus je trouve l'affichage plus claire ... plus propreTu peux éventuellement faire : With Inherited Canvas DoMais c'est pas utile ... enfin fait les testes ;-)
Il manque encore un trucafin ne pas pouvoir écrire dans le ComboBox mais quand même pouvoir se servir de la recherche automatique lors de la saisie Dans le Constructeur : Add_Name_Agreements_In_LsBx; fAgreeLsBx.Style := csDropDownList; // <------------ Ajoute ceci fAgreeLsBx.ItemIndex := 0; fAgreementSelected := 0;
J'ai vu vos commentaires : je ferai tout ca demain promis. Arffff si je voulais pas vous réserver la surprise d'un pseudo cubase, je vous lacherai mon TPianoGrid pour vous faire plaisir tiens :p.
Excellent Fracky , vraiment :) Je viens seulement de découvrir ta source , et waw , t'as du t'amuser comme un fou avec tes records !Et moi je vais pouvoir les réviser très facilement maintenant !Bon maintenant tu peux t'amuser à le faire avec les differents accordages, EADGBE c'est le standard ... hé c'est pour rire te suicide pas ! Ciao , Joyeuses Fêtes