\with in einer Variable [Gelöst]

Begonnen von iugin, Donnerstag, 8. Juni 2017, 12:12

« vorheriges - nächstes »

iugin

Hallo Forum!

Seit einem Jahr ca. war ich nicht mehr da, und heute morgen sehe, dass das alte Forum weg ist... Aber Gott sei Dank, ist alles hier: Forum, Lilypond, ihr...  ;)
Heute morgen habe ich (endlich) die 2.19.61 installiert, und siehe da: alte Files gehen nicht mehr, trotz convert-ly.
Alles mehr oder weniger gelöst, ausser das:
\version "2.19.61"

vl = \with {
  instrumentName = #"Violino I"
}

\score {
\new Staff \vl { c }
}

Wieso funktioniert es nicht mehr? Und besser: wie kann ich lösen?
Ich hatte einen riesen File geschrieben mit ziemlich viele Definitionen, und dann immer wieder importiert. Es wäre schön, wenn ich den File entsprechend ändern könnte und weiter verwenden.

Lieber Gruss und schönen Tag

Eugenio

Manuela

Von welcher Version hast du upgegraded? Ich habe hier nur 2.19.42, damit kompiliert dein Beispiel einwandfrei. Kann natürlich sein, dass es mit 2.19.61 nicht mehr geht.
Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

In 2.19.44 gehts nicht mehr (2.19.43 hab ich grad nicht da zum Testen). Ab da muß man auch beim Aufruf noch ein \with setzen:\version "2.19.61"

vl = \with {
  instrumentName = "Violino I"
}

\score {
\new Staff \with \vl { c }
}
So gehts auch mit 2.19.61 :)

iugin

Hallo Malte

danke vielmals! Komisch, dass es nicht funktioniert, ich frage mich, wieso sie die Möglichkeit weg genommen haben, schliesslich ist, denke ich, eine Restriktion im Vergleich von früher.
Ich werde es ausprobieren (jetzt kann ich leider nicht).
Uff, ich werde eine Menge Dateien korrigieren müssen... :)

Danke und lieber Gruss

Eugenio

Malte

Hab grad nochmal nachgeschaut, hab mich ein bißchen geirrt:
2.19.45 ist die letzte Version, die geht, 2.19.46 nicht mehr. Das git-log zeigt, daß der Fix zu issue 4911 dafür verantwortlich ist (in der issue-Beschreibung wird auch gesagt, warum das so gemacht wurde).
ZitatUff, ich werde eine Menge Dateien korrigieren müssen... :)
convert-ly kann das :)

Manuela

Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

Öhm ... zumindest mit dem Minimalbeispiel kommt convert-ly zurecht.

iugin

Hallo!

Zitatconvert-ly kann das
Bei mir leider nicht... Keine Ahnung warum.
Es wird aber kein Problem sein, ich kann auch mit Suchen/Ersetzen lösen

Danke vielmals und einen schönen Tag

Eugenio

harm6

ZitatBei mir leider nicht... Keine Ahnung warum.

Kannst Du mal den terminal-output von convert-ly posten?

Gruß,
  Harm

iugin

Hallo Harm

schon lange nicht mehr gesehen ;)
Ich denke, das Problem mit convert-ly ist, dass ich die Definitionen in einem separaten *.ily-File (und nicht *.ly, aber vielleicht ist nicht wichtig), und der File sieht so aus:
\version "2.19.49"
\language "deutsch"

sIvn = \with {
  \autoBeamOff
  instrumentName = #"Sopran 1"
  shortInstrumentName = #"S. 1"

  #(set-accidental-style 'modern)
}

sIIvn = \with {
  \autoBeamOff
  instrumentName = #"Sopran 2"
  shortInstrumentName = #"S. 2"

  #(set-accidental-style 'modern)
}

usw.

Dann, der File wird importiert mittels \include, und der Hauptfile entählt so etwas:
[...]
\new Staff \sIvn [...]


Jetzt: wie kann convert-ly verstehen, was zu tun ist? Im Hauptfile geht nicht, er weiss nicht, was \sIvn heisst.
Im anderen File passiert nichts. Output ist:
convert-ly (GNU LilyPond) 2.19.61

convert-ly: Processing `VoiceDefinitions.ly'...
Applying conversion:

eugenio@eugenioPC:/tmp$ convert-ly VoiceDefinitions.ly > out.txt
convert-ly (GNU LilyPond) 2.19.61

convert-ly: Processing `VoiceDefinitions.ly'...
Applying conversion: 2.19.2, 2.19.7, 2.19.11, 2.19.16, 2.19.22, 2.19.24, 2.19.28, 2.19.29, 2.19.32, 2.19.40, 2.19.46, 2.19.49

was korrekt ist.
Also, ich verstehe, dass es nicht gehen kann.

Bei meinem Beispiel im ersten Post, wenn ich die Version "2.18.2" eintrage, ist der Output so:
eugenio@eugenioPC:/tmp$ convert-ly Ohne\ Titel.ly
convert-ly (GNU LilyPond) 2.19.61

convert-ly: Processing `Ohne Titel.ly'...
Applying conversion: 2.19.2, 2.19.7, 2.19.11, 2.19.16, 2.19.22, 2.19.24, 2.19.28, 2.19.29, 2.19.32, 2.19.40, 2.19.46, 2.19.49


\version "2.19.49"

vl = \with {
  instrumentName = #"Violino I"
}

\score {
\new Staff \with \vl { c }
}

Also, er fügt \with in \score.

Also, ich denke, es ist alles klar.

Danke vielmals für die Hilfe und hab einen schönen Tag :)

Lieber Gruss

Eugenio