Skip to content
Snippets Groups Projects
Commit 52cc655c authored by Jean-Marie  FAVREAU's avatar Jean-Marie FAVREAU
Browse files

Ajout de quelques détails qui rendent plus facilement lisible les documents

parent 6162cbc8
No related branches found
No related tags found
No related merge requests found
......@@ -235,10 +235,12 @@ class GenerateurExercice(GammeTemperee):
result = "\\renewcommand{\\arraystretch}{1.3}"
result += "\\begin{table}[H]\n\centering\n"
result += "\\begin{tabular}{|c||c|c|}\n"
if len(partition) > 30:
result += "{\\footnotesize \n"
result += "\\begin{tabular}{|c||c|c|c|}\n"
result += "\\hline\n"
result += " & \multicolumn{2}{c|}{Codage} \\\\ \n"
result += " &\qquad\\textbf{Note}\qquad~ & \qquad\\textbf{Durée}\qquad~ \\\\ \n"
result += " & \multicolumn{2}{c|}{Codage} & Représentation \\\\ \n"
result += " &\qquad\\textbf{Note}\qquad~ & \qquad\\textbf{Durée}\qquad~ & \\textbf{Graphique} \\\\ \n"
result += "\\hline \n"
for i, note in enumerate(partition):
result += str(i + 1) + " & "
......@@ -246,20 +248,22 @@ class GenerateurExercice(GammeTemperee):
if isinstance(note[0], float):
if note[0] > 0:
result += self.frequenceToLaTeX(note[0],
self.minOctave, self.maxOctave) + "& " + self.nomDuree(note[1]) + " \\\\\n"
self.minOctave, self.maxOctave) + "& " + self.nomDuree(note[1]) + " & \\\\\n"
result += "\\hline\n"
else:
result += " & " + self.nomDuree(note[1]) + " \\\\\n"
result += " & " + self.nomDuree(note[1]) + " & \\\\\n"
result += "\\hline\n"
else:
result += " & " + ', '.join([self.frequenceToLaTeX(n) for n in note[0]]) + " & " + self.nomDuree(note[1]) + " \\\\\n"
result += " & " + ', '.join([self.frequenceToLaTeX(n) for n in note[0]]) + " & " + self.nomDuree(note[1]) + " & \\\\\n"
result += "\\hline\n"
else:
result += " & \\\\\n"
result += " & & \\\\\n"
result += "\\hline\n"
if solution:
result += "\\hline\n"
result += "\\end{tabular}\n"
if len(partition) > 30:
result += "}\n"
if solution:
result += "\\caption{Tableau des notes de la partition (solution)}\n"
else:
......@@ -289,6 +293,9 @@ class GenerateurExercice(GammeTemperee):
result += "\\end{tabular}\n"
result += "\\caption{Table des fréquences de la gamme tempérée}\n"
result += "\\end{table}\n"
if self.contientSilences(partitions):
result += "Attention, la partition peut également contenir des silences, dont on peut mesurer la longueur, comme les notes"
return result
# retourne la translation d'octave nécessaire pour jouer avec
......@@ -344,7 +351,7 @@ class GenerateurExercice(GammeTemperee):
def pointColore(self, boomwhacker, x, y, r):
result = self.couleurBoomwhackerToTikz(boomwhacker)
rayon = r * 1.2 if boomwhacker["court"] == "0" else r
rayon = r * 1.3 if boomwhacker["court"] == "0" else r
result += "\\fill[fill=tempcolor] ("+ \
str(x) + "," + str(y) + ") circle (" + str(rayon) + ");"
if "alteration" in boomwhacker:
......
......@@ -207,6 +207,10 @@ class GammeTemperee:
l = [[ [x] if isinstance(x, float) else x for x in [note[0] if not isinstance(note[0], float) else note[0] for note in partition]] for partition in partitions]
return [x for x in sum(sum(l, []), []) if x != 0]
def contientSilences(self, partitions):
l = [[ [x] if isinstance(x, float) else x for x in [note[0] if not isinstance(note[0], float) else note[0] for note in partition]] for partition in partitions]
return len([x for x in sum(sum(l, []), []) if x == 0]) != 0
# retourne la fréquence minimum utilisée dans les partitions
def minFrequence(self, partitions):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment