# -*- coding: ISO-8859-1 -*- """ capellaScript -- Copyright (c) 2003 Peter Becker >>> Hälse ausrichten Nach einem einstimmigen Stimmenexport aus einer mehrstimmigen Notenzeile sind die Hälse meist verkehrt ausgerichtet ( wie im Original ). Dieses Script setzt die Ausrichtung der Hälse auf 'je nach Lage' zurück. Erzwungene Halsrichtungen lassen sich ebenfalls zurücksetzen. Bei Problemen bitte eine Mail an peter_becker@freenet.de <<< Directing stems in staves for one voice

After export of one voice from a stave with more voices the stems are often wrongly directed ( as in the original ). This script brings back the stem direction to 'dependent on position'. Forced stem direction ( which was effected for single notes ) can be undone as well. In case of problems please send a mail to peter_becker@freenet.de

Hälse ausrichten in einstimmigen Notenzeilen

Nach einem einstimmigen Stimmenexport aus einer mehrstimmigen Notenzeile sind die Hälse meist verkehrt ausgerichtet ( wie im Original ). Dieses Script setzt die Ausrichtung der Hälse auf 'je nach Lage' zurück. Erzwungene Halsrichtungen lassen sich ebenfalls zurücksetzen. Bei Problemen bitte eine Mail an peter_becker@freenet.de

Stokrichting in eenstemmige balken corrigeren

Na eenstemmige export uit een meerstemmige notenbalk hebben de noten meestal een verkeerde stokrichting ( namelijk dezelfde als in het origineel ). Dit script zet de stokrichting in de stem terug naar 'afhankelijk van de ligging'. De voor afzonderlijke noten geforceerde stokrichting kan eveneens ongedaan gemaakt worden. Bij problemen s.v.p. een mail naar peter_becker@freenet.de

""" # 22.11.2003 V 1.0.0 PB Erste Version # 24.11.2003 V 1.1.0 PB Erweiterung um erzwungene Halsrichtungen # 25.03.2015 V 1.2.0 PB Multilanguage Support, Auswahl im Menü behalten, Absturz beseitigt wenn Menü abgebrochen wird. # 21.08.2017 V 1.2.1 WW Internationalisierung (en-de-nl) version = '1.2.1' english = { 'Version' : 'Version : ', 'ausrichten' : 'Directing stems in staves for one voice ', 'zwingen' : 'Reset also forced stem direction ( which was effected for single notes )' } german = { 'Version' : 'Version : ', 'ausrichten' : 'Hälse ausrichten in einstimmigen Notenzeilen ', 'zwingen' : 'Erzwungene Halsrichtungen für einzelne Noten ebenfalls zurücksetzen' } dutch = { 'Version' : 'Versie : ', 'ausrichten' : 'Stokrichting in eenstemmige notenbalken corrigeren ', 'zwingen' : 'Geforceerde stokrichting ( voor afzonderlijke noten ) eveneens ongedaan maken' } try: setStringTable( ("en", english), ("de", german), ("nl", dutch)) except: def tr(s): return german[s] from caplib.capDOM import ScoreChange import tempfile class HalsWeg (ScoreChange): def changeElement(self, el): global setStem if el.tagName == 'voices': stimme = ScoreChange.getFirstChildElement(self, el, 'voice') if stimme.hasAttribute('stemDir'): stimme.removeAttribute('stemDir') if setStem: if el.tagName == 'chord': hals = ScoreChange.getFirstChildElement(self, el, 'stem') if str(hals) <> 'None': if hals.hasAttribute('dir'): hals.removeAttribute('dir') def pqDialog(): global setStem options = ScriptOptions() opt = options.get() checkStem = CheckBox(tr('zwingen'),value=int(opt.get('setStem', 0))) BoxStem = VBox([checkStem], padding=8) vBox = VBox([BoxStem], padding=8) dlg = Dialog(tr('Version') + version + ' ' + tr('ausrichten'), vBox) if dlg.run(): setStem = checkStem.value() opt.update(dict(setStem=setStem)) options.set(opt) return True else: return False if activeScore(): if pqDialog(): activeScore().registerUndo(tr("ausrichten")) tempFile1 = tempfile.mktemp('.capx') tempFile2 = tempfile.mktemp('.capx') activeScore().write(tempFile1) HalsWeg(tempFile1, tempFile2) activeScore().read(tempFile2) os.remove(tempFile1) os.remove(tempFile2)