Notenschlüssel wird unkontrolliert eingetragen

• 2. Mai 2024 - 17:31

Hallo Leute,
ich habe gerade einigen Volkslieder bearbeitet. Dabei taucht unvermittelt in beliebiger Zeile ein Notenschlüssel auf, der sich aber manuell löschen lässt. Wer kann helfen? - Danke und Grüße, Albrecht.


Comments

Antwort auf von Jojo-Schmitz

Hallo,
ich benutze die Version 3.6.2.548.... und habe damit ein Liederbuch zusammengestellt. Aufgrund der Liedermenge kann ich die einzelnen Fälle nicht mehr nachvollziehen, ich habe bei den betr. Liedern den Notenschlüssel schon herausgelöscht. Somit kann ich im Moment leider auch nicht mit einer Beispiel-Partitur dienen.
Der Weg war in etwa wie folgt:
Ich suche Noten im Internet und verändere diese in Musescore nach meinen Bedürfnissen (formatieren, transponieren etc.) Da sind auch Dateien in *.capx - Format dabei, die in Musescoe geladen werden können.
Unverhofft taucht bei manchen Liedern vor 1 oder 2 Takten ein Notenschlüssel auf, den ich aber markieren und löschen kann. Ob das die *capx-Daeien sind, kann ich leider nicht mehr sagen.
Grüße

Antwort auf von albrecht49

Ich habe im Anhang eine Beispielpartitur. Die Capella-Dateien verhalten sich wie beschrieben.

Es ist nicht nur der Notenschlüssel, der immer wieder auftaucht, auch die Tonartvorzeichen bleiben. Das passiert immer dann, wenn man das Layout verändert, also z.B. die Systemumbrüche verändert.
Die Notenschlüssel kann man alle selektieren (rechte Maustaste, alle ähnlichen Elemente) und löschen, dann bleiben nur die vorne an der Zeile übrig.
Bei den Tonartzeichen sieht es zunächst etwas lästiger aus, weil man die nicht direkt löschen kann. Man müsste sie vorher mit eigenen überschreiben müsste um sie zu löschen. Glücklicherweise sind sie aber weg, wenn man speichert und die Datei erneut öffnet.

Man muss dann nur noch hoffen, dass bei der nächsten Umformatierung nicht wieder neue 'Geister' auftauchen. Vermutlich ist der Systemumbruch in Capella die Ursache.

Anhang Größe
Devienne_Duo.capx 13.87 KB

Antwort auf von Jojo-Schmitz

Nicht schon wieder ich! :-)
Ich weiß nicht, ob das Entfernen der Systemumbrüche bereits reicht. Nach dem Import jedenfalls nicht, denn durch die dann andere Anzahl der Takte pro System taucht es ja erst auf. Und wenn es mal tatsächlich ohne expliziten Systemumbruch passen sollte, dann würde Dehnen oder Stauchen das Problem wieder zum Vorschein bringen.
Alle Schlüssel entfernen - bis auf den ersten - geht dagegen schon. Wobei das aber auch gefährlich ist, wenn tatsächlich unterwegs tatsächlich ein Schlüsselwechsel notwendig ist. Dann ist der auch weg - überall lauern Stolpersteine ...

Vermutlich versieht Capella jedes neue System mit dem Schlüssel und der Tonartbezeichnung wie es MuseScore nur bei einem gewollten Wechsel innerhalb der Partitur tut und sie an jedem Systemanfang nur darstellt und nicht in die Quelle schreibt.
Man müsste also einen Schlüsselwechsel, der zu keiner Änderung zum vorhergehenden führt, einfach bei der Interpretation der Capelladatei ignorieren.

Antwort auf von Jojo-Schmitz

Anscheinend ist davon aber nur der Schlüssel relevant, denn mit dieser Änderung alleine funtioniert es wie erwartet:

diff --git a/importexport/capella/capxml.cpp b/importexport/capella/capxml.cpp
index e8aa9758c6..7b551753cb 100644
--- a/importexport/capella/capxml.cpp
+++ b/importexport/capella/capxml.cpp
@@ -734,9 +734,15 @@ void Capella::readCapxVoice(XmlReader& e, CapStaff* cs, int idx)
+                  CapClef* prevClef = nullptr;
                   while (e.readNextStartElement()) {
                         const QStringRef& tag(e.name());
                         if (tag == "clefSign") {
                               CapClef* clef = new CapClef(this);
                               clef->readCapx(e);
-                              v->objects.append(clef);
+                              if (!prevClef || prevClef->clef() != clef->clef()) {
+                                    prevClef = clef;
+                                    v->objects.append(clef);
+                                    continue;
+                                    }
+                              delete clef;
                               }
                         else if (tag == "keySign") {
                               CapKey* key = new CapKey(this);

Ich hätte gedacht, dass ähnliche Änderungen auch for "keySign" und "timeSign" nötig gewesen wären, das scheint aber nicht der Fall zu sein.

Antwort auf von Jojo-Schmitz

Das deckt sich mit dem, was ich festgestellt hatte: 1. Schlüssel löschen, Datei speichern und erneut öffnen. Dann sind auch die überflüssigen Tonartwiederholungen weg.
Wie ich schon schrieb: Manuell ist es aber gefährlich, es könnte ja ein absichtlicher Wechsel zum z.B. Bassschlüssel drin sein. Das müsste man erkennen ...

Do you still have an unanswered question? Please log in first to post your question.