As far as I understand the closed issue 5746 should fix the problem
musicxml2ly generating the note name "bes" instead of "heses" with
--language=deutsch.

In fact the problem is not fixed in the actual git repository. See my
attached mxl-file and the ly output of
musicxml2ly --language=deutsch --nd --nrp --npl  xml_test.mxl
which still contains "bes".


On 2/11/20 5:22 PM, David Kastrup wrote:
> Torsten Hämmerle <torsten.haemme...@web.de> writes:
> 
>> In any case, the current musicxml2ly problem is about heses. And the heses
>> note name definition in LilyPond (scm/define-note-names.scm) is correct and
>> should not be changed.
>> musicxml2ly must not produce a German "bes", because this clearly should be
>> "heses"
>>
>> Here's the coding for German pitch names:
>>
>>
>> Replacing generic "hes" by "b" is OK, but, that way, generic "heses" will
>> become "bes", wich is clearly wrong and will lead to the error observed.
>>
>> So obviously, it's a problem with *python substring replacement*.
>> I don't know much about python, but replace() doesn't seem to work out here.
>> Probably only a direct string comparison will help here, perhaps someone
>> knowledgeable has a more elegant solution.
> 
> Well,
> 
> Tracker issue: 5746 (https://sourceforge.net/p/testlilyissues/issues/5746/)
> Rietveld issue: 547610043 (https://codereview.appspot.com/547610043)
> Issue description:
>   Fix and align musicxml and input language "deutsch"  Has commits:
>   In \language "deutsch" use b only to replace hes  The quartertone
>   names should all be derived from h instead of b since beh was being
>   used inconsistently.   Fix deutsch language of musicxml2py  Use b
>   only for hes and nothing else.  Also use asas and asah instead of
>   ases and aseh.
> 
> should fix either.  It doesn't use patterns for hes.  Somewhat artless.
> So what.
> 

Attachment: xml_test.mxl
Description: application/vnd.recordare.musicxml

\version "2.18.2"
% automatically converted by musicxml2ly from xml_test.mxl

%% additional definitions required by the score:
\language "deutsch"


\header {
    encodingsoftware = "MuseScore 3.4.2"
    encodingdate = "2020-02-16"
    composer = Composer
    title = Title
    }

\layout {
    \context { \Score
        skipBars = ##t
        autoBeaming = ##f
        }
    }
PartPOneVoiceOne =  \relative h' {
    \clef "treble" \key c \major \numericTimeSignature\time 4/4 h4 b4
    bes4 his4 | % 2
    R1*31 \bar "|."
    }


% The score definition
\score {
    <<
        \new Staff <<
            \set Staff.instrumentName = "Piano"
            \set Staff.shortInstrumentName = "Pno."
            \context Staff << 
                \context Voice = "PartPOneVoiceOne" { \PartPOneVoiceOne }
                >>
            >>
        
        >>
    \layout {}
    % To create MIDI output, uncomment the following line:
    %  \midi {}
    }

_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to