Skip to content

Commit

Permalink
Merge branch 'release/1.7.0_dev-7'
Browse files Browse the repository at this point in the history
  • Loading branch information
bwl21 committed Sep 4, 2017
2 parents 8da9db9 + ef0b11f commit e5b0555
Show file tree
Hide file tree
Showing 21 changed files with 1,321 additions and 809 deletions.
6 changes: 5 additions & 1 deletion 30_sources/CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
* now handle multi measure rests (#166)
* fix predefined annotations vt and vr
* BWC: move Tuplet configuration to notebounds (#168)
* Multiple notebound annotations can now be dragged individually (#170)


## enhancement
Expand All @@ -34,6 +35,7 @@
* now menu supports extract 0 to extract 5 (#153)
* now menu also shows title of extracts (#153)
* ctrl-alt 'F' now toggles harp preview
* rearranged "Edit Configuration" Menu to improve configuration workflow (#171)

## internal stuff

Expand All @@ -43,6 +45,8 @@

* implemented a collision based packer (#89)
* implemented validation of config parameters (#85) with result form
* Shape of Flowlines can be configured (#167)


## backwards compatibility issues

Expand Down Expand Up @@ -103,7 +107,7 @@ Dragging of jumpline does not work properly on Saitenspiel #158
* in case of multiple `[P:]` respecitvly `[R:]` the now the last one is relevant - best to remove the other ones
* now get message if F: is missing
* now get messaage Filename or path contains whitespace and special characters
* you have to redo configuration for tuplets (#167 )
* you have to redo configuration for tuplets (#167)

## known issues

Expand Down
Binary file not shown.
4 changes: 2 additions & 2 deletions 30_sources/SRC_Zupfnoter/public/locale/conf-help_de-de.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
"layout.color.color_variant2":"<p>Hier wählst du die Farbe in der variante Abschnitte 2,4,6 etc.\ndargestellt werden.</p>\n\n<blockquote>\n<p><strong>Hinweis</strong> Die Farbe von varianten Abnschnitten alterniert zwischen\nvariant1 und variant2. Wenn du beide gleich einstellst, dann werden\ndie varianten Abschnitte gleichermassen eingefärbt.</p>\n\n<p>Wenn du beide auf den gleichen wert wie &quot;default&quot; stellst, dann werden\nvariante Abschnitte nicht mehr durch Farbe abgesetzt.</p>\n</blockquote>\n",
"layout.jumpline_anchor":"<p>Hier stellst du ein, wie die Sprunglinien an den entsprechenden Noten\nverankert werden. Bitte gib zwei Werte (X, Y) getrennt durch ein Komma\nan. Die Angabe erfolgt in mm und bezieht sich auf den Rand (genauer\ngesagt, das umhüllende Rechteck) der entsprechende Note.</p>\n",
"layout.limit_a3":"<p>Diese Funktion verschiebt Noten am A3-Blattrand nach innen. Da das\nUnterlegnotenblatt etwas größer ist als A3 würde sonst die Note\nangeshnitten.</p>\n",
"layout.minc":"<p>Hier kannst du manuelle Korrekturen im vertikalen Layout vornehmen:</p>\n\n<blockquote>\n<p><strong>Hinweis</strong>: Diese Funktion ist nun wirklich für die ganzen Experten.\nBitte verwende sie also nur, wenn du weißt, was du tust.\nAnwendungsfälle für diese Funktion:</p>\n\n<ul>\n<li> Linien (z.B. Sprunglinien) gehen unglücklich durch andere Noten\noder Beschriftungen</li>\n<li> Bei sehr dichten Layouts gehen Taktstriche in die vorherige Note</li>\n<li> Man hat sehr viele Noten, könnte aber einen Teil in eine freie\nFläche schieben. In diesem fall würde die Flusslinie teilweise\nnach oben gehen.</li>\n</ul>\n</blockquote>\n\n<p>Dieser Parameter enthält eine Liste von manuellen Korrekturen. Jeder\nEintrag ändert den Vorschub für einen durch seinen Schlüssel bestimmten\nZeitpunkt.</p>\n",
"layout.packer":"<p>Hier kannst du weitere Einzelheiten für die vertikale Anordnung der\nNoten konfigurieren. Es sind subtile Feinheiten, welche den Unterschied\nausmachen. Daher sind diese Funktionen noch experimentell.</p>\n",
"layout.packer.pack_max_spreadfactor":"<p>Nach der Berechnung des maximal komprimierten Layouts versucht\nZufpnoter, dieses so weit zu spreizen, dass die Zeichenfläche voll\nausgefüllt wird.</p>\n\n<p>Dieser Faktor bestimmt, wie weit das maximal komprimierte Layout in der\nVertikalen gespreizt werden soll. Das wirkt sich bei kurzen Stücken aus,\nwelche das Blatt nicht vollständig ausfüllen.</p>\n\n<p>Bei sehr kurzen Stücken ist es sinnvoll, die Spreizung zu begrenzen,\nweil sonst die Noten sehr weit auseinander liegen.</p>\n",
"layout.packer.pack_method":"<p>Hier kannst du die pack-Methode auswählen</p>\n\n<ul>\n<li><p><strong>0</strong> : Die bisherige Methode: diese geht nach jedem Schritt um die\nHöhe der größten Note weiter</p></li>\n<li><p><strong>1</strong> : Kopmpakt: diese geht nur dann weiter, wenn</p>\n\n<ul>\n<li> ein Richtungswechsel der Melodie vorliegt</li>\n<li> Noten übereinander gezeichnet würden</li>\n</ul>\n\n<p>Das bedeutet dass bei monotonen Melodien die Noten enger gesetzt\nwerden.</p>\n\n<blockquote>\n<p><strong>Hinweis</strong>: Diese Methode eignet sich am besten für lange,\neinstimmige Stücke. Die Platzeinsparung geht bei mehrstimmmigen\nStücken schnell verloren.</p>\n\n<p>Bei dieser Methode sind die Synchronisiationslinien zwischen den\nStimmen nicht immer gut sichtbar weil die Flusslinien ggf. sehr\nflach sind.</p>\n</blockquote></li>\n</ul>\n",
Expand All @@ -48,6 +47,7 @@
"lyrics.verses":"<p>Dies ist die Vorgabe für die Liste der Strophen die im Liedtext-Block\nausgegeben werden.</p>\n",
"minc_f":"<p>Hier gibst du den Korrekturfaktor für den vertikalen Voreschub an.</p>\n\n<p>Die Angabe bestimmt, welcher Anteil am errechneten vertikalen Abstand\nals extra Abstand <strong>hinzugefügt</strong> wird. (<code>a = (a + minc_f * a</code>))</p>\n\n<p>Im Beispiel</p>\n\n<pre><code> &quot;minc&quot; : {\n &quot;2304&quot;: {&quot;minc_f&quot;: 1}, \n &quot;4224&quot;: {&quot;minc_f&quot;: -0.25}\n }\n</code></pre>\n\n<ul>\n<li> bei 2304 wird der Abstand verdoppelt. Mit derm Faktor 1 wird ein\nNormalabstand wird hinugefügt.</li>\n<li> bei 4224 wird der abstand um 25% reduziert. Mit dem Faktor -0.25\nwird ein Viertel des Maximalabstandes abgezogen</li>\n</ul>\n\n<p><strong>Beispiele</strong>:</p>\n\n<ul>\n<li> <code>-1.0</code> würde den Vorschub um eine ganze Note zurück setzen</li>\n<li> <code>0</code> ändert nichts am Vorschub. Damit kann man den Wert zurücksetzen,\nfalls er im Auszug 0 gesetzt wurde.</li>\n<li> <code>0.5</code> vergrößert den Vorschub um die Hälfte einer ganzen Note.</li>\n</ul>\n",
"nonflowrest":"<p>Hier kannst du einstellen, ob in den Begleitstimmen ebenfalls die Pausen\ndargestellt werden sollen. Eine Stimme wird dann Begleitstimme\nbetrachtet, wenn sie keine Flußlinie hat.</p>\n\n<p>Normalerweise ist es nicht sinnvoll, in den Begleitstimmen Pausen\ndarzustellen, da der Spieler sich ja an den Pausen in der Flußlinie\norientiert.</p>\n",
"notebound.minc":"<p>Hier kannst du manuelle Korrekturen im vertikalen Layout vornehmen:</p>\n\n<blockquote>\n<p><strong>Hinweis</strong>: Diese Funktion ist nun wirklich für die ganzen Experten.\nBitte verwende sie also nur, wenn du weißt, was du tust.\nAnwendungsfälle für diese Funktion:</p>\n\n<ul>\n<li> Linien (z.B. Sprunglinien) gehen unglücklich durch andere Noten\noder Beschriftungen</li>\n<li> Bei sehr dichten Layouts gehen Taktstriche in die vorherige Note</li>\n<li> Man hat sehr viele Noten, könnte aber einen Teil in eine freie\nFläche schieben. In diesem fall würde die Flusslinie teilweise\nnach oben gehen.</li>\n</ul>\n</blockquote>\n\n<p>Dieser Parameter enthält eine Liste von manuellen Korrekturen. Jeder\nEintrag ändert den Vorschub für einen durch seinen Schlüssel bestimmten\nZeitpunkt.</p>\n",
"notes":"<p>Hier kannst du eine Seitenbeschriftungen hinzufügen. Beim Einfügen einer\nSeitenbeschriftung vergibt Zupfnoter eine Nummer anstelle der <code>.0</code>.</p>\n\n<blockquote>\n<p><strong>Hinweis</strong>: Es kann aber auch sinnvoll sein eine sprechende\nBezeichnung für die Beschriftung manuell vorzugeben um ihrer\nspezifische Verwendung hervorzuheben z.B. <code>notes.T_Copyright</code>. Das ist\nallerdings nur in der Textansicht möglich.</p>\n</blockquote>\n",
"notes.0.T01_number":"<p>Dieses Template fügt eine Nummer im Notenblatt ein. Damit kannst du\ndeine eigenen Ordnungskriterien realiseren.</p>\n\n<p>Das vorgesehene Numernschema setzt sich aus zwei Blöcken zusammen</p>\n\n<ul>\n<li> 3 Zeichen für den Urheber, sozusagen die Unterlegnotenmanufaktur</li>\n<li> 3 Zeichen für eine fortlaufende Nummer. Es ist sinnvoll diese Nummer\nmit führenden Nullen zu schreiben.</li>\n</ul>\n\n<p>Beispiel: <code>BWL-001</code> - Bernhard Weichel - Blatt 001</p>\n",
"notes.0.pos":"<p>Hier gibst du die Position der Seitenbeschriftung an, an welcher der\nLiedtext-Block ausgegeben werden soll. Angabe erfolgt in mm als\nkommagetrennte Liste von horizontaler / vertikaler Position.</p>\n",
Expand Down Expand Up @@ -87,7 +87,7 @@
"style":"<p>Hier kannst du den Stil für den Text einstellen. Du hast eine Auswahl\naus vordefinierten Stilen.</p>\n",
"templates":"<p>Dieser Parameter kann nicht vom Benutzer gesetzt werden sondern liefert\ndie Vorlagen beim Einfügugen neuer Liedtext-Blöcke bzw.\nSeitenbeschriftungen etc.</p>\n\n<p>Er ist hier aufgeführt, um die Vorlagen selbst zu dokumentieren.</p>\n",
"text":"<p>Hier gibst du den Text, der ausgegeben werden soll. Dieser Text kann\nauch mehrzeilig sein</p>\n",
"tuplet":"<p>Hier kannst du die Darstellung von Triolen (genauer gesagt, von Tuplets)\nsteuern.</p>\n\n<blockquote>\n<p><strong>Hinweis</strong>: diese Einstellungen wirken immer auf alle Tuplets aller\nStimmen, die zum gleichen Zeitpunkt gespielt werden.</p>\n\n<p>Wenn du die Tuplets individuell konfigurieren möchtest, ist es\nnotwendig, eine &quot;Verschiebemarke&quot; vor das tuplet zu setzen. Dabei ist\nes möglich, mehrere Tuplets gemeinsam zu konfigurieren wenn man die\nVerschiebemarken gleich benennt.</p>\n\n<p>Z.B. kann man eine Verschiebemarke <code>tpl_links</code> an alle tuplets\nschreiben, deren Bogen links von der FLußlineie liegen soll. Diese\nkönnen dann über den parameter <code>extract.0.tuplet.tpl_links</code> gemeinsam\nkonfiguriert werden</p>\n</blockquote>\n",
"tuplet":"<p>Hier kannst du die Darstellung von Triolen (genauer gesagt, von Tuplets)\nsteuern.</p>\n\n<blockquote>\n<p><strong>Hinweis</strong>:</p>\n\n<p>Wenn du mehrere Tuplets gemeinsam konfigurieren möchtest, ist es\nnotwendig, eine &quot;Verschiebemarke&quot; vor die betroffene tuplet zu setzen.\nDabei ist es möglich, mehrere Tuplets gemeinsam zu konfigurieren wenn\nman die Verschiebemarken gleich benennt.</p>\n\n<p>Z.B. kann man eine Verschiebemarke <code>tpl_links</code> an alle tuplets\nschreiben, deren Bogen links von der FLußlineie liegen soll. Diese\nkönnen dann über den parameter <code>extract.0.tuplet.tpl_links</code> gemeinsam\nkonfiguriert werden</p>\n</blockquote>\n",
"tuplet.0":"<p>Hier kannst du die Darstellung einer Triole (genauer gesagt, eines\nTuplets) steuern.</p>\n",
"tuplet.show":"<p>Hier gibst du an, ob das Tuplet ausgegeben werden soll.</p>\n",
"voices":"<p>Hier gibst du eine Liste von Sstimmen als (durch Komma getrennte) Liste\nvon Nummern an. Die Nummer ergibt sich aus der Reihnfolge in der\n<code>%%score</code> - Anweisung in der ABC-Notation.</p>\n",
Expand Down
10 changes: 9 additions & 1 deletion 30_sources/SRC_Zupfnoter/public/locale/de-de.json
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@
"before_colon_n": "**--before_colon_n",
"beforeColonN": "beforeColonN",
"bold": "fettdruck",
"c_jumplines": "Sprunglinien",
"Choose extract": "Auszug wählen",
"color": "Farbeinstellung",
"color_default": "Sonstiges",
Expand All @@ -179,6 +180,7 @@
"could not find extract with number": "Es gibt keinen Auszug mit nummer",
"could not open file": "konnte Datei nicht öffnen",
"countnotes": "Zählmarken",
"countnote": "Zählmarke",
"cp1": "cp1",
"cp2": "cp2",
"Create new sheet": "Neues Blatt erstellen",
Expand All @@ -198,6 +200,7 @@
"d64": "**--d64",
"d8": "**--d8",
"decimals": "Dezimalstellen",
"decoration": "Dekoration",
"default": "Vorgabewert",
"defaults": "Vorgabewerte",
"Demo": "Demonstration",
Expand Down Expand Up @@ -228,10 +231,12 @@
"Edit printer correction paerameters": "Druckeranpassungen bearbeiten",
"edit settings for lyrics\nin current extract": "Einstellungen für Liedtexte bearbeiten\nim aktuellen Auszug",
"edit settings for sheet annotations\nin current extract": "Einstellungen für Seitenbeschriftung bearbeiten",
"edit shape of repeat signs": "Darstellung der Wiederholungszeichen bearbeiten",
"editor and harpnotes\napplicaple to tweak the notes for harp": "Zeige ABC und Harfennoten\ngeeignet zur Feinkorektur\nim Unterlegnotenblatt",
"editor and notes\napplicable to enter notes": "Zeige ABC und Notendarstellung\ngeeignet zur Eingabe von Noten",
"Effective value": "aktuell wirksamer Wert",
"ELLIPSE_SIZE": "Notengröße",
"Empty voice": "Stimme ist leer",
"end-of-translagion": "end-of-translation",
"enter a page bound annotation": "Seitengebundene Beschriftung\nanlegen/bearbeiten",
"Enter Harp": "Harfeneingabe",
Expand Down Expand Up @@ -280,7 +285,7 @@
"insert a title for the \ncurrent extract": "Titel für den aktuellen\n Auszug einfügen",
"Insert addon at cursor position": "Zusatzinformation an der Cursor-Position einfügen",
"Insert Addon": "Zusatz einfügen",
"instrument specific": "Intrument spez.",
"instrument specific": "Intrumentspezifika",
"instrument": "Instrument",
"Interact with dropbox": "Arbeiten mit Dropbox",
"italic": "kursiv",
Expand Down Expand Up @@ -394,6 +399,7 @@
"regular": "normal",
"Render previews": "Vorschauen neu errechnen",
"Render": "Rendern",
"repeat signs": "Wiederholungszeichen",
"repeatend": "Wiederholungsende",
"repeatsigns": "Wiederholungszeichen",
"repeatsigns.full": "Wiederholugnszeichen.detail",
Expand Down Expand Up @@ -461,6 +467,7 @@
"T02_copyright_music": "T02 Copyright Musik",
"T03_copyright_harpnotes": "T03 Copyright Unterlegnoten",
"T04_to_order": "T04 zu beziehen bei",
"T05_printed_extracts": "T05 verfügbare Auszüge",
"T99_do_not_copy": "T99 bitte nicht kopieren",
"target to jump to": "Sprungziel",
"templates": "Vorlagen",
Expand Down Expand Up @@ -500,6 +507,7 @@
"Y-position": "Y-position",
"Y_SCALE": "Vertikale Skalierung",
"you are not logged in to dropbox": "Du bist nicht bei Dropbox angemeldet",
"you have multiple %%score statements": "Du hast mehr als eine %%score Zeile",
"you need to logout if you want to change the application scope": "Du musst dich abmelden um den Zugriffstyp zu ändern",
"Zombie Accesstoken revoked; do not use Browser back after login to dropbox": "Zombie Zugriffstoken gelöscht. Bitte drücke nicht die ZURÜCK-Taste des Borwsers nach dem Einloggen in Dropbox.",
"Zombie token or zombie login occured. Maybe you hit the back button in the browser.": "Zombie Zugriffstoken oder login aufgetreten. Bitte drücke nicht die ZURÜCK-Taste des Borwsers nach dem Einloggen in Dropbox.",
Expand Down
5 changes: 3 additions & 2 deletions 30_sources/SRC_Zupfnoter/src/abc2svg_to_harpnotes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -716,7 +716,7 @@ def _make_notebound_annotations(entity, voice_id)
result = []
if entity.is_a? Harpnotes::Music::Playable
chords =_extract_chord_lines(entity.origin[:raw])
chords.each do |name|
chords.each_with_index do |name, index|

match = name.match(/^([!#\<\>])([^\@]+)?(\@(\-?[0-9\.]+),(\-?[0-9\.]+))?$/)
if match
Expand Down Expand Up @@ -744,7 +744,8 @@ def _make_notebound_annotations(entity, voice_id)
if annotation
notepos = [pos_x, pos_y].map {|p| p.to_f} if pos_x
position = notepos || annotation[:pos] || $conf['defaults.notebound.annotation.pos']
conf_key = "notebound.annotation.#{voice_id}.#{entity.znid}.pos" if entity.znid
conf_key = "notebound.annotation.#{voice_id}.#{entity.znid}.pos" if entity.znid # todo: not sure if we really nedd this if; maybe it was before we compute znid by time
conf_key = "notebound.annotation.#{voice_id}.#{entity.znid}.#{index}.pos" if index > 0
result << Harpnotes::Music::NoteBoundAnnotation.new(entity, {style: annotation[:style], pos: position, text: annotation[:text]}, conf_key)
end
else
Expand Down
6 changes: 3 additions & 3 deletions 30_sources/SRC_Zupfnoter/src/conf_doc_source.rb
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ def get_example(conf, key)
/^layout.*/, /^extract\.0$/, /^presets\.layout\..*$/
]
produce_patterns = [/annotations\.vl/, /^templates\.tuplets/, /^extract$/, /^templates/, /^annotations/]

extra_keys = ['extract.0.notebound.minc', 'extract.0.notebound.minc.x.minc_f', "extract.0.notebound.tuplet"]

locale = JSON.parse(File.read('../public/locale/de-de.json'))

Expand All @@ -88,7 +88,7 @@ def get_example(conf, key)

ignore_keys = $conf.keys.select { |k| ignore_patterns.select { |ik| k.match(ik) }.count > 0 }
produce_keys = $conf.keys.select { |k| produce_patterns.select { |ik| k.match(ik) }.count > 0 }
show_keys = ($conf.keys - ignore_keys + produce_keys).uniq.sort_by { |k| k.gsub('templates', 'extract.0') }
show_keys = ($conf.keys - ignore_keys + produce_keys + extra_keys).uniq.sort_by { |k| k.gsub('templates', 'extract.0') }

mdhelp = []
show_keys.sort.each do |key|
Expand All @@ -109,7 +109,7 @@ def get_example(conf, key)
#{helptext}
#{get_example($conf, key)}
#{get_example($conf, key) rescue ""}
}
mdhelp.push result
end
Expand Down
9 changes: 7 additions & 2 deletions 30_sources/SRC_Zupfnoter/src/config-form.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,14 @@ def self.to_template(key)
template = key.split('.')[-2] # templates are for "extract....<template>.x"
voice_template = key.split('.')[-3] # templates are for "extract.<template>.v_<voice>.x"
a = $conf.get("templates.#{template}") if template
a = $conf.get("templates.#{voice_template}") unless a
a = $conf.get("templates.#{voice_template}") if voice_template and not a.nil?

unless a
if a.nil?
help_key = key
help_key = help_key.gsub(/^(extract\.)(\d+)(.*)$/) {"#{$1}0#{$3}"}
a = $conf.get(help_key)
end
puts help_key

a
end
Expand Down Expand Up @@ -223,6 +224,10 @@ def self.to_value(key, string)
string[:id]
end

def self.to_template(key)

end

def self.to_neutral
$log.error("BUG: this should not happen Neutral RestPosition #{__FILE__} #{__LINE__}")
end
Expand Down
9 changes: 7 additions & 2 deletions 30_sources/SRC_Zupfnoter/src/controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -598,16 +598,21 @@ def layout_harpnotes(print_variant = 0, page_format='A4')
$conf.reset_to(1) # todo: verify this: reset in case we had errors in previous runs
$conf.push(config) # in case of error, we hav the ensure close below

# prepare extract menu
printed_extracts = $conf['produce']
@extracts = $conf.get('extract').inject([]) do |r, entry|
r.push([entry.first, entry.last[:title]])
extract_number = entry.last.dig(:notes, :T01_number_extract, :text)
print = (printed_extracts.include?(entry.first.to_i) ? '* ' : ' ')
title = %Q{#{print}#{extract_number} #{entry.last[:title]} }
r.push([entry.first, title])
end

call_consumers(:extracts)
begin

$log.benchmark("validate default conf") do
@validation_errors = []
@validation_errors = @json_validator.validate_conf($conf) if $log.loglevel == :debug
@validation_errors = @json_validator.validate_conf($conf) if ($log.loglevel == :debug || $settings[:validate] == :true)
end

load_music_model
Expand Down
Loading

0 comments on commit e5b0555

Please sign in to comment.