UNPKG

smoosic

Version:

<sub>[Github site](https://github.com/Smoosic/smoosic) | [source documentation](https://smoosic.github.io/Smoosic/release/docs/modules.html) | [change notes](https://aarondavidnewman.github.io/Smoosic/changes.html) | [application](https://smoosic.github.i

618 lines (603 loc) 16.5 kB
// [Smoosic](https://github.com/AaronDavidNewman/Smoosic) // Copyright (c) Aaron David Newman 2021. import { ButtonDefinition } from "../../buttons/button"; import { RibbonLayout } from "../../common"; /** * @internal */ export class simpleRibbonLayout { static get ribbons(): RibbonLayout { var left = simpleRibbonLayout.leftRibbonIds; var top = simpleRibbonLayout.displayIds.concat(simpleRibbonLayout.noteButtonIds).concat(simpleRibbonLayout.navigateButtonIds) .concat(simpleRibbonLayout.durationIds); return { left: left, top: top }; } static get simpleRibbonLayout(): ButtonDefinition[] { return simpleRibbonLayout.leftRibbonButtons.concat( simpleRibbonLayout.navigationButtons).concat( simpleRibbonLayout.noteRibbonButtons).concat( simpleRibbonLayout.durationRibbonButtons); } static get leftRibbonIds() { return [ 'libraryMenu', 'layoutMenu', 'tempoModal', 'timeSignatureMenu', 'keyMenu', 'staffModifierMenu', 'pianoModal']; } static get noteButtonIds() { return ['NoteButtons', 'UpNoteButton', 'DownNoteButton', 'UpOctaveButton', 'DownOctaveButton', 'ToggleRestButton', 'ToggleSlashButton', 'ToggleAccidental', 'ToggleCourtesy']; } static get navigateButtonIds() { return ['NavigationButtons', 'navLeftButton', 'navRightButton', 'navUpButton', 'navDownButton', 'moreNavButtons', 'navFastForward', 'navRewind', 'navGrowLeft', 'navGrowRight']; } static get intervalIds() { return ['CreateChordButtons', 'SecondUpButton', 'SecondDownButton', 'ThirdUpButton', 'ThirdDownButton', 'FourthUpButton', 'FourthDownButton', 'FifthUpButton', 'FifthDownButton', 'SixthUpButton', 'SixthDownButton' , 'SeventhUpButton', 'SeventhDownButton', 'OctaveUpButton', 'OctaveDownButton', 'CollapseChordButton']; } static get durationIds() { return ['DurationButtons', 'GrowDuration', 'LessDuration', 'GrowDurationDot', 'LessDurationDot', 'TripletButton', 'QuintupletButton', 'SeptupletButton', 'NoTupletButton']; } static get playerIds() { return ['playerButtons', 'playButton', 'pauseButton', 'stopButton']; } static get displayIds() { return ['quickButtons', 'refresh', 'zoomout', 'zoomin', 'playButton2', 'stopButton2']; } static get displayButtons(): ButtonDefinition[] { return [{ leftText: '', rightText: '', classes: 'icon hide', icon: 'icon-zoomplus', action: 'collapseParent', ctor: 'CollapseRibbonControl', group: 'quickButtons', id: 'quickButtons' }, { leftText: '', rightText: '', classes: 'icon refresh', icon: 'icon-refresh', action: 'collapseChild', ctor: 'DisplaySettings', group: 'quickButtons', id: 'refresh' }, { leftText: '', rightText: '', classes: 'icon refresh', icon: 'icon-zoomplus', action: 'collapseChild', ctor: 'DisplaySettings', group: 'quickButtons', id: 'zoomout' }, { leftText: '', rightText: '', classes: 'icon refresh', icon: 'icon-zoomminus', action: 'collapseChild', ctor: 'DisplaySettings', group: 'quickButtons', id: 'zoomin' }, { leftText: '', rightText: '', classes: 'icon play', icon: 'icon-play3', action: 'collapseChild', ctor: 'DisplaySettings', group: 'quickButtons', id: 'playButton2' }, { leftText: '', rightText: '', classes: 'icon stop2', icon: 'icon-stop2', action: 'collapseChild', ctor: 'DisplaySettings', group: 'quickButtons', id: 'stopButton2' } ]; } static get durationRibbonButtons(): ButtonDefinition[] { return [{ leftText: '', rightText: '', classes: 'icon collapseParent duration', icon: 'icon-duration', action: 'collapseParent', ctor: 'CollapseRibbonControl', group: 'duration', id: 'DurationButtons' }, { leftText: '', rightText: '.', icon: 'icon-duration_grow', classes: 'collapsed duration', action: 'collapseChild', ctor: 'DurationButtons', group: 'duration', id: 'GrowDuration' }, { leftText: '', rightText: ',', icon: 'icon-duration_less', classes: 'collapsed duration', action: 'collapseChild', ctor: 'DurationButtons', group: 'duration', id: 'LessDuration' }, { leftText: '', rightText: '>', icon: 'icon-duration_grow_dot', classes: 'collapsed duration', action: 'collapseChild', ctor: 'DurationButtons', group: 'duration', id: 'GrowDurationDot' }, { leftText: '', rightText: '<', icon: 'icon-duration_less_dot', classes: 'collapsed duration', action: 'collapseChild', ctor: 'DurationButtons', group: 'duration', id: 'LessDurationDot' }, { leftText: '', rightText: 'Ctrl-3', icon: 'icon-triplet', classes: 'collapsed duration tuplet', action: 'collapseChild', ctor: 'DurationButtons', group: 'duration', id: 'TripletButton' }, { leftText: '', rightText: 'Ctrl-5', icon: 'icon-quint', classes: 'collapsed duration tuplet', action: 'collapseChild', ctor: 'DurationButtons', group: 'duration', id: 'QuintupletButton' }, { leftText: '', rightText: 'Ctrl-7', icon: 'icon-septuplet', classes: 'collapsed duration tuplet', action: 'collapseChild', ctor: 'DurationButtons', group: 'duration', id: 'SeptupletButton' }, { leftText: '', rightText: 'Ctrl-0', icon: 'icon-no_tuplet', classes: 'collapsed duration tuplet', action: 'collapseChild', ctor: 'DurationButtons', group: 'duration', id: 'NoTupletButton' } ]; } static get noteRibbonButtons(): ButtonDefinition[] { return [{ leftText: '', rightText: '', classes: 'icon collapseParent', icon: 'icon-note', action: 'collapseParent', ctor: 'CollapseRibbonControl', group: 'notes', id: 'NoteButtons' }, { leftText: 'A', rightText: 'a', icon: '', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'ANoteButton' }, { leftText: 'B', rightText: 'b', icon: '', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'BNoteButton' }, { leftText: 'C', rightText: 'c', icon: '', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'CNoteButton' }, { leftText: 'D', rightText: 'd', icon: '', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'DNoteButton' }, { leftText: 'E', rightText: 'e', icon: '', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'ENoteButton' }, { leftText: 'F', rightText: 'f', icon: '', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'FNoteButton' }, { leftText: 'G', rightText: 'g', icon: '', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'GNoteButton' }, { leftText: '', rightText: '-', icon: 'icon-sharp', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'UpNoteButton' }, { leftText: '', rightText: '=', icon: 'icon-flat', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'DownNoteButton' }, { leftText: '', rightText: 'r', icon: 'icon-rest', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'ToggleRestButton' }, { leftText: '', rightText: 'r', icon: 'icon-slash', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'ToggleSlashButton' }, { leftText: '...', rightText: '', icon: 'icon-circle-left', classes: 'collapsed expander', action: 'collapseMore', ctor: 'ExtendedCollapseParent', group: 'notes', id: 'moreNoteButtons' }, { leftText: '', rightText: 'G', icon: 'icon-grace_note', classes: 'collapsed graceIcon', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'AddGraceNote' }, { leftText: '', rightText: '', icon: 'icon-grace_slash', classes: 'collapsed graceIcon', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'SlashGraceNote' }, { leftText: '', rightText: 'alt-g', icon: 'icon-grace_remove', classes: 'collapsed graceIcon', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'RemoveGraceNote' }, { leftText: '', rightText: '', icon: 'icon-notex', classes: 'collapsed graceIcon', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'XNoteHead' }, { leftText: '', rightText: '', icon: 'icon-notehead-triangleup', classes: 'collapsed graceIcon', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'TriUpNoteHead' }, { leftText: '', rightText: '', icon: 'icon-notehead-circlex', classes: 'collapsed graceIcon', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'CircleXNoteHead' }, { leftText: '', rightText: '', icon: 'icon-notehead-diamondblack', classes: 'collapsed graceIcon', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'DiamondNoteHead' }, { leftText: '8va', rightText: 'Shift=', icon: '', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'UpOctaveButton' }, { leftText: '8vb', rightText: 'Shift-', icon: '', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'DownOctaveButton' }, { leftText: '', rightText: 'ShiftE', icon: 'icon-accident', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'ToggleAccidental' }, { leftText: '', rightText: 'ShiftF', icon: 'icon-courtesy', classes: 'collapsed', action: 'collapseChild', ctor: 'NoteButtons', group: 'notes', id: 'ToggleCourtesy' } ]; } static get playerButtons(): ButtonDefinition[] { // .icon-play3 return [{ leftText: '', rightText: '', icon: 'icon-equalizer2', classes: 'icon collapseParent player', action: 'collapseParent', ctor: 'CollapseRibbonControl', group: 'playerButtons', id: 'playerButtons' }, { leftText: '', rightText: 'p', icon: 'icon-play3', classes: 'icon collapsed player', action: 'collapseChild', ctor: 'PlayerButtons', group: 'playerButtons', id: 'playButton' }, { leftText: '', rightText: 's', icon: 'icon-stop2', classes: 'icon collapsed player', action: 'collapseChild', ctor: 'PlayerButtons', group: 'playerButtons', id: 'stopButton' }, { leftText: '', rightText: 'P', icon: 'icon-pause2', classes: 'icon collapsed player', action: 'collapseChild', ctor: 'PlayerButtons', group: 'playerButtons', id: 'pauseButton' }]; } static get navigationButtons(): ButtonDefinition[] { return [{ leftText: '', rightText: '', classes: 'icon collapseParent', icon: 'icon-navigate', action: 'collapseParent', ctor: 'CollapseRibbonControl', group: 'navigation', id: 'NavigationButtons' }, { leftText: '', rightText: '', icon: 'icon-arrow-left', classes: 'collapsed', action: 'collapseChild', ctor: 'NavigationButtons', group: 'navigation', id: 'navLeftButton' }, { leftText: '', rightText: '', icon: 'icon-arrow-right', classes: 'collapsed', action: 'collapseChild', ctor: 'NavigationButtons', group: 'navigation', id: 'navRightButton' }, { leftText: '', rightText: '', icon: 'icon-arrow-up', classes: 'collapsed', action: 'collapseChild', ctor: 'NavigationButtons', group: 'navigation', id: 'navUpButton' }, { leftText: '', rightText: '', icon: 'icon-arrow-down', classes: 'collapsed', action: 'collapseChild', ctor: 'NavigationButtons', group: 'navigation', id: 'navDownButton' }, { leftText: '...', rightText: '', icon: '', classes: 'collapsed expander', action: 'collapseMore', ctor: 'ExtendedCollapseParent', group: 'navigation', id: 'moreNavButtons' }, { leftText: '', rightText: '', icon: 'icon-fforward', classes: 'collapsed', action: 'collapseGrandchild', ctor: 'NavigationButtons', group: 'navigation', id: 'navFastForward' }, { leftText: '', rightText: '', icon: 'icon-rewind', classes: 'collapsed', action: 'collapseGrandchild', ctor: 'NavigationButtons', group: 'navigation', id: 'navRewind' }, { leftText: '', rightText: '', icon: 'icon-note_select_left', classes: 'collapsed selection-icon', action: 'collapseGrandchild', ctor: 'NavigationButtons', group: 'navigation', id: 'navGrowLeft' }, { leftText: '', rightText: '', icon: 'icon-note_select_right', classes: 'collapsed selection-icon', action: 'collapseGrandchild', ctor: 'NavigationButtons', group: 'navigation', id: 'navGrowRight' } ]; } static get leftRibbonButtons(): ButtonDefinition[] { return [ { leftText: 'Library', rightText: '/L', icon: '', classes: 'file-modify menu-select', action: 'modal', ctor: 'SuiLibraryDialog', group: 'scoreEdit', id: 'libraryMenu' }, { leftText: 'Score', rightText: '', icon: '', classes: 'icon ', action: 'menu', ctor: 'SuiScoreMenu', group: 'scoreEdit', id: 'layoutMenu' }, { leftText: 'Tempo', rightText: 't', icon: '', classes: 'icon ', action: 'modal', ctor: 'SuiTempoDialog', group: 'scoreEdit', id: 'tempoModal' }, { leftText: 'Time Signature', rightText: '/m', icon: '', classes: 'staff-modify menu-select', action: 'menu', ctor: 'SuiTimeSignatureMenu', group: 'scoreEdit', id: 'timeSignatureMenu' }, { leftText: 'Key', rightText: '/k', icon: '', classes: 'note-modify menu-select', action: 'menu', ctor: 'SuiKeySignatureMenu', group: 'scoreEdit', id: 'keyMenu' }, ]; } }