smoosic 1.0.12 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +1 -0
  2. package/build/smoosic.js +34 -23
  3. package/package.json +1 -1
  4. package/release/smoosic.js +34 -23
  5. package/src/application/configuration.ts +1 -1
  6. package/src/application/exports.ts +4 -3
  7. package/src/common/vex.ts +11 -0
  8. package/src/render/audio/musicCursor.ts +3 -1
  9. package/src/render/audio/samples.ts +2 -2
  10. package/src/render/sui/mapper.ts +10 -4
  11. package/src/render/sui/scoreRender.ts +5 -1
  12. package/src/render/sui/scoreViewOperations.ts +26 -0
  13. package/src/render/vex/vxMeasure.ts +1 -0
  14. package/src/smo/data/measure.ts +1 -0
  15. package/src/smo/data/noteModifiers.ts +85 -1
  16. package/src/smo/data/score.ts +10 -0
  17. package/src/smo/data/scoreModifiers.ts +11 -3
  18. package/src/smo/data/staffModifiers.ts +14 -5
  19. package/src/smo/data/systemStaff.ts +11 -0
  20. package/src/smo/xform/copypaste.ts +50 -1
  21. package/src/smo/xform/operations.ts +15 -0
  22. package/src/ui/dialogs/endings.ts +1 -1
  23. package/src/ui/dialogs/instrument.ts +11 -1
  24. package/src/ui/dialogs/preferences.ts +11 -0
  25. package/src/ui/keyBindings/default/trackerKeys.ts +1 -1
  26. package/src/ui/menus/edit.ts +79 -0
  27. package/src/ui/menus/manager.ts +3 -0
  28. package/src/ui/ribbonLayout/default/defaultRibbon.ts +12 -2
  29. package/release/library/BachCantataBMV68.json +0 -1
  30. package/release/library/BachCantataBMV682.json +0 -1
  31. package/release/library/Beethoven_AnDieFerneGeliebte.xml +0 -4271
  32. package/release/library/Dichterliebe01.xml +0 -7613
  33. package/release/library/MozartTrio.xml +0 -3498
  34. package/release/library/Mozart_AnChloe.xml +0 -3986
  35. package/release/library/Postillionlied.json +0 -1
  36. package/release/library/ScottJoplin_The_Entertainer.xml +0 -20741
  37. package/release/library/Yama2.json +0 -1
  38. package/release/library/bigband/Bilongo-Mandinga.json +0 -1
  39. package/release/library/bigband/Plena.json +0 -1
  40. package/release/library/bigband/Poinciana.json +0 -1
  41. package/release/library/bigband/child who drums.json +0 -1
  42. package/release/library/cp/Another Hairdo.mxl +0 -0
  43. package/release/library/cp/Anthropology Eb.mxl +0 -0
  44. package/release/library/cp/Au Privave No 1 Eb.mxl +0 -0
  45. package/release/library/cp/Au Privave No 2 Eb.mxl +0 -0
  46. package/release/library/cp/Back Home Blues.mxl +0 -0
  47. package/release/library/cp/Ballade.mxl +0 -0
  48. package/release/library/cp/Billies Bounce.mxl +0 -0
  49. package/release/library/cp/Bloomdido.mxl +0 -0
  50. package/release/library/cp/Blues for Alice.mxl +0 -0
  51. package/release/library/cp/Celerity Alto.mxl +0 -0
  52. package/release/library/cp/Celerity.mxl +0 -0
  53. package/release/library/cp/Cheryl F07.mxl +0 -0
  54. package/release/library/cp/Cheryl.mxl +0 -0
  55. package/release/library/cp/Confirmation Eb 09.mxl +0 -0
  56. package/release/library/cp/Cool Blues Alto1.mxl +0 -0
  57. package/release/library/cp/Dewey Square.mxl +0 -0
  58. package/release/library/cp/Donna Lee Eb.musicxml +0 -9134
  59. package/release/library/cp/Donna Lee Eb.mxl +0 -0
  60. package/release/library/cp/Ko Ko Eb.mxl +0 -0
  61. package/release/library/cp/Little Benny.mxl +0 -0
  62. package/release/library/cp/Moose the Mooche Eb.mxl +0 -0
  63. package/release/library/cp/Night in Tunisia solo.mxl +0 -0
  64. package/release/library/cp/Nows the Time No 1.mxl +0 -0
  65. package/release/library/cp/Nows the Time No 2.mxl +0 -0
  66. package/release/library/cp/Ornithology Eb.mxl +0 -0
  67. package/release/library/cp/Parkers Mood.mxl +0 -0
  68. package/release/library/cp/Passport.mxl +0 -0
  69. package/release/library/cp/Red Cross.mxl +0 -0
  70. package/release/library/cp/Scrapple from the Apple Eb.mxl +0 -0
  71. package/release/library/cp/Shaw Nuff Eb.mxl +0 -0
  72. package/release/library/cp/Shaw Nuff.mxl +0 -0
  73. package/release/library/cp/She Rote No1.mxl +0 -0
  74. package/release/library/cp/She Rote No2.mxl +0 -0
  75. package/release/library/cp/The Bird 07.mxl +0 -0
  76. package/release/library/cp/The Bird.mxl +0 -0
  77. package/release/library/cp/Warming Up A Riff.mxl +0 -0
  78. package/release/library/cp/Yardbird Suite (alto solo).mxl +0 -0
  79. package/release/library/cp/Yardbird Suite Eb Alto+Bass+Chords.mxl +0 -0
  80. package/release/library/cp/Yardbird Suite Eb.mxl +0 -0
  81. package/release/library/cp/cplist.txt +0 -40
  82. package/release/library/hymns/AdesteFideles.json +0 -1
  83. package/release/library/hymns/Heshallfeed.json +0 -1
  84. package/release/library/hymns/Hyfrydol.json +0 -1
  85. package/release/library/hymns/Lakeshore.json +0 -1
  86. package/release/library/hymns/Precious Lord.json +0 -1
  87. package/release/library/hymns/Shade.json +0 -1
  88. package/release/library/hymns/SpiritofLivingGod.json +0 -1
  89. package/release/library/hymns/SweetSpirit.json +0 -1
  90. package/release/library/hymns/We3kings.json +0 -1
  91. package/release/library/hymns/Weisse-Flaggen.json +0 -1
  92. package/release/library/hymns/WorldPeacePrayer.json +0 -1
  93. package/release/library/hymns/balm.json +0 -1
  94. package/release/library/hymns/cplist.txt +0 -9
  95. package/release/library/hymns/nearerMyGod.json +0 -1
  96. package/release/library/links/bigband.json +0 -47
  97. package/release/library/links/cptranscriptions.json +0 -365
  98. package/release/library/links/hymns.json +0 -78
  99. package/release/library/links/messiah.json +0 -33
  100. package/release/library/links/musicxml.json +0 -62
  101. package/release/library/links/piano.json +0 -59
  102. package/release/library/links/samples.json +0 -75
  103. package/release/library/links/smoLibrary.json +0 -68
  104. package/release/library/links/soprano.json +0 -51
  105. package/release/library/links/transcriptions.json +0 -32
  106. package/release/library/links/trumpet.json +0 -76
  107. package/release/library/messiah/Messiah-I-1.json +0 -1
  108. package/release/library/messiah/Messiah-I-2.json +0 -1
  109. package/release/library/miditest/keytime.mid +0 -0
  110. package/release/library/miditest/ties.mid +0 -0
  111. package/release/library/miditest/triplet.mid +0 -0
  112. package/release/library/piano/20seconds.json +0 -1
  113. package/release/library/piano/BachInvention.json +0 -1
  114. package/release/library/piano/BachWTC-3.json +0 -1
  115. package/release/library/piano/Gnossienne3-3.json +0 -1
  116. package/release/library/piano/Gymnopedie No 1 (8).json +0 -1
  117. package/release/library/piano/Joplin-Entertainer.json +0 -1
  118. package/release/library/soprano/Gesu Bambino.json +0 -1
  119. package/release/library/soprano/LaudamusTrumpetSoprano.json +0 -1
  120. package/release/library/soprano/Postillionlied.json +0 -1
  121. package/release/library/soprano/Solovey.json +0 -1
  122. package/release/library/soprano/ThereIsABalm.json +0 -1
  123. package/release/library/trumpet/2min.json +0 -1
  124. package/release/library/trumpet/BachAirOrganTpt.json +0 -1
  125. package/release/library/trumpet/BachCantataBMV68.json +0 -1
  126. package/release/library/trumpet/BeethovenOp21-old.json +0 -1
  127. package/release/library/trumpet/BeethovenOp21.json +0 -1
  128. package/release/library/trumpet/Fireworks - trumpets.json +0 -1
  129. package/release/library/trumpet/HymnFreedom.json +0 -1
  130. package/release/library/trumpet/TelemannSonata3rd.json +0 -1
  131. package/release/library/xml/Gnossienne_No._3.mxl +0 -0
  132. package/release/library/xml/M_Book_1_Part_1_The_Open_Well_Tempered_Clavier.mxl +0 -0
  133. package/release/library/xml/lg-177775783.xml +0 -8674
@@ -0,0 +1,79 @@
1
+ import { SuiMenuBase, SuiMenuParams, SuiConfiguredMenuOption, SuiConfiguredMenu } from './menu';
2
+
3
+ declare var $: any;
4
+ /**
5
+ * Stuff you can do to notes
6
+ * @category SuiMenu
7
+ */
8
+ export class SuiEditMenu extends SuiConfiguredMenu {
9
+ constructor(params: SuiMenuParams) {
10
+ super(params, 'Edit', SuiEditMenuOptions);
11
+ }
12
+ }
13
+ /**
14
+ * Copy Ctrl^C action
15
+ * @category SuiMenu
16
+ */
17
+ const copyMenuOption: SuiConfiguredMenuOption = {
18
+ handler: async (menu: SuiMenuBase) => {
19
+ await menu.view.copy();
20
+ }, display: (menu: SuiMenuBase) => true,
21
+ menuChoice: {
22
+ icon: 'icon-copy',
23
+ text: 'Copy',
24
+ value: 'copyAction'
25
+ }
26
+ }
27
+
28
+ /**
29
+ * Copy Ctrl^C action
30
+ * @category SuiMenu
31
+ */
32
+ const pasteMenuOption: SuiConfiguredMenuOption = {
33
+ handler: async (menu: SuiMenuBase) => {
34
+ await menu.view.paste();
35
+ }, display: (menu: SuiMenuBase) => true,
36
+ menuChoice: {
37
+ icon: 'icon-paste',
38
+ text: 'Paste',
39
+ value: 'pasteAction'
40
+ }
41
+ }
42
+
43
+ /**
44
+ * Copy Ctrl^C action
45
+ * @category SuiMenu
46
+ */
47
+ const pasteChordsMenuOption: SuiConfiguredMenuOption = {
48
+ handler: async (menu: SuiMenuBase) => {
49
+ await menu.view.pasteChords();
50
+ }, display: (menu: SuiMenuBase) => true,
51
+ menuChoice: {
52
+ icon: '',
53
+ text: 'Paste Chords',
54
+ value: 'pasteChordsAction'
55
+ }
56
+ }
57
+
58
+ /**
59
+ * Copy Ctrl^C action
60
+ * @category SuiMenu
61
+ */
62
+ const undoMenuOption: SuiConfiguredMenuOption = {
63
+ handler: async (menu: SuiMenuBase) => {
64
+ await menu.view.undo();
65
+ }, display: (menu: SuiMenuBase) => true,
66
+ menuChoice: {
67
+ icon: 'icon-undo',
68
+ text: 'Undo',
69
+ value: 'undoAction'
70
+ }
71
+ }
72
+
73
+ /**
74
+ * Note menu. Stuff you can do to notes.
75
+ * @category SuiMenu
76
+ */
77
+ const SuiEditMenuOptions: SuiConfiguredMenuOption[] = [
78
+ copyMenuOption, pasteMenuOption, pasteChordsMenuOption, undoMenuOption
79
+ ];
@@ -24,6 +24,7 @@ import { SuiStaffModifierMenu } from './staffModifier';
24
24
  import { SuiMeasureMenu } from './measure';
25
25
  import { SuiVoiceMenu } from './voices';
26
26
  import { SuiNoteMenu } from './note';
27
+ import { SuiEditMenu } from './edit';
27
28
  import { SuiTextMenu } from './text';
28
29
  import { SuiPartSelectionMenu } from './partSelection';
29
30
  import { SuiPartMenu } from './parts';
@@ -275,6 +276,8 @@ export class SuiMenuManager {
275
276
  this.displayMenu(new SuiLanguageMenu(params));
276
277
  } else if (action === 'SuiFileMenu') {
277
278
  this.displayMenu(new SuiFileMenu(params));
279
+ } else if (action === 'SuiEditMenu') {
280
+ this.displayMenu(new SuiEditMenu(params));
278
281
  } else if (action === 'SuiScoreMenu') {
279
282
  this.displayMenu(new SuiScoreMenu(params));
280
283
  } else if (action === 'SuiPartSelectionMenu') {
@@ -23,7 +23,7 @@ export class defaultRibbonLayout {
23
23
  }
24
24
 
25
25
  static get leftRibbonIds() {
26
- return ['helpDialog', 'languageMenu', 'fileMenu',
26
+ return ['helpDialog', 'languageMenu', 'fileMenu', 'editMenu',
27
27
  'scoreMenu', 'partMenu', 'staffModifierMenu', 'measureModal', 'voiceMenu', 'beamMenu',
28
28
  'tupletMenu', 'noteMenu', 'textMenu', 'libraryMenu',
29
29
  ];
@@ -174,11 +174,21 @@ export class defaultRibbonLayout {
174
174
  ctor: 'SuiLanguageMenu',
175
175
  group: 'scoreEdit',
176
176
  id: 'languageMenu'
177
+ }, {
178
+ leftText: 'Edit',
179
+ rightText: 'Alt-e',
180
+ hotKey: 'e',
181
+ icon: '',
182
+ classes: 'file-modify nav-link link-body-emphasis hover-text',
183
+ action: 'menu',
184
+ ctor: 'SuiEditMenu',
185
+ group: 'scoreEdit',
186
+ id: 'editMenu'
177
187
  }, {
178
188
  leftText: 'File',
179
189
  rightText: 'Alt-f',
180
190
  hotKey: 'f',
181
- icon: '',
191
+ icon: 'icon-clipboard',
182
192
  classes: 'file-modify nav-link link-body-emphasis hover-text',
183
193
  action: 'menu',
184
194
  ctor: 'SuiFileMenu',