Hi everyone,
I have had a very weird error pop up, which doesn’t appear to be related
to a specific LilyPond version, nor was it triggered by any recent
update to OLL (though I’m using chordmode very rarely):
In the following snippet,after loading the core package loader from
openLilyLib,Lily won’t recognise the changed note name language inside
any explicit input mode.
%%%%%%%%%%%%%%%%%%%%%%
\version "2.23.5"
\language "deutsch"
\include "oll-core/package.ily"
<<
\chordmode {
h b % h isn’t understood
}
\notemode {
h b % h isn’t understood
}
{
h b % h is understood
}
>>
%%%%%%%%%%%%%%%%%%%%%
I attach the package.ily file from openLilyLib—I can’t see anything in
there which might cause this odd behaviour…
Best, Simon
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% This file is part of openLilyLib, %
% =========== %
% the community library project for GNU LilyPond %
% (https://github.com/openlilylib) %
% ----------- %
% %
% Library: oll-core %
% ======== %
% %
% openLilyLib is free software: you can redistribute it and/or modify %
% it under the terms of the GNU General Public License as published by %
% the Free Software Foundation, either version 3 of the License, or %
% (at your option) any later version. %
% %
% openLilyLib is distributed in the hope that it will be useful, %
% but WITHOUT ANY WARRANTY; without even the implied warranty of %
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %
% GNU General Public License for more details. %
% %
% You should have received a copy of the GNU General Public License %
% along with openLilyLib. If not, see <http://www.gnu.org/licenses/>. %
% %
% openLilyLib is maintained by Urs Liska, u...@openlilylib.org
%
% and others. %
% Copyright Urs Liska, 2016 %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This is the main entry file for openLilyLib.
% To use openLilyLib this file has to be in LilyPond's include path.
% including this file with
% \include "openlilylib.ily"
% will initialize openLilyLib and make the library management available
% as well as significant utility functionality.
%
% This does several things:
% - defines a global variable 'openlilylib-root
% which is the absolute path to the root of openLilyLib
% (the parent of the folder this file is located in)
% - adds openlilylib-root to Scheme's module path
% - adds library/module handling support
% - adds option handling
% - adds logging tools
% - adds miscellaneous helper functionality (e.g. version predicates)
% We won't support 2.18 anymore as there are simply too many
% substantial improvements in the 2.19 branch starting from 2.19.22.
\version "2.20.0"
#(ly:set-option 'relative-includes #t)
% Initialize oll-core *once*
#(if (null? (ly:parser-lookup 'openlilylib-root))
(let*
((this (car (ly:input-file-line-char-column (*location*))))
(path (string-split this #\/))
(oll-root (list-head path (- (length path) 2)))
(scheme-path (append oll-root '("oll-core" "scheme")))
)
;; Add openLilyLib root to Guile path
;; (enable packages to load Scheme modules through <package-name>)
(set! %load-path `(,(string-join oll-root "/") ,@%load-path))
;; store root path as a marker that oll-core has been loaded
(ly:parser-define! 'openlilylib-root oll-root)
(ly:parser-include-string "\\include \"oll-core/internal/init.ily\"")))