|
From: | Anthony Youngman |
Subject: | Re: Moving a tempo mark to the right |
Date: | Fri, 1 Sep 2017 21:11:03 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
On 01/09/17 15:17, Kieren MacMillan wrote:
Hi Wol,While it may sound weird. the reality is you probably didn't find it too hard to learn Scheme, because you're a composer not a programmer.Actually, I am a programmer: started with BASIC (and a little assembler language) in the early 1980s, then FORTRAN (including WATFIV) and APL in the late 1980s, then Java in the late 1990s, and a bunch of lesser languages (scripting, etc.) along the way.Because I'm a procedural (that is. C and Fortran) programmer, it's a lot harder for me to learn Scheme because it's a completely different *sort* of language.I agree that it's very difficult for some procedural programmers to learn. I found the same thing when I taught XSL(T), which I find extremely intuitive, but many of my students (and programmer friends) find it impossible to get their mind around.
I find the same thing with databases. So many people have their minds stuck in the 2-D relational world, and just cannot grasp the concept of a multi-dimensional database like Pick. Given that Pick is very much list-based (unlike SQL which is set-based), why can't I grasp a list-based language like Scheme? And Pick is very XML-like!
I want the rehearsal mark sitting above the stave. That's easy (or should be, just adjust outside-staff-priority). Push the music to the right so it doesn't collide with the rehearsal markSo you literally want a gap under the mark?
Not really. It just feels the easy way to achieve roughly what I'm aiming for. As I understand it, the rehearsal mark sits above the bar line, while the tempo and melody-name sit above the note? So the easiest way (not necessarily the best or neatest) to prevent a collision is to push the note sideways out of the way?
The big problem I can see is if sometimes it occurs at the start of a line, in which case the rehearsal mark will naturally move left out of the way, and letting lily move stuff around may move it to the middle of the line where I get a collision. Saying "move this grob a fixed distance" is going to completely mess up if this happens. So I need something that stops a collision, not something that moves text/marks out of the way.
Thanks - I'll look up and understand what it does. The only snag is that I've got 2.18.2, which doesn't like your code. That's the latest on SuSE, and my gentoo system (which I daren't upgrade at the moment) is even older - 2.15.12Then use one of the text-alignment functions to place the melody above the tempoI hope the following helps, or at least points you in the right direction.
Cutting and pasting to get a small demo of what lily does by default and what I've tried is looking to be a very good idea ... I know the list always wants minimal examples and I'm bad at doing it, but I think I'll have to. I'll hack at it for a day or so and see where I get ...
Best, Kieren.
Cheers, Wol
%%%% SNIPPET BEGINS \version "2.19.40" markplusmel = #(define-music-function (marktext melodyname) (markup? markup?) #{ \once \override Score.RehearsalMark.break-align-symbols = #'(time-signature) \once \override Score.RehearsalMark.self-alignment-X = #LEFT \mark \markup \override #'(baseline-skip . 2.5) \column { $marktext \fontsize #-2 $melodyname } #}) testing = { \markplusmel "AAA" "All Killer, No Filler" \tempo 4=100 c''1 } { \testing } %%%% SNIPPET ENDS ________________________________ Kieren MacMillan, composer ‣ website: www.kierenmacmillan.info ‣ email: address@hidden
[Prev in Thread] | Current Thread | [Next in Thread] |