2025-11-26 * Revision: 121 - loop over all <staff-details> if more than one such element are present - do not output transpose= for a TAB voice in ABC, because the notes are already transposed. - try to repair empty measures by inserting a rest with duration of a full measure. A full measure rest Z does not work with M:none 2025-11-18 * Revision: 120 - create separate repositories for the web app (xml2abc_js.html) and the javascript version of xml2abc (xml2abc.js) - update compile script 2025-11-17 * Revision: 119 - only include xml2abc.js in the zip-distribution The web app needs a separate distribution (xml2abc-js.html, xmlplay_los.js) in xmlplay_los: - set opt.sf2url1 and opt.sf2url2 in to fixed locations These locations are only valid for the web app that xmlplay_los.js was made for - remove the parameter sf2url_p start_markeer 2025-11-14 * Revision: 118 - do not display acciaccatura in tablature 2025-10-29 * Revision: 117 - ABCoutput.clefs is a Map object to keep the same voice order as the python version - staff_keys sorted properly (number order i/o string order) 2025-10-28 * Revision: 116 - also translate slurs when they start or end in a grace sequence * Revision: 115 - translate note types of grace notes - for grace notes map types to abc durations respecting the fixed unit length that is used by acb2svg: L=1/8 for single grace notes, L=1/16 for multiple grace notes 2025-10-23 * Revision: 114 - add function append to Dollar class (dollar.js and dollarDom.js) - same changes as in xml2abc.py revision 170, now translated to javascript - more finegrained code to handle the creation of DOM elements needed for empty staves, compared to what was needed with ElementTree in Python. 2025-10-12 * Revision: 113 xml2abc.js: - added translation of sound/instrument-change/score-instrument as used by musescore dollarDom.js: - set ownerDocument for new elements if possible. - use setAttribute in stead of assigning to the attributes property - added three new test files 2025-06-16 * Revision: 112 - updated compile script - added dollarDom.js (jquery replacement) 2025-04-20 * Revision: 111 - better rebeam (for 5/8 and 7/8) - new option: --nbr, do not use broken rhythms in ABC code generation - bug rebeam: for a beam both current and previous note need to have a duration < 1/4 - update regression comparison with general option capability 2025-04-15 * Revision: 110 - bug: place initial key in the header if transposition/chromatic is a multiple of 12. Otherwise, if chromatic transposition is different from a multiple of 12, place the key in the current voice only and not in the header. 2025-04-13 * Revision: 109 - bug: also scan key-accidentals to determine the tuning - include abc2xml in the search for software identification 2025-04-10 * Revision: 108 - new option "rbm" to re-beam all measures - clean up: use a new measure data object for each measure and keep a reference in array maatRecs 2025-04-06 * Revision: 107 - For the burak encoder the absence of an accidemtal element seems to signal a natural accidental when the particular pitch is altered in the key. (except for grace notes that always seem to follow the key). This change is provisional. 2025-03-14 * Revision: 106 xml2abc-js.html: - squashed some bugs - new command line option --fin to set the microtonal accidental rules (0,1,2,3) - select element in the option window to select the microtonal accidental rules - idem for temperament rules - remove default part name (MusicXML Part) from ABC code xml2abc.js: - added auto value (-1) to --fin and remover --nofin - renamed edomix to edomap and reused edomix for fractional edo36 values - new option --temp (0=auto choice edo: 12, 36 or 53, 1=force edo53 and map edo36, 2=use fractional edo36 values when mixing edo 53 and 36 - only autodetect encoder when microtonal accidentals present --fin=3 always show accidentals and ignore pitch-alter (finale) --fin=2 use musescore rules for accidentals (musescore) --fin=1 same as 2 but always use current alteration when no pitch-alter (burak) --fin=0 same as 2 but also honor microtonal pitch-alter values --fin=-1 automatic detection of encoder if finale or burak, otherwise musescore 2025-03-09 * Revision: 105 xml2abc.js: - option --fin, when set pitch-alterations are ignored for microtonal accidentals This seems to be the logic presently followed by finale and musescore - auto-detect musescore/finale and set --fin if detected - option --nofin disables auto-detection xml2abc-js.html: -changed height of the flat-up glyph -added options no36, fin and nofin -added some more title tooltips 2025-03-06 * Revision: 104 - when a tune uses %%MIDI temperamentequal 36, replace ^3 by ^ and _3 by _ (because 3*12/36 == 1) 2025-02-17 * Revision: 103 - add make-shift accidental symbols for edo36 (up/down variants) - accept floating alter if +/-1.0, 0.0 or +/-0.5 - do not add natural (converted from alter) if no current alteration (or key alteration) -- changes in test functions: - add option handling to xml2abc_cli_dollar.js - single bar output in xml2abc_regres_dollar.js and dopy3.bash 2025-02-16 * Revision: 102 - remove unused local definition of acc2alt (in nt2Abc - change internal representation of accidentals to the corresponding MusicXML textstings. (mapping double-flat to flat-flat and the same for sharp) - recognize Edo36 accidentals (natural-up, sharp-down etc.) and translate them to _4, _3, ... ^3, ^4 (flat-down, flat, .. sharp, sharp-up) - new option "no36" to map Edo36 accidentals to Edo53: most up/down variants are mapped to quarter-sharp and quarter-flat - new functions acc2abc and alt2acc to support the new internal representation of accidentals