moodExpression.ts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. import {PlacementEnum, AbstractExpression} from "./abstractExpression";
  2. export class MoodExpression extends AbstractExpression {
  3. constructor(label: string, placement: PlacementEnum, staffNumber: number) {
  4. super();
  5. this.label = label;
  6. this.placement = placement;
  7. this.staffNumber = staffNumber;
  8. this.setMoodType();
  9. }
  10. private static listMoodAffettuoso: string[] = ["affettuoso"];
  11. private static listMoodAgitato: string[] = ["agitato"];
  12. private static listMoodAppassionato: string[] = ["appassionato"];
  13. private static listMoodAnimato: string[] = ["animato", "lively"];
  14. private static listMoodBrillante: string[] = ["brillante"];
  15. private static listMoodCantabile: string[] = ["cantabile"];
  16. private static listMoodDolce: string[] = ["dolce"];
  17. private static listMoodEnergico: string[] = ["energico"];
  18. private static listMoodEroico: string[] = ["eroico"];
  19. private static listMoodEspressivo: string[] = ["espressivo"];
  20. private static listMoodFurioso: string[] = ["furioso"];
  21. private static listMoodGiocoso: string[] = ["giocoso"];
  22. private static listMoodGioioso: string[] = ["gioioso"];
  23. private static listMoodLacrimoso: string[] = ["lacrimoso"];
  24. private static listMoodGrandioso: string[] = ["grandioso"];
  25. private static listMoodGrazioso: string[] = ["grazioso"];
  26. private static listMoodLeggiero: string[] = ["leggiero"];
  27. private static listMoodMaestoso: string[] = ["maestoso"];
  28. private static listMoodMalinconico: string[] = ["malinconico"];
  29. private static listMoodMarcato: string[] = ["marcato"];
  30. private static listMoodMarziale: string[] = ["marziale"];
  31. private static listMoodMesto: string[] = ["mesto"];
  32. private static listMoodMorendo: string[] = ["morendo"];
  33. private static listMoodNobilmente: string[] = ["nobilmente"];
  34. private static listMoodPatetico: string[] = ["patetico"];
  35. private static listMoodPesante: string[] = ["pesante"];
  36. private static listMoodSautille: string[] = ["sautille"];
  37. private static listMoodSaltando: string[] = ["saltando"];
  38. private static listMoodScherzando: string[] = ["scherzando"];
  39. private static listMoodSostenuto: string[] = ["sostenuto"];
  40. private static listMoodSpiccato: string[] = ["spiccato"];
  41. private static listMoodTenerezza: string[] = ["tenerezza"];
  42. private static listMoodTranquillamente: string[] = ["tranquillamente"];
  43. private static listMoodTrionfante: string[] = ["trionfante"];
  44. private moodType: MoodEnum;
  45. private label: string;
  46. private staffNumber: number;
  47. private placement: PlacementEnum;
  48. public static isInputStringMood(inputString: string): boolean {
  49. if (inputString === undefined) {
  50. return false;
  51. }
  52. return (
  53. MoodExpression.isStringInStringList(MoodExpression.listMoodAffettuoso, inputString)
  54. || MoodExpression.isStringInStringList(MoodExpression.listMoodAgitato, inputString)
  55. || MoodExpression.isStringInStringList(MoodExpression.listMoodAnimato, inputString)
  56. || MoodExpression.isStringInStringList(MoodExpression.listMoodAppassionato, inputString)
  57. || MoodExpression.isStringInStringList(MoodExpression.listMoodBrillante, inputString)
  58. || MoodExpression.isStringInStringList(MoodExpression.listMoodCantabile, inputString)
  59. || MoodExpression.isStringInStringList(MoodExpression.listMoodDolce, inputString)
  60. || MoodExpression.isStringInStringList(MoodExpression.listMoodEnergico, inputString)
  61. || MoodExpression.isStringInStringList(MoodExpression.listMoodEroico, inputString)
  62. || MoodExpression.isStringInStringList(MoodExpression.listMoodEspressivo, inputString)
  63. || MoodExpression.isStringInStringList(MoodExpression.listMoodFurioso, inputString)
  64. || MoodExpression.isStringInStringList(MoodExpression.listMoodGiocoso, inputString)
  65. || MoodExpression.isStringInStringList(MoodExpression.listMoodGioioso, inputString)
  66. || MoodExpression.isStringInStringList(MoodExpression.listMoodGrandioso, inputString)
  67. || MoodExpression.isStringInStringList(MoodExpression.listMoodGrazioso, inputString)
  68. || MoodExpression.isStringInStringList(MoodExpression.listMoodLacrimoso, inputString)
  69. || MoodExpression.isStringInStringList(MoodExpression.listMoodLeggiero, inputString)
  70. || MoodExpression.isStringInStringList(MoodExpression.listMoodMaestoso, inputString)
  71. || MoodExpression.isStringInStringList(MoodExpression.listMoodMalinconico, inputString)
  72. || MoodExpression.isStringInStringList(MoodExpression.listMoodMarcato, inputString)
  73. || MoodExpression.isStringInStringList(MoodExpression.listMoodMarziale, inputString)
  74. || MoodExpression.isStringInStringList(MoodExpression.listMoodMesto, inputString)
  75. || MoodExpression.isStringInStringList(MoodExpression.listMoodMorendo, inputString)
  76. || MoodExpression.isStringInStringList(MoodExpression.listMoodNobilmente, inputString)
  77. || MoodExpression.isStringInStringList(MoodExpression.listMoodPatetico, inputString)
  78. || MoodExpression.isStringInStringList(MoodExpression.listMoodPesante, inputString)
  79. || MoodExpression.isStringInStringList(MoodExpression.listMoodSaltando, inputString)
  80. || MoodExpression.isStringInStringList(MoodExpression.listMoodSautille, inputString)
  81. || MoodExpression.isStringInStringList(MoodExpression.listMoodScherzando, inputString)
  82. || MoodExpression.isStringInStringList(MoodExpression.listMoodSostenuto, inputString)
  83. || MoodExpression.isStringInStringList(MoodExpression.listMoodSpiccato, inputString)
  84. || MoodExpression.isStringInStringList(MoodExpression.listMoodTenerezza, inputString)
  85. || MoodExpression.isStringInStringList(MoodExpression.listMoodTranquillamente, inputString)
  86. || MoodExpression.isStringInStringList(MoodExpression.listMoodTrionfante, inputString)
  87. );
  88. }
  89. public get Label(): string {
  90. return this.label;
  91. }
  92. public set Label(value: string) {
  93. this.label = value;
  94. }
  95. public get Mood(): MoodEnum {
  96. return this.moodType;
  97. }
  98. public set Mood(value: MoodEnum) {
  99. this.moodType = value;
  100. }
  101. public get StaffNumber(): number {
  102. return this.staffNumber;
  103. }
  104. public set StaffNumber(value: number) {
  105. this.staffNumber = value;
  106. }
  107. public get Placement(): PlacementEnum {
  108. return this.placement;
  109. }
  110. public set Placement(value: PlacementEnum) {
  111. this.placement = value;
  112. }
  113. private setMoodType(): void {
  114. if (MoodExpression.isStringInStringList(MoodExpression.listMoodAffettuoso, this.label)) {
  115. this.moodType = MoodEnum.Affettuoso;
  116. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodAgitato, this.label)) {
  117. this.moodType = MoodEnum.Agitato;
  118. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodAnimato, this.label)) {
  119. this.moodType = MoodEnum.Animato;
  120. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodAppassionato, this.label)) {
  121. this.moodType = MoodEnum.Appassionato;
  122. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodBrillante, this.label)) {
  123. this.moodType = MoodEnum.Brillante;
  124. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodCantabile, this.label)) {
  125. this.moodType = MoodEnum.Cantabile;
  126. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodDolce, this.label)) {
  127. this.moodType = MoodEnum.Dolce;
  128. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodEnergico, this.label)) {
  129. this.moodType = MoodEnum.Energico;
  130. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodEroico, this.label)) {
  131. this.moodType = MoodEnum.Eroico;
  132. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodEspressivo, this.label)) {
  133. this.moodType = MoodEnum.Espressivo;
  134. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodFurioso, this.label)) {
  135. this.moodType = MoodEnum.Furioso;
  136. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodGiocoso, this.label)) {
  137. this.moodType = MoodEnum.Giocoso;
  138. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodGioioso, this.label)) {
  139. this.moodType = MoodEnum.Gioioso;
  140. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodGrandioso, this.label)) {
  141. this.moodType = MoodEnum.Grandioso;
  142. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodGrazioso, this.label)) {
  143. this.moodType = MoodEnum.Grazioso;
  144. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodLacrimoso, this.label)) {
  145. this.moodType = MoodEnum.Lacrimoso;
  146. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodLeggiero, this.label)) {
  147. this.moodType = MoodEnum.Leggiero;
  148. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodMaestoso, this.label)) {
  149. this.moodType = MoodEnum.Maestoso;
  150. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodMalinconico, this.label)) {
  151. this.moodType = MoodEnum.Malinconico;
  152. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodMarcato, this.label)) {
  153. this.moodType = MoodEnum.Marcato;
  154. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodMarziale, this.label)) {
  155. this.moodType = MoodEnum.Marziale;
  156. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodMesto, this.label)) {
  157. this.moodType = MoodEnum.Mesto;
  158. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodMorendo, this.label)) {
  159. this.moodType = MoodEnum.Morendo;
  160. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodNobilmente, this.label)) {
  161. this.moodType = MoodEnum.Nobilmente;
  162. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodPatetico, this.label)) {
  163. this.moodType = MoodEnum.Patetico;
  164. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodPesante, this.label)) {
  165. this.moodType = MoodEnum.Pesante;
  166. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodSaltando, this.label)) {
  167. this.moodType = MoodEnum.Saltando;
  168. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodSautille, this.label)) {
  169. this.moodType = MoodEnum.Sautille;
  170. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodScherzando, this.label)) {
  171. this.moodType = MoodEnum.Scherzando;
  172. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodSostenuto, this.label)) {
  173. this.moodType = MoodEnum.Sostenuto;
  174. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodSpiccato, this.label)) {
  175. this.moodType = MoodEnum.Spiccato;
  176. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodTenerezza, this.label)) {
  177. this.moodType = MoodEnum.Tenerezza;
  178. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodTranquillamente, this.label)) {
  179. this.moodType = MoodEnum.Tranquillamente;
  180. } else if (MoodExpression.isStringInStringList(MoodExpression.listMoodTrionfante, this.label)) {
  181. this.moodType = MoodEnum.Trionfante;
  182. }
  183. }
  184. }
  185. export enum MoodEnum {
  186. Affettuoso = 0,
  187. Agitato = 1,
  188. Appassionato = 2,
  189. Animato = 3,
  190. Brillante = 4,
  191. Cantabile = 5,
  192. Dolce = 6,
  193. Energico = 7,
  194. Eroico = 8,
  195. Espressivo = 9,
  196. Furioso = 10,
  197. Giocoso = 11,
  198. Gioioso = 12,
  199. Lacrimoso = 13,
  200. Grandioso = 14,
  201. Grazioso = 15,
  202. Leggiero = 16,
  203. Maestoso = 17,
  204. Malinconico = 18,
  205. Marcato = 19,
  206. Marziale = 20,
  207. Mesto = 21,
  208. Morendo = 22,
  209. Nobilmente = 23,
  210. Patetico = 24,
  211. Pesante = 25,
  212. Sautille = 26,
  213. Saltando = 27,
  214. Scherzando = 28,
  215. Sostenuto = 29,
  216. Spiccato = 30,
  217. Tenerezza = 31,
  218. Tranquillamente = 32,
  219. Trionfante = 33,
  220. Vivace = 34
  221. }