lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Set indent based on instrument name (issue 6457049)


From: Phil Holmes
Subject: Re: Set indent based on instrument name (issue 6457049)
Date: Tue, 31 Jul 2012 09:43:58 +0100

----- Original Message ----- From: "Graham Percival" <address@hidden>
To: "Bernard Hurley" <address@hidden>
Cc: "Phil Holmes" <address@hidden>; <address@hidden>; <address@hidden>; <address@hidden>; <address@hidden>
Sent: Tuesday, July 31, 2012 12:12 AM
Subject: Re: Set indent based on instrument name (issue 6457049)


On Mon, Jul 30, 2012 at 11:44:28PM +0100, Bernard Hurley wrote:
On Mon, Jul 30, 2012 at 10:14:37PM +0100, Phil Holmes wrote:
> ----- Original Message ----- From: <address@hidden>
>> lily/output-def.cc:38: Real long_name_len = 0.0;
>> could these be class member variables instead of global variables?
>
> I don't believe so.  I'd be happy to be corrected by someone who
> understands this better than I do, but my understanding of c++ (which I
> guess at based on c#) says that, in order to access a class member
> variable, you need to have an instantiation of the class.

That is true.

In C++ variables can be declared static. If this is done all instances of
the class share the same instance of the variable and it can exist
even if the class has no instances see:

Yes, that's also true.

Let me rephrase my concern: in C++-land, having a global variable
(including static variables) are viewed upon like picking one's
nose.  If there is absolutely no other way to achieve one's goal,
it could be tolerated.  But I would be very surprised if this
could not be implemented without global variables, so I think
another draft of the patch will be necessary.

Hopefully somebody familiar with lilypond internals can skim the
patch (it's quite small) and give a suggestion as to how to avoid
the global variables.

I'd be happy to change it if someone could suggest an improvement. When I initially asked how this could be done, Keith said:

"Maybe each Instrument_name_engraver, one for each staff, could push
information to a central location"

which does sound rather like a global variable.

--
Phil Holmes



reply via email to

[Prev in Thread] Current Thread [Next in Thread]