On Mon, 2020-10-19 at 22:21 +0100, Joe Wilkinson wrote: > Hi Richard, > perhaps this is simpler?? > I Put a Dynamics Above Directive on the music staff and this moved > the > dynamics up - they default to down on the music stave. > An edit to a second Dynamics Above directive to change DynamicsUp to > dynamicsDown in 3 places puts them back down again. > But DynamicsDown does not work on dynamics inherited from the Marks > stave.
I had got as far as this myself yesterday when I had to stop for the night "I tracked that down with the Command Center to Directives->Typesetter and looked at what it does: it puts \dynamicUp into the LilyPond syntax, and looking that up in the index on lilypond.org I see there is also \dynamicDown, \dynamicNeutral so you could create further such commands. However, putting the dynamics above or below the dynamics staff won't move them relative to any staffs that are typeset below that staff (which isn't itself actually typeset, only its dynamics etc are)." All except the last bit you seem to have understood by yourself - the dynamics are on a staff at the top and so whether above or below it they appear above the staff below. But which is the best way to go about putting the dynamics above in some layouts and below in others required some mulling over. 1) The old-fashioned way would be to create custom layouts - so you move the dynamics staff below in those layouts where you want it below. But this is quite tedious, and if you change the structure you have to re-make the layouts 2) A more modern way is to create two Omission Criteria (called, say, Score and Part). Then duplicate the Dynamics staff at the bottom of the score and use Non Printing Staff in staff properties to hide both of the dynamics staffs. Then apply one of your omission criteria to each of the HiddenStaff directives. Then you can switch between them as needed when you print out (again by using the Omission criteria button in the Print View). 3) Really, in 2) above you should be able to set the omission criterion for your Non Printing Staff directive as you create it but it goes straight to conditional layout choice. However you could use conditional layout - just making it ignore/not ignore the various standard layouts that you are going to typeset. Option 3) has the downside that you have to duplicate the dynamics staff so changes in one won't affect the other and require a remake. 4) It then occurred to me that a different approach could be used altogether: something like a script (while (d-SwapStaffs)) would move the top staff to the bottom if executed while on a suitable staff. So you could perhaps have a couple of buttons to move the dynamics to where you want it for the layout you are about to typeset. I'd need to tinker with the details of that ... HTH Richard